1 / 18

CSE 403, Software Engineering Lecture 3

CSE 403, Software Engineering Lecture 3. Requirements. 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. High level goal. Make sure the right system is built

mablel
Download Presentation

CSE 403, Software Engineering Lecture 3

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. CSE 403, Software EngineeringLecture 3 Requirements

  2. 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

  3. 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

  4. Trade off curve Project success Percent effort devoted to requirements

  5. Role of requirements • Requirement development phase • Use of requirements in project • Before requirements sign off • After requirements sign off

  6. Documentation • "A key concept is that requirements must be documented" • "It's not a requirement until its written down" • Obvious – but not always followed

  7. Requirement types • Business case requirements • User requirements • Functional requirements

  8. 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"

  9. 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

  10. Methods for expressing requirements • Specification lists • Data-flow diagrams • Entity-relationship diagrams • Prototypes • Mock ups • Use cases • Scenarios • Personas

  11. 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

  12. 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

  13. Scenarios • A single path through a use case • Presenter • Lecture delivery use case • Slide lecture scenario • Whiteboard lecture scenario

  14. 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

  15. 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

  16. 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

  17. Develop use cases for reservation system • What are the use cases?

  18. Candidate use cases • Customer makes remote reservation • Customer arrives at restaurant • Staff seats customer • Staff updates seating chart

More Related