sidebar 4.1 why are requirements important?
DESCRIPTION
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 - PowerPoint PPT PresentationTRANSCRIPT
Pfleeger and Atlee, Software Engineering: Theory and Practice
Page 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 Practice
Page 4.2© 2006 Pearson/Prentice Hall
The Requirements Process
• Outcome – Software Requirements Specification (SRS)
Pfleeger and Atlee, Software Engineering: Theory and Practice
Page 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 Practice
Page 4.4© 2006 Pearson/Prentice Hall
Entity-Relationship Diagram for turnstile problem
Pfleeger and Atlee, Software Engineering: Theory and Practice
Page 4.5© 2006 Pearson/Prentice Hall
UML Class Diagram for Library Problem
Pfleeger and Atlee, Software Engineering: Theory and Practice
Page 4.6© 2006 Pearson/Prentice Hall
Message Sequence Chart for library load
Pfleeger and Atlee, Software Engineering: Theory and Practice
Page 4.7© 2006 Pearson/Prentice Hall
State Machines for Turnstile Problem
Pfleeger and Atlee, Software Engineering: Theory and Practice
Page 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 Practice
Page 4.9© 2006 Pearson/Prentice Hall
Prototyping Example
• First a workable simple Interface for entering a date
Pfleeger and Atlee, Software Engineering: Theory and Practice
Page 4.10© 2006 Pearson/Prentice Hall
Prototyping Example
• A more interesting and sophisticated interface
Pfleeger and Atlee, Software Engineering: Theory and Practice
Page 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 Practice
Page 4.12© 2006 Pearson/Prentice Hall
Techniques to validate requirements
Validation Walkthroughs
Reading
Interviews
Reviews
Checklists
Models to check functions and
relationships
Scenarios
Prototypes
Simulation
Formal inspections
Verification
Checking
Cross- referencing
Simulation
Consistency checks
Completeness checks
Check for unreachable states or
transitions
Model checking
Mathematical proofs