click below
click below
Normal Size Small Size show me how
6) Requirements
Large System Development
Question | Answer |
---|---|
Large System Characteristics | Many developers ! Geographical distances ! Different time zones ! Different cultures ! Different languages ! Different technical skills ! Organizational challenges ! Sharing source texts ! Frequent deliveries Case: ! several subsystems: |
Object Constraint Language | is a declarative language for describing rules that apply to Unified Modeling Language (UML) models developed at IBM and now part of the UML standard. |
Agile highest priority | Our highest priority is to satisfy the customer through early and continuous delivery of valuable software. |
Agile emphasizes | Individuals and interactions over processes and tools Working software over comprehensive documentation Customer collaboration over contract negotiation Responding to change over following a plan |
BPR | Business process reengineering (BPR) is the analysis and redesign of workflows within and between enterprises in order to optimize end-to-end processes and automate non-value-added tasks. |
Requirements Elicitation vs. Analysis | Requirement elicitation creates documents understandable for users/clients ◦ Natural language Analysis creates documents understandable for developers ◦ Formalized language |
Requirement elicitation qualities | Realistic ◦ Can it be implemented ! Verifiable ◦ Can we test that the requirements have been fulfilled ! Traceable – both ways ◦ From requirement to implementation ◦ From implementation to requirement |
Activities of Requirements Elicitation | Identify actors ! Identify scenarios (as-is and to-be) ! Identify Use Cases ! Refine Use Cases ! Identify Initial Analysis Objects ! Identify Non-functional requirements |
JAD (Joint Application Design) | ! Goal: Mutually accepted solution ! Participants: User, Client, Developer ! JAD facilitator |
Tracebility | ! Where does the requirement come from? ◦ Backward traceability ! Where is the requirement implemented in the system? ◦ Forward traceability ◦ If I change this requirement then what else should be changed |
RAD | The Requirement Analysis Document 1) Introduction 2) Current System 3) Proposed System 4) Glossary |
Software Lifecycle Activities | 1) Requirements Elicitation 2) Analysis 3) System Design 4) Object Design 5) Implementation 6) Test |
Techniques to Requirements Elicitation | 1) Questionnaires 2) Task Analysis 3) Scenarios 4) Use Cases |
Scenario Based Design | ! Focuses on concrete descriptions and particular instances, not abstract generic ideas ! It is work driven not technology driven ! It is open-ended, it does not try to be complete ! It is informal |
Types of Scenarios | 1) As-is scenario 2) Visionary scenario 3) Evaluation scenario 4) Training scenario |
Heuristics for finding scenarios | ◦ primary tasks that the system needs to perform? ◦ What will the actor create, store, change, remove or add in the system? ◦ What external changes does the system need to know about? ◦ What changes actor of the system need to be informed about? |
Types of Requirements | 1) Functional 2) Non-functional 3) Constrains |
Non-Functional Requirements | Usability Reliability Robustness Safety Performance Response time Scalability Throughput Availability Supportability Adaptability Maintainability |
Requirements Validation | 1) Correctness 2) Completeness 3) Consistency 4) Clarity 5) Realism 6) Traceability |
Tools for Requirements Management | 1) DOORS 2) RequisitePro 3) RD-Link 4) Unicase |
Different Types of Requirements Elicitation | 1) Greenfield Engineering 2) Re-engineering 3) Interface Engineering |