90 likes | 235 Views
Requirements Engineering. http:// en.wikipedia.org /wiki/ Requirements_analysis. Stakeholders. Anyone who: interacts with the system benefits from the system purchases the system Regulators (financial, safety etc.) Anyone opposed to building the system
E N D
Requirements Engineering http://en.wikipedia.org/wiki/Requirements_analysis
Stakeholders • Anyone who: • interacts with the system • benefits from the system • purchases the system • Regulators (financial, safety etc.) • Anyone opposed to building the system • Anyone who interfaces with the system • Organizations that integrate with the system
Requirement analysis • Stakeholder interviews • Joint requirements development sessions • Contract-style requirement lists (strengths, weaknesses) • User stories (agile development) • Measurable goals (goal modeling) • Prototypes • Use cases
Software requirements specification • http://en.wikipedia.org/wiki/Software_Requirements_Specification • A complete description of the behavior of a system to be developed • It may include: • Use cases • Non-functional requirements (performance constraints, quality standards, design constraints)
Software Requirements Specification (SRS) example • Introduction • Overall description • Interfaces • Constraints (e.g. memory, disk) • Specific requirements • Functional and performance requirements • Design constraints (e.g. standards compliance) • System attributes (reliability, availabilty, security, maintainability, portability)
Requirements analysis issues • Misunderstandings between stakeholders and developers • Stakeholder issues • Engineer/developer issues • Attempted solutions • Prototyping • Increase communication • Application simulation
Types of Requirements: Customer requirements • Where will be used? • How it will accomplish its mission? • How are its components used? • How effective / efficient it is? • How long it will be used? • In what environments it is expected to operate?
Other types of requirements • Architectural • Structural • Behavioral • Functional: http://en.wikipedia.org/wiki/Functional_requirement • Non-functional: http://en.wikipedia.org/wiki/Non-functional_requirement • Performance • Design • Derived/Allocated
Verification and validation w.r.t requirements • Validation: the process of checking that a software system satisfies its specified requirements and that it achieves its intended goals • Verification: whether the results of a given development phase satisfy the requirements • Validation: Are we building the right product? • Verification: Are we building the product right?