160 likes | 342 Views
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
E N D
Requirements, Architecture and Risks 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 Vahid Jalali
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
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
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 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 Requirements Risks Mitigations
Standard DDP Process Determine and weight Requirements Determine Resources List Potential Risks List & Cost Relevant Mitigations 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 Score Risks against Requirements Score Mitigations against Risks Select Cost-Effective Mitigations Descope/ Reprioritize Requirements Revise Budget, etc Development Plan
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
Revised DDP Process Determine Resources Determine and weight Requirements List Potential Risks List Relevant Architectures Score Risks against Requirements Score Architectures against Risks Revise selection of architecture Select Software Architecture List Potential Risks List & Cost Relevant Mitigations Score Risks against Architecture Score Mitigations against Risks Revise Budget, etc Select Cost-Effective Mitigations Descope/ Reprioritize Requirements Risk Mitigation Plan
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
Design Alternatives • Shared data architecture Master Control Input Circular Shift Alphabetizer Output 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 Characters Index Alphabetized index Input medium Output medium
Design Alternatives (Cont.) • Abstract data type architecture Master Control Input Output 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 setchar char word setup setchar char word alpha i-th Characters Circular Shift Alphabetic Shifts Output Medium Input Medium
Design Alternatives (Cont.) • Pipes-and-filters architecture Input medium Input Circular shift 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 Alphabetizer Output Output medium
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
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
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
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
Thanks for your attention 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