requirements, architecture and risks
DESCRIPTION
Requirements, Architecture and Risks. Vahid Jalali. Outline. Motivations Basis for the approach DDP Standard Revised KWIC DDP Matrixes Conclusion. Motivations. Architecture plays a prominent role in large, complex software systems - PowerPoint PPT PresentationTRANSCRIPT
1
REQUIREMENTS, ARCHITECTURE AND RISKSVahid Jalali
Amirkabir university of technology, Department of computer engineering and information technology, Intelligent systems laboratory, http://ceit.aut.ac.ir/islab, Requirement engineering course, Fall 2007
2
OUTLINE
Motivations Basis for the approach DDP
Standard Revised
KWIC DDP Matrixes Conclusion
Amirkabir university of technology, Department of computer engineering and information technology, Intelligent systems laboratory, http://ceit.aut.ac.ir/islab, Requirement engineering course, Fall 2007
3
MOTIVATIONS
Architecture plays a prominent role in large, complex software systems
Selection of an appropriate architecture is critically important development step
Software design for complex software system is difficult
Risk-based reasoning helps in making good architectural decisions
Amirkabir university of technology, Department of computer engineering and information technology, Intelligent systems laboratory, http://ceit.aut.ac.ir/islab, Requirement engineering course, Fall 2007
4
BASIS FOR THE APPROACH
Defect Detection and Prevention (DDP) Requirements Risks Mitigations
Steps in Standard DDP Collection and weighting of requirements Determining the risks these requirements entail Listing activities that can mitigate risks
DDP is a quantitative risk-based approach
Requirements
RisksMitigation
s
Amirkabir university of technology, Department of computer engineering and information technology, Intelligent systems laboratory, http://ceit.aut.ac.ir/islab, Requirement engineering course, Fall 2007
5
STANDARD DDP PROCESSDetermine and weight
Requirements
Determine Resources
List Potential
Risks
List & Cost Relevant
Mitigations
Score Risks against
Requirements
Score Mitigations
against Risks
Select Cost-Effective
Mitigations
Development Plan
Descope/ Reprioritize Requirements
Revise Budget, etc
Amirkabir university of technology, Department of computer engineering and information technology, Intelligent systems laboratory, http://ceit.aut.ac.ir/islab, Requirement engineering course, Fall 2007
6
SHORTCOMINGS OF STANDARD DDP
Distinction between mitigation and design decision
Some mitigations induce and/or exacerbate risks Induce
Induced risks have a range in [-1,0) Exacerbate
Exacerbate risks have a range in [-1000000,-1)
Amirkabir university of technology, Department of computer engineering and information technology, Intelligent systems laboratory, http://ceit.aut.ac.ir/islab, Requirement engineering course, Fall 2007
7
REVISED DDP PROCESSDetermine and weight
Requirements
Determine Resources
List Potential Risks
List Relevant Architectures
Score Risks against
Requirements
Score Architectures against Risks
Select Software
Architecture
List Potential Risks
List & Cost Relevant
Mitigations
Score Risks against
Architecture
Score Mitigations
against Risks
Select Cost-Effective
Mitigations Risk Mitigation Plan
Revise Budget, etc
Descope/ Reprioritize Requirements
Revise selection of architecture
8
A CASE STUDY
KWIC The KWIC index system accepts an ordered set of lines each line is an ordered set of words each word is an ordered set of characters Any line may be "circularly shifted" by repeatedly removing
the first word and appending it at the end of the line The KWIC index system outputs a listing of all circular shifts
of all lines in alphabetical order
Amirkabir university of technology, Department of computer engineering and information technology, Intelligent systems laboratory, http://ceit.aut.ac.ir/islab, Requirement engineering course, Fall 2007
9
Shared data architecture
DESIGN ALTERNATIVES
Master Control
InputCircular
ShiftAlphabetizer Output
Characters
IndexAlphabetized
index
Input mediumOutput medium
Amirkabir university of technology, Department of computer engineering and information technology, Intelligent systems laboratory, http://ceit.aut.ac.ir/islab, Requirement engineering course, Fall 2007
10
Abstract data type architecture
Alphabetic ShiftsCircular ShiftCharacters
DESIGN ALTERNATIVES (CONT.)
Master Control
Input Output
Input Medium
Output Medium
Amirkabir university of technology, Department of computer engineering and information technology, Intelligent systems laboratory, http://ceit.aut.ac.ir/islab, Requirement engineering course, Fall 2007
11
Pipes-and-filters architecture
Input
DESIGN ALTERNATIVES (CONT.)
Input medium
Circular shift
Alphabetizer
OutputOutput medium
Amirkabir university of technology, Department of computer engineering and information technology, Intelligent systems laboratory, http://ceit.aut.ac.ir/islab, Requirement engineering course, Fall 2007
12
DDP MATRIXES
Risk-Architecture
Amirkabir university of technology, Department of computer engineering and information technology, Intelligent systems laboratory, http://ceit.aut.ac.ir/islab, Requirement engineering course, Fall 2007
13
DDP MATRIXES (CONT.)
Risk-Mitigation
Amirkabir university of technology, Department of computer engineering and information technology, Intelligent systems laboratory, http://ceit.aut.ac.ir/islab, Requirement engineering course, Fall 2007
14
CONCLUSION
Risk can and should be used to guide architectural decisions Choice of architecture Decisions flow from the choice
DDP framework is proposed for addressing these problems
Guidelines for checklist in making risks and mitigations quantitative?
Effect of complexity of project on DDP? Nonfunctional requirements?
Amirkabir university of technology, Department of computer engineering and information technology, Intelligent systems laboratory, http://ceit.aut.ac.ir/islab, Requirement engineering course, Fall 2007
15
REFERENCE
James Kiper and Martin Feather, "Requirements, Architectures and Risks", Proceedings of the Second International Workshop “From Software Requirements to Architectures” (STRAW’03) at the International Conference on Software Engineering, May 2003, pp. 100-106
Amirkabir university of technology, Department of computer engineering and information technology, Intelligent systems laboratory, http://ceit.aut.ac.ir/islab, Requirement engineering course, Fall 2007