RequirementsEngineering
Indri Sudanawati Rozas
Juni 2012
Activities?
Feasibilitystudy
Requirementselicitation and
analysisRequirementsspecification
Requirementsvalidation
Feasibilityreport
Systemmodels
User and systemrequirements
Requirementsdocument
Requirements Management
Success Starts
with
Requirements Management
Software Crisis
• CHAOS report indicates only a distinct minority of software projects is completed on time and under budget– Successful projects are only 16.2%– Challenged projects accounted for
52.7%– Impaired projects accounted for 31.1%
Causes of Software Crisis
• Failures attributed to poor requirements management– Incorrect definition of requirements– Poor management throughout
development lifecycle
Solution to Software Crisis
• Effective requirements management! – The factor most related to successful
projects– Ensures right problem is solved– Ensures right system is built
Requirements Management
• A systematic approach to– Eliciting– Organizing– Documenting– And managing the changing requirements of a software project
• Not a new concept!
Rational Approach to Requirements Management
• Rational provides complete solution to requirements management– Rational Unified Process(RUP)
• Recommends specific requirements management skills
• Provides specific guidelines to effectively implement skills
– Tools to automate these skills • RequisitePro, Rose, ClearCase
Requirements Management Skills
• Six essential management skills:– Analyze the problem.– Understand the user needs.– Define the system.– Manage the scope of the system.– Refine the system definition– Manage the changing requirements
Requirements Management in RUP
• Requirements management skills implemented in the requirements core-workflow
• Considered workflows
Analyze the Problem
• Purpose is to:– Gain an agreement on system features and
goals– Develop Vision document for the project
• The key artifacts produced in the workflow:– Vision document– Requirement management plan for the
project– Glossary
Understand the User Needs
• Purpose is to:– Collect information from the various
stakeholders of the project– Use different elicitation techniques to
elicit requests
Understand the User Needs
• The key artifacts produced in the workflow:– Refined vision document– Initial Use case model– Supplementary specifications– Refined glossary
Define the System
• Purpose is to:– Ensure that all project team members
understand the system– Perform high-level analysis on the results
collected in previous workflows– Formally document results
Define the System
• The key artifacts produced in the workflow:– Refined vision document– Refined use case model– Refined Supplementary specifications– Refined glossary
Manage the Scope of the System
• Purpose is to:– Define the set of requirements to be
included in this version of the system– Define a set of architecturally-significant
features and uses cases– Define attributes and traceability to help
prioritize requirements
Manage the Scope of the System
• The key artifacts produced in the workflow:– Iteration plan– Refined vision document– Refined glossary
Refine the System
• Purpose is to:– Provide a more in-depth understanding
of the system’s features – Provide detailed descriptions of use
cases– Model and prototype user interfaces
Refine the System
• The key artifacts produced in the workflow:– User-interface prototype– Detailed use case model– Revised iteration plan– Refined vision– Refined glossary
Manage Changing Requirements
• Purpose is to:– Control and manage change– Set up appropriate requirements
attributes and traceabilities
Tool Support - RequisitePro
• Easy to use requirements management tool
• Leverages the power of database with the freedom of Word
• Multi-user support• Provides distributed access to projects via
its Web interface• Provides document templates and
capability to import existing documents
RequisitePro Manages Requirements
• Define System – templates, import capability, requirement and document types
• Manage scope – Traceability matrix and tree, attribute types
• Manage change – Suspect links, group discussions, revision history
Why Manage Requirements?
• Meeting the project’s requirements defines success!
Why Rational Approach?
• Rational provides a more disciplined approach to requirements management.– Does not only tell organizations what to
do, provides assistance on how to do it
• Rational dedicated the last few years to requirements management
References
• 1. Davis, Alan, Leffingwell, Dean. Using Requirements Management to Speed Delivery of Higher Quality Applications. Rational Web Site. On-line at http://www.rational.com/products/whitepapers.
• 2. Kruchten, Philippe. The Rational Unified Process: An Introduction, Second Edition. Reading MA: Addison Wesley Longman, October 2000, pp.155-169.
• 3. Leffingwell, Dean. A Field Guide to Effective Requirements Management under SEI’s Capability Maturity Model. Rational Web Site. On-line at http://www.rational.com/products/whitepapers.
References
• 4. Leffingwell, Dean. Managing Software Requirements: A Unified Approach. Reading MA: Addison Wesley Longman, November 2000.
• 5. Oberg, Roger. Applying Requirements with Use Cases. Rational Web Site. On-line at http://www.rational.com/products/whitepapers.
• 6. Parackel, Thomas. Managing Requirements in a Development Cycle. IWD Web Site. On-line at http://www.indiawebdevelopers.com/articles.
• 7. Rational RequisitePro. Rational Web Site. On-line at http://www.rational.com/products/reqpro.
• 8. Royce, Walker. Software Project Management: A Unified Framework. Reading MA: Addison Wesley Longman, December 1999, pp.118-124.