cs 4310: software engineering lecture 3 requirements and design
TRANSCRIPT
![Page 1: CS 4310: Software Engineering Lecture 3 Requirements and Design](https://reader036.vdocuments.mx/reader036/viewer/2022070407/56649e205503460f94b0b76d/html5/thumbnails/1.jpg)
CS 4310: Software Engineering
Lecture 3
Requirements and Design
![Page 2: CS 4310: Software Engineering Lecture 3 Requirements and Design](https://reader036.vdocuments.mx/reader036/viewer/2022070407/56649e205503460f94b0b76d/html5/thumbnails/2.jpg)
2
Requirements and design
In principle, requirements should state what the system should do and the design should describe how it does this.
In practice, requirements and design are inseparable
![Page 3: CS 4310: Software Engineering Lecture 3 Requirements and Design](https://reader036.vdocuments.mx/reader036/viewer/2022070407/56649e205503460f94b0b76d/html5/thumbnails/3.jpg)
3
The Requirements Document
The requirements document is the official statement of what is required of the system developers Should include both a definition and a specification of requirements It is NOT a design document. As far as possible, it should set of WHAT the system should do rather than HOW it should do it
![Page 4: CS 4310: Software Engineering Lecture 3 Requirements and Design](https://reader036.vdocuments.mx/reader036/viewer/2022070407/56649e205503460f94b0b76d/html5/thumbnails/4.jpg)
4
The IEEE Standard
3. Specific requirements 3.1 User Requirements 3.2 System Architecture 3.3 System Requirements4. Legal, Copyright and
Other Notices
5. System Evolution
6. Supporting info.Appendix A, ..
1. Introduction 1.1. Purpose 1.2. Scope 1.3. Definitions, acronyms 1.4. References 1.5. Overview2. Overall description 2.1. Product perspective 2.2. Product functions 2.3. User characteristics
![Page 5: CS 4310: Software Engineering Lecture 3 Requirements and Design](https://reader036.vdocuments.mx/reader036/viewer/2022070407/56649e205503460f94b0b76d/html5/thumbnails/5.jpg)
5
Types of Requirements
Requirements set out what the system should do and define constraints on its operation and implementation
Functional requirements set out services the system should provide. These are mandatory for system functionality.
Non-functional requirements constrain the system being developed and specifies non-functional characteristics.
User requirements are high-level statements of what the system should do
![Page 6: CS 4310: Software Engineering Lecture 3 Requirements and Design](https://reader036.vdocuments.mx/reader036/viewer/2022070407/56649e205503460f94b0b76d/html5/thumbnails/6.jpg)
6
The Design Document
• The Requirements Document states WHAT the system should do.
• The Design Document states HOW the system should do this.
![Page 7: CS 4310: Software Engineering Lecture 3 Requirements and Design](https://reader036.vdocuments.mx/reader036/viewer/2022070407/56649e205503460f94b0b76d/html5/thumbnails/7.jpg)
7
Stages in Design Analysis
Example: University Admissions System
• Applicants
• University administrationAdmissions office and Financial aid officeSpecial offices (e.g., athletics, development)
• Computing staffOperationsSoftware development and maintenance
• Academic departments
![Page 8: CS 4310: Software Engineering Lecture 3 Requirements and Design](https://reader036.vdocuments.mx/reader036/viewer/2022070407/56649e205503460f94b0b76d/html5/thumbnails/8.jpg)
8
Start with Requirements
Step 1: Organize the requirements:
• Gather a list of requirements and create a Requirements Document.
Step 2: Perform design analysis:
• Take the Requirements Document and perform Design Analysis in order to create the Analysis and Design Documentation.
![Page 9: CS 4310: Software Engineering Lecture 3 Requirements and Design](https://reader036.vdocuments.mx/reader036/viewer/2022070407/56649e205503460f94b0b76d/html5/thumbnails/9.jpg)
9
Begin Design Analysis
Design Analysis Models the requirements:
Common modeling techniques are:
• Procedural models
• Data-centric models
• Object-Oriented models
• Formal models
![Page 10: CS 4310: Software Engineering Lecture 3 Requirements and Design](https://reader036.vdocuments.mx/reader036/viewer/2022070407/56649e205503460f94b0b76d/html5/thumbnails/10.jpg)
10
Procedural Models Example- Flowchart -
Operation
Decision
Manual operation
Report
![Page 11: CS 4310: Software Engineering Lecture 3 Requirements and Design](https://reader036.vdocuments.mx/reader036/viewer/2022070407/56649e205503460f94b0b76d/html5/thumbnails/11.jpg)
11
Flowchart Example:A University Admissions System
Form received New?
Database record
T
Notify student
F Update database
Complete?
Notify student
T
FEvaluate
![Page 12: CS 4310: Software Engineering Lecture 3 Requirements and Design](https://reader036.vdocuments.mx/reader036/viewer/2022070407/56649e205503460f94b0b76d/html5/thumbnails/12.jpg)
12
Procedural Model Example:- Pseudo-code -
Example Pseudo Code:
check_plan (report)
if report (date_time) > due_date_time then error (too_late) if report (client) = none then error (no_client) if report (team) < min_team or > max_team then error (bad_team) if error() = none then comments = read_report (report) return (comments (text), comments (grade)) else return error()
![Page 13: CS 4310: Software Engineering Lecture 3 Requirements and Design](https://reader036.vdocuments.mx/reader036/viewer/2022070407/56649e205503460f94b0b76d/html5/thumbnails/13.jpg)
13
Procedural Model Example:- Data-Flow Models -
External entities
Processing steps
Data stores or sources
Data flows
![Page 14: CS 4310: Software Engineering Lecture 3 Requirements and Design](https://reader036.vdocuments.mx/reader036/viewer/2022070407/56649e205503460f94b0b76d/html5/thumbnails/14.jpg)
14
Example Data Flow Diagram: University Admissions
Applicant
Applicationform Receive
application
Completedapplication
Evaluate
Rejection
Offer
![Page 15: CS 4310: Software Engineering Lecture 3 Requirements and Design](https://reader036.vdocuments.mx/reader036/viewer/2022070407/56649e205503460f94b0b76d/html5/thumbnails/15.jpg)
15
Example 2: University AdmissionsAssemble Application Stage
Applicant
Applicationform
Receive
Completedapplication
Supportinginformation
Pendingdatabase
Acknowledgment
Initiateevaluation
Applicantdatabase
Evaluationrequest
AND
AND
Acknowledgment
![Page 16: CS 4310: Software Engineering Lecture 3 Requirements and Design](https://reader036.vdocuments.mx/reader036/viewer/2022070407/56649e205503460f94b0b76d/html5/thumbnails/16.jpg)
16
Example 2: University AdmissionsProcess Completed Application Stage
Rejection
Evaluation
Applicantdatabase
Evaluationrequest Acceptance Financial
aid
Offer
Specialrequest
![Page 17: CS 4310: Software Engineering Lecture 3 Requirements and Design](https://reader036.vdocuments.mx/reader036/viewer/2022070407/56649e205503460f94b0b76d/html5/thumbnails/17.jpg)
17
Requirements Analysis v. System Design
• Requirements analysis should make minimal assumptions about the system design.
• But the requirements definition must be consistent with computing technology and the resources available.
In practice, analysis and design are interwoven.
![Page 18: CS 4310: Software Engineering Lecture 3 Requirements and Design](https://reader036.vdocuments.mx/reader036/viewer/2022070407/56649e205503460f94b0b76d/html5/thumbnails/18.jpg)
18
Requirements & DesignScenario Planning
• Create Scenarios which are descriptions of how a system is used in practice
• Scenarios are helpful in requirements elicitation as people can relate to these more readily than abstract statement of what they require from a system
• Scenarios are particularly useful for adding detail to an outline requirements description
![Page 19: CS 4310: Software Engineering Lecture 3 Requirements and Design](https://reader036.vdocuments.mx/reader036/viewer/2022070407/56649e205503460f94b0b76d/html5/thumbnails/19.jpg)
19
Scenario Example: ATM System
Validate user
Request PIN
Selectservice
Timeout
Return card
Invalid card
Return card
Stolen card
Retain card
Incorrect PIN
Re-enter PIN
Incorrect PIN
Return card
Card
PIN
Card present
Accountnumber
PIN
Accountnumber
Valid card
User OK
![Page 20: CS 4310: Software Engineering Lecture 3 Requirements and Design](https://reader036.vdocuments.mx/reader036/viewer/2022070407/56649e205503460f94b0b76d/html5/thumbnails/20.jpg)
20
Introduction to Use Cases
Use-cases are a scenario based technique in UML (Unified Modelling Language) which identify the actors in an interaction and which describe the interaction itself
A set of use cases should describe all possible interactions with the system
Sequence diagrams may be used to add detail to use-cases by showing the sequence of event processing in the system
![Page 21: CS 4310: Software Engineering Lecture 3 Requirements and Design](https://reader036.vdocuments.mx/reader036/viewer/2022070407/56649e205503460f94b0b76d/html5/thumbnails/21.jpg)
21
A Library System: Use-Cases
Lending services
User administration
Supplier Catalog services
LibraryUser
LibraryStaff
![Page 22: CS 4310: Software Engineering Lecture 3 Requirements and Design](https://reader036.vdocuments.mx/reader036/viewer/2022070407/56649e205503460f94b0b76d/html5/thumbnails/22.jpg)
22
Catalogue Management: Use Cases
Bookshop:Supplier
Cataloguer:Library Staff
Item:Library Item
Books:Catalog
Acquire New
Catalog Item
Uncatalog Item
Dispose
![Page 23: CS 4310: Software Engineering Lecture 3 Requirements and Design](https://reader036.vdocuments.mx/reader036/viewer/2022070407/56649e205503460f94b0b76d/html5/thumbnails/23.jpg)
23
What’s after Requirements?System Development Stage
Next two project deliverables:
Analysis Document• Contains system models/diagrams/flow charts
Design Document• Contains the blue-print for the system design implementation.
![Page 24: CS 4310: Software Engineering Lecture 3 Requirements and Design](https://reader036.vdocuments.mx/reader036/viewer/2022070407/56649e205503460f94b0b76d/html5/thumbnails/24.jpg)
24
Project Work
• Develop a list of requirements for your system.
• Outline and/or think about system usage scenarios.
• Begin the process of system design analysis.