CSE 403 Lecture 9 Risk assessment. Is software different? Submit a one sentence answer.
CSE 403, Software Engineering Lecture 3 Requirements.
-
Upload
clifton-hutchinson -
Category
Documents
-
view
227 -
download
0
Transcript of CSE 403, Software Engineering Lecture 3 Requirements.
![Page 1: CSE 403, Software Engineering Lecture 3 Requirements.](https://reader035.fdocuments.us/reader035/viewer/2022072110/5697bffa1a28abf838cc067a/html5/thumbnails/1.jpg)
CSE 403, Software EngineeringLecture 3
Requirements
![Page 2: CSE 403, Software Engineering Lecture 3 Requirements.](https://reader035.fdocuments.us/reader035/viewer/2022072110/5697bffa1a28abf838cc067a/html5/thumbnails/2.jpg)
Project
Background study of student note taking What do students do with lecture
notes? Develop use cases Get up to speed on dev
environment Write a few throw away apps
![Page 3: CSE 403, Software Engineering Lecture 3 Requirements.](https://reader035.fdocuments.us/reader035/viewer/2022072110/5697bffa1a28abf838cc067a/html5/thumbnails/3.jpg)
High level goal
Make sure the right system is built Totally bogus statistic (but still
"true") It costs 57.3 times as much to fix an
error at development time than at specification time
![Page 4: CSE 403, Software Engineering Lecture 3 Requirements.](https://reader035.fdocuments.us/reader035/viewer/2022072110/5697bffa1a28abf838cc067a/html5/thumbnails/4.jpg)
Trade off curve
Percent effort devoted to requirements
Project success
![Page 5: CSE 403, Software Engineering Lecture 3 Requirements.](https://reader035.fdocuments.us/reader035/viewer/2022072110/5697bffa1a28abf838cc067a/html5/thumbnails/5.jpg)
Role of requirements
Requirement development phase Use of requirements in project
Before requirements sign off
After requirements sign off
![Page 6: CSE 403, Software Engineering Lecture 3 Requirements.](https://reader035.fdocuments.us/reader035/viewer/2022072110/5697bffa1a28abf838cc067a/html5/thumbnails/6.jpg)
Documentation
"A key concept is that requirements must be documented"
"It's not a requirement until its written down"
Obvious – but not always followed
![Page 7: CSE 403, Software Engineering Lecture 3 Requirements.](https://reader035.fdocuments.us/reader035/viewer/2022072110/5697bffa1a28abf838cc067a/html5/thumbnails/7.jpg)
Requirement types
Business case requirements
User requirements
Functional requirements
![Page 8: CSE 403, Software Engineering Lecture 3 Requirements.](https://reader035.fdocuments.us/reader035/viewer/2022072110/5697bffa1a28abf838cc067a/html5/thumbnails/8.jpg)
Business case requirements
"We need a payroll system" "Build an on-line admissions system
integrated with the student database "
"Add a speech UI to MS Word" "Develop a student note
management application to work with ConferenceXP Presenter"
![Page 9: CSE 403, Software Engineering Lecture 3 Requirements.](https://reader035.fdocuments.us/reader035/viewer/2022072110/5697bffa1a28abf838cc067a/html5/thumbnails/9.jpg)
User requirements Requirements from the user's point
of view Expressed in the user's language Based on understanding of user's
application Does not define implementation Issue: defining user in mass
market software
![Page 10: CSE 403, Software Engineering Lecture 3 Requirements.](https://reader035.fdocuments.us/reader035/viewer/2022072110/5697bffa1a28abf838cc067a/html5/thumbnails/10.jpg)
Methods for expressing requirements Specification lists Data-flow diagrams Entity-relationship diagrams Prototypes Mock ups Use cases Scenarios Personas
![Page 11: CSE 403, Software Engineering Lecture 3 Requirements.](https://reader035.fdocuments.us/reader035/viewer/2022072110/5697bffa1a28abf838cc067a/html5/thumbnails/11.jpg)
Challenges of requirements gathering (Kulak, Guiney)
Finding out what users need Documenting users' needs Avoiding premature design
assumptions Resolving conflicting requirements Eliminating redundant requirements Reducing overwhelming volume Traceability
![Page 12: CSE 403, Software Engineering Lecture 3 Requirements.](https://reader035.fdocuments.us/reader035/viewer/2022072110/5697bffa1a28abf838cc067a/html5/thumbnails/12.jpg)
Use case methodology A use case describes a sequence
of interactions between a system and an external actor that results in the actor accomplishing a task that provides benefit to someone.
Buzzwords User-centric Task-centric
![Page 13: CSE 403, Software Engineering Lecture 3 Requirements.](https://reader035.fdocuments.us/reader035/viewer/2022072110/5697bffa1a28abf838cc067a/html5/thumbnails/13.jpg)
Scenarios
A single path through a use case Presenter
Lecture delivery use case Slide lecture scenario Whiteboard lecture scenario
![Page 14: CSE 403, Software Engineering Lecture 3 Requirements.](https://reader035.fdocuments.us/reader035/viewer/2022072110/5697bffa1a28abf838cc067a/html5/thumbnails/14.jpg)
Use case
Overview of interactions Text details Example
Authenticate User Actors: User, Unauthorized user Summary: Users request entry to the
system, valid credentials allow access
![Page 15: CSE 403, Software Engineering Lecture 3 Requirements.](https://reader035.fdocuments.us/reader035/viewer/2022072110/5697bffa1a28abf838cc067a/html5/thumbnails/15.jpg)
Use case traps to avoid Too many use cases
Each use case should tell a story about a way a user would interact with the system to a achieve a particular goal
Duplication across cases Including UI Design or data
definitions Attempting to associate every
requirement with a use case
![Page 16: CSE 403, Software Engineering Lecture 3 Requirements.](https://reader035.fdocuments.us/reader035/viewer/2022072110/5697bffa1a28abf838cc067a/html5/thumbnails/16.jpg)
Restaurant Reservation System
Support assignment of patrons to tables
Customer Restaurant in a large chain Willing to invest resources for a
system that could be deployed widely
![Page 17: CSE 403, Software Engineering Lecture 3 Requirements.](https://reader035.fdocuments.us/reader035/viewer/2022072110/5697bffa1a28abf838cc067a/html5/thumbnails/17.jpg)
Develop use cases for reservation system
What are the use cases?
![Page 18: CSE 403, Software Engineering Lecture 3 Requirements.](https://reader035.fdocuments.us/reader035/viewer/2022072110/5697bffa1a28abf838cc067a/html5/thumbnails/18.jpg)
Candidate use cases
Customer makes remote reservation
Customer arrives at restaurant Staff seats customer Staff updates seating chart