Pfleeger and Atlee, Software Engineering: Theory and PracticePage 4.1 © 2006 Pearson/Prentice Hall Sidebar 4.1 Why Are Requirements Important? Top factors that caused project to fail –Incomplete requirements –Lack of user involvement –Unrealistic expectations –Lack of executive support –Changing requirements and specifications –Lack of planning –System no longer needed Requirements error can be expensive if not detected early
Pfleeger and Atlee, Software Engineering: Theory and PracticePage 4.2 © 2006 Pearson/Prentice Hall The Requirements Process Outcome – Software Requirements Specification (SRS)
Pfleeger and Atlee, Software Engineering: Theory and PracticePage 4.3 © 2006 Pearson/Prentice Hall Stakeholders Clients: pay for the software to be developed Customers: buy the software after it is developed Users: use the system Domain experts: familiar with the problem that the software must automate Market Researchers: conduct surveys to determine future trends and potential customers Lawyers or auditors: familiar with government, safety, or legal requirements Software engineers or other technology experts
Pfleeger and Atlee, Software Engineering: Theory and PracticePage 4.4 © 2006 Pearson/Prentice Hall Entity-Relationship Diagram for turnstile problem
Pfleeger and Atlee, Software Engineering: Theory and PracticePage 4.5 © 2006 Pearson/Prentice Hall UML Class Diagram for Library Problem
Pfleeger and Atlee, Software Engineering: Theory and PracticePage 4.6 © 2006 Pearson/Prentice Hall Message Sequence Chart for library load
Pfleeger and Atlee, Software Engineering: Theory and PracticePage 4.7 © 2006 Pearson/Prentice Hall State Machines for Turnstile Problem
Pfleeger and Atlee, Software Engineering: Theory and PracticePage 4.8 © 2006 Pearson/Prentice Hall Use Cases Library use cases including borrowing a book, returning a borrowed book, and paying a library fine
Pfleeger and Atlee, Software Engineering: Theory and PracticePage 4.9 © 2006 Pearson/Prentice Hall Prototyping Example First a workable simple Interface for entering a date
Pfleeger and Atlee, Software Engineering: Theory and PracticePage 4.10 © 2006 Pearson/Prentice Hall Prototyping Example A more interesting and sophisticated interface
Pfleeger and Atlee, Software Engineering: Theory and PracticePage 4.11 © 2006 Pearson/Prentice Hall Prototyping Example Next version – user is presented with three slide bars –Pros and Cons?
Pfleeger and Atlee, Software Engineering: Theory and PracticePage 4.12 © 2006 Pearson/Prentice Hall Techniques to validate requirements