Requirements Analysis Lecture #3 David Andrews

Slides:



Advertisements
Similar presentations
TOPIC : SYNTHESIS DESIGN FLOW Module 4.3 Verilog Synthesis.
Advertisements

1 Software Processes A Software process is a set of activities and associated results which lead to the production of a software product. Activities Common.
Modeling the Process and Life Cycle CSCI 411 Advanced Database and Project Management Monday, February 2, 2015.
Software Process Models
Software Modeling SWE5441 Lecture 3 Eng. Mohammed Timraz
Software Engineering COMP 201
Unit 231 Software Engineering Introduction to SWE What is SDLC Phases of SDLC.
The Design Process Outline Goal Reading Design Domain Design Flow
TSS Architecture Definition Context. TSS Scoping Study Context Detailed Requirements Specification (products, functionality) High Level Architecture Description.
1 HW/SW Partitioning Embedded Systems Design. 2 Hardware/Software Codesign “Exploration of the system design space formed by combinations of hardware.
Fundamentals of Information Systems, Second Edition
1 Introduction to System Engineering G. Nacouzi ME 155B.
CS350/550 Software Engineering Lecture 1. Class Work The main part of the class is a practical software engineering project, in teams of 3-5 people There.
9 1 Chapter 9 Database Design Database Systems: Design, Implementation, and Management, Seventh Edition, Rob and Coronel.
Chapter 8: Introduction to High-level Language Programming Invitation to Computer Science, C++ Version, Third Edition.
SE 555 Software Requirements & Specification Requirements Analysis.
SDLC. Information Systems Development Terms SDLC - the development method used by most organizations today for large, complex systems Systems Analysts.
Design, Implementation and Maintenance
S/W Project Management
Systems Analysis And Design © Systems Analysis And Design © V. Rajaraman MODULE 14 CASE TOOLS Learning Units 14.1 CASE tools and their importance 14.2.
Lesson 7 Guide for Software Design Description (SDD)
1 Shawlands Academy Higher Computing Software Development Unit.
CMSC 345 Fall 2000 Unit Testing. The testing process.
Team Skill 6: Building the Right System From Use Cases to Implementation (25)
OHTO -99 SOFTWARE ENGINEERING LECTURE 5 Today: - An overview to OO Analysis and OO Design - Introduction of Assignment 2.
MAPLDDesign Integrity Concepts You Mean We’re Still Working On It? Sustaining a Design.
Installation and Maintenance of Health IT Systems
Requirements Engineering CSE-305 Requirements Engineering Process Tasks Lecture-5.
ASIC/FPGA design flow. FPGA Design Flow Detailed (RTL) Design Detailed (RTL) Design Ideas (Specifications) Design Ideas (Specifications) Device Programming.
CPSC 2150 August 21, Chapter 1 Object Oriented Software Development This is an introductory course In this chapter we will look at 3 topics Challenges.
Testing Basics of Testing Presented by: Vijay.C.G – Glister Tech.
1 The Software Development Process  Systems analysis  Systems design  Implementation  Testing  Documentation  Evaluation  Maintenance.
A New Method For Developing IBIS-AMI Models
FPGA-Based System Design: Chapter 6 Copyright  2004 Prentice Hall PTR Topics n Design methodologies.
Lecture 3 Software Engineering Models (Cont.)
Software Development Cycle What is Software? Instructions (computer programs) that when executed provide desired function and performance Data structures.
© 2012 xtUML.org Bill Chown – Mentor Graphics Model Driven Engineering.
Introduction CS 3358 Data Structures. What is Computer Science? Computer Science is the study of algorithms, including their  Formal and mathematical.
TESTING LEVELS Unit Testing Integration Testing System Testing Acceptance Testing.
Request for Proposal (RFP)
Fundamentals of Information Systems, Second Edition 1 Systems Development.
CS251 – Software Engineering Lecture 9: Software Design Slides by Mohammad El-Ramly, PhD
ECE450 - Software Engineering II1 ECE450 – Software Engineering II Today: Introduction to Software Architecture.
The Software Development Process
ECE398: The Design Review Fall What the Design Review is  Board meeting with engineers- (faculty, TA, classmates)  Structured discussion of your.
Requirement Engineering. Recap Elaboration Behavioral Modeling State Diagram Sequence Diagram Negotiation.
© 2006 Pearson Addison-Wesley. All rights reserved 2-1 Chapter 2 Principles of Programming & Software Engineering.
Architecture View Models A model is a complete, simplified description of a system from a particular perspective or viewpoint. There is no single view.
Software Engineering Lecture # 1.
CSC 480 Software Engineering Test Planning. Test Cases and Test Plans A test case is an explicit set of instructions designed to detect a particular class.
Requirements Engineering Processes. Syllabus l Definition of Requirement engineering process (REP) l Phases of Requirements Engineering Process: Requirements.
1)History of water fall model. 2)Features of water fall model. 3)Phase of water fall model. 4)Brief description of phases. 5)Advantages. 6)Disadvantages.
Requirements Analysis Lecture #3 David Andrews
1 The Software Development Process ► Systems analysis ► Systems design ► Implementation ► Testing ► Documentation ► Evaluation ► Maintenance.
Lecture VIII: Software Architecture
Silicon Programming--Testing1 Completing a successful project (introduction) Design for testability.
Software Development. The Software Life Cycle Encompasses all activities from initial analysis until obsolescence Analysis of problem or request Analysis.
Information Systems Development
Design and Documentation
Software Quality Engineering
Information Systems Development
Chapter 5 Designing the Architecture Shari L. Pfleeger Joanne M. Atlee
Software System Integration
Chapter 5: Software effort estimation
UNIT 5 EMBEDDED SYSTEM DEVELOPMENT
UNIT 5 EMBEDDED SYSTEM DEVELOPMENT
MANAGING THE DEVELOPMENT AND PURCHASE OF INFORMATION SYSTEMS
Stumpf and Teague Object-Oriented Systems Analysis and Design with UML
Chapter 11: Integration- and System Testing
Stumpf and Teague Object-Oriented Systems Analysis and Design with UML
Presentation transcript:

Requirements Analysis Lecture #3 David Andrews

What We Will Cover Today Typical Design Flow –Top Down Design Approach Understanding Requirements –Functional –Behavioral –Timing –Physical Perform Requirements Analysis on Specific Example –Taking Verbal Description and Generating Requirements

Overview of Top Down Design Requirements Assessment: What is it –Paper and pencil work/Negotiations with customer –Final requirements is your contract with customer, need to get it correct –Documentation: System Requirements Specification (SRS) Top Level Design: Where are you going to put it –Functional Descriptions/Block Diagrams –Hardware Software partitioning –Automated Tools available (will discuss later) –Documentation: Hardware/Software Top Level Design Documents (STLDD/HTLDD)

Overview of Top Down Design Detailed Design: How are you going to design it –Hardware Component selections, Fan Ins/Outs, simulations –Software Modules, Subroutines –Documentation: Hardware/Software Detailed Design Document (HDDD/SDDD) Integration and Test: Frustration –Before Modules Brought Together, Unit Test –Bring Modules Together. This is where the rubber hits the road –Testing Based on Pre-Defined Hardware/Software Test Plan (HTP/STP)

Top Down Philosophy Design Process is iterative, you make a stab at next lower level, then based on results, revisit upper level and adjust. Adjustments affect everyone, not just you This seems like work, why not just “go for it” –Need to know what you are designing first before designing it. –Much easier to get a warm and fuzzy that the big picture is correct –Most projects are group oriented, you need to interface with others –10:1 rule Each hour spent at the higher abstract level will save 10 hours at the next lower level. –Very expensive in Cost and Time to get to integration and test, and find that you make errors.

Requirements Analysis Requirements Assessment: What is it –Timing: How fast does your system need to be ? MIPS/FLOPS, turnaround times, input/output times etc –Sizing: Most Systems are size limited. Anyone can develop a supercomputer/flight controller etc if you have enough space. –Interfaces: Are you hooked up to sensors inputting data ? How is the world going to communicate with your system ? –Other Special Requirements (Radiation Hardened, etc) These can affect cost, size, performance etc. Customer may give you a laundry list that sometimes can be conflicting. You need to apply engineering expertise to give honest assessments. Customer may not really know all requirements, you again must help Most Contract bids are based on Requirements Analysis. You must have a good understanding of all requirements in order to propose a feasible system solution THIS IS YOUR CONTRACT, WHEN YOU IMPLEMENT ALL REQUIREMENTS YOU ARE DONE. IF THEY ARE NOT IMPLEMENTED, YOU ARE NOT

Top Level Design Top Level Design: Where are you going to put it –System Block Diagram –System Address Map –Debug Support –Derived Requirements –Subsystem Interfaces This is your Top Level Partitioning. Teams are assigned to implement modules defined here. IMPORTANT: Interfaces are defined. This allows teams to work independently and simultaneously. Derived requirements are targets for teams. They may not know or care about overall system. They just meet the derived requirements. Don’t miss debug support. This may not be discussed in requirements analysis, but is key for further design and implementation

Detailed Design Each Module in Top Level Design is further partitioned and designed. More derived requirements for each block in a module. Interfaces within module are defined, chips selected, actual signals/interconnections are defined. Functional Simulations are performed to guarantee the functionality of the Module. I.e., is the correct answer produced ? Are the algorithms correct ? Simulations of Hardware performed in structured fashion (More Later) with automated tools. Detailed Design is last chance to functionally knock out bugs before tedious implementation. Automated Tools are Helping in the Detailed Design

Implementation At this stage, the design should be proven correct. You want to implement the correct logic, etc. Circuit design based on Logic Family Board Layouts. Physical constraints such as size, weight, power must be met. This is the last step in the design process (before trying to make sense of what you designed). It took a long time to get here, but if done correctly, this is only a mechanical excersize.

Integration and Test Where the Rubber hits the road..... This step is usually underwhelmed in planning stage, and is overwhelming in actual work. Integration and Test can take as long or longer than the other design steps. Philosophy: Minimize the unknowns. Common approach of junior engineers is to “go for it”. Better to take tiny bites than choke on a big piece. Test Modules First, subsystems second, then two subsystems, then multiple tested subsystems etc. You must go back and retest other components when anything that affects it changes. The results of this is when you get paid

Summary Design Methods –Top Down –Bottom Up –Random Top Down Design Steps –System Requirements Specification What Document SRS –Top Level Design Where Document STLDD/HTLDD –Detailed Design How Document (Schematics, Code) –Integration and Test Selloff Document STP/HTP

Requirements Lets Take a Closer Look at Requirements