Requirements Analysis, Modeling and Specification Requirements
36 Slides3.53 MB
Requirements Analysis, Modeling and Specification Requirements Analysis, Modeling and Specification Problem Carving the Solution Space Prioritizing Requirements Lawrence Chung
What is a Model?
Requirements Analysis, Modeling & Specification A continuous loop Chung How many cycles do you go Lawrence through in your project?
It is more important to understand the problem than the solution. [Albert Einstein] From Sam Supakkul’s presentation
Is “The sky falling down” a problem to you? Lawrence Chung
Lawrence Chung
Lawrence Chung
Lawrence Chung
Lawrence Chung
Lawrence Chung
Lawrence Chung
Problem TO-BE – AS-IS ? It is more important to understand the problem than the solution. [Albert Einstein] A problem can be defined as the difference between things as they are now and things as they are desired. Now - AS-IS Problem desired (Goals) Future - TO-BE Little/no problem Lawrence Chung
Exercise: Student Application Processing System (AS-IS) (Problem) (TO-BE) To be continued later Lawrence Chung
A Problem Analysis Roadmap OMG Object Management Group Enterprise/ Business Problem Identify stakeholders for problem. Root cause analysis. Enterprise/Business problem defined Gain agreement on the problem def. wrt. root causes Understand the problem in the context of the business goals. Identify constraints on the system/project Actual problem identified and defined Problem validated/adjusted Reassess that the solution idea is the best solution. Consider alternatives & choose the best solution(s) to meet the goals. Solution idea or Opportunity Best solution identified Define the solution system boundary Expand stakeholder list for solution. Lawrence Chung What are requirements – about problem or solution? Elicit Requirements
One Man's Ceiling is Another Man's Floor! One Man's Problem is Another Man's Solution! One Man's Floor is Another Man's Ceiling! One Man's Solution is Another Man's Problem! Lawrence Chung
Carving the Product Space Requirements represent a compromise. Environmental Economic Feasibility Lawrence Chung Political
Carving the Product Space Requirements represent a compromise. Example Lawrence Chung
What Is the Problem Behind the Problem? Fishbone Diagram Techniques o N ng i k n ba e s n or m tio t a an oc l W t gh g tin ni ai at w g in h uc m nk Ba y ac g riv in tP nk an ba n o To W he w k n Ba g in in The perceived business problem. ts r o ri p a u Q s e eu in s e ch n a br e th e ar o to g n lo Customers are dissatisfied with our service. List contributing causes to the identified problem. Keep asking “Why?” (expand each rib). Lawrence Chung
Problem Analysis – Validating a Solution o m g in nk Ba uc h w ai ht ig g tin n at n a b e ar h s it er w m d to fie ce s vi us ti C sa er s rs di ou To o N ng i k n Ba in ts r o ri p a We need ATMs. ng i k e or ns o m ti t a c an o l W The perceived solution to some ill-defined problem. in e th s oo t e u e e u ar Q s e ch n a br g n lo List the reasons why the solution is the right solution. Keep asking “Why?” (expand each rib). Lawrence Chung What is the problem of your project? Why is your solution the right solution?
Chung Which is better Lawrence – Fishbone Diagram or FTD?
Lawrence Chung
Problem Interdependency Graph (PIG) Lawrence Chung
But what if there Pareto principle Population in DFW 1M too many are 200K 800K MS OS 100M LOC 20M 80M total 1T problems? 800B 200B 1B 800M 200M In economics The original observation was in connection with income and wealth. Pareto noticed that 80% of Italy's wealth was owned by 20% of the population.[4] He then carried out surveys on a variety of other countries and found to his surprise that a similar distribution applied. [1896, Wikipedia] Lawrence Chung
Pareto effect Analysis 50 45 % Contribution 40 35 Banking at Night 30 More banking locations 25 Banking at airport 20 Queues too long 15 Privacy while banking 10 Other Reasons 5 0 Contributing Causes Lawrence Chung
Focus on Largest Contributors - Pareto’s Law Vital-few-trivial-many; 80-20 rule Priority; criticality 20% of the effort yields 80% of the benefit. Benefit 80% 20% Effort Rank in order. Use the 80-20 Rule to focus on the top contributing causes to address the greatest portion of the problem. Lawrence Chung What are in the 20% of the problem of your project?
Requirements Prioritization An Analytic Hierarchy Process (AHP) Approach [Karlsson & Ryan 1997] Given n requirements, Create n x n matrix Compare each pair entry (i, j) 1 if i and j are of equal value 3 if i is slightly more preferred than j 5 if i is strongly more preferred than j 7 if i is very strongly more preferred than j 9 if i is extremely more preferred than j entry (j, i) 1/entry (I, j) Estimate the eigenvalues Calculate the sum of each column Divide each entry by the sum of it’s column Calculate the sum of each row Divide each row sum by n This gives a value for Lawrence each requirement based on Chung estimated percentage of total value of the project subjective/ ad hoc
Requirements Prioritization An Analytic Hierarchy Process (AHP) Approach Example r1 r2 r3 r4 r1 1 3 1/2 1/4 r2 1/3 1 1/5 1/3 r3 2 5 1 3 r4 4 3 1/3 1 normalize columns r1 r2 r3 r4 r1 0.21 0.63 0.11 0.05 r2 0.18 0.54 0.11 0.18 r3 0.18 0.45 0.09 0.27 r4 0.48 0.36 0.04 0.12 *Also should compute the consistency index, Lawrence Chung since the pairwise comparisons may be inconsistent sum the rows sum 1.05 1.98 0.34 0.62 Sum/4 0.26 0.50 0.09 0.16 Is the matrix consistent?
Using "Shall" and Related Words "shall" indicates a binding provision, i.e., one that must be implemented by the specification users. To state non-binding provisions, use "should" or "may." Use "will" to express a declaration of purpose (e.g., "The government will furnish .") or to express future tense IEEE Std. 830-1998. IEEE Recommended Practices for Software Requirements Specifications. IEEE Computer Society. 20 Oct. 1998.
Appendix Lawrence Chung
D, S achieves R to solve P in D Domain/World/Enterprise/Business D, Problem Requirements Specification Lawrence Chung What next?
D, S achieves R to solve P in D Define Boundaries for the Enterprise/Business and the Solution Reports System Users Legacy System Other Systems Maintenance Reports Lawrence Chung Consider Application Processing More on this in Enterprise Modeling
D, S achieves R to satisfy/satisfice G (solve P) in D MG, ProgG SG; SG, DG RG; RG, DG G; (G P) V (G P) Exercise An Application Processing System D: include a functional model, a workflow model, an informational model, a BM P: include complaints (both external and internal), weaknesses, etc. G: include wants and needs countering P – both hard and soft R: include an interaction model between D and S S: include a functional model, an informational model, a behavioral model Requirements should contain nothing but information about the environment. Lawrence Chung
Modeling is Everywhere Wicked Problem One Man's Ceiling is Another Man's Floor! process of understanding real-world problems, how they relate to stakeholder needs, and proposing solutions to meet those needs. Modeling is NOT Perfect [adapted from Jackson, 1995, p124-5] - There will always be phenomena Lawrence Chung in the model that are not present in the application domain - There will always be phenomena in the application domain that are not in the model - Perfecting the model is not always a good use of your time
Who are some of the stakeholders for your projects? Stakeholders in the Vision Document Stakeholder - An individual who is materially affected by the outcome of the system or the project(s) producing the system. Stakeholder Representative Description Type Responsibilities Success Criteria Involvement Deliverables Comments/ Concerns Registrar Kelly Hansen User The Registrar is typically a college-educated professional with full computer skills. The Registrar is trained and experienced with the use of the current batch-oriented registration . The Registrar is responsible for administering course registration for each school term. This includes supervising administrative and data entry personnel. The registrar’s primary responsibility will be maintaining student and professor databases, and opening/closing courses to registration. The registrar’s office will also be required to perform . The registrar’s primary responsibility will be maintaining student and professor databases, and opening/closing courses to registration. The registrar’s office will also be required to perform . Management reviewer – especially related to functionality and usability of features required by the Registrar staff. None Lawrence Chung
Carving the Product Space Problem Problem Problem Space Needs Features An externally observable service by which the system directly fulfills one or more stakeholder requests. The system to be built Software Requirements Traceability specifies, from a black-box perspective, how the solution interacts with the outside world. Test Procedures Lawrence Chung Solution Space Design User Doc
Carving the Product Space Requirements exist at many levels of abstraction, possibly with diff. terminology traceability One Man's Ceiling is Another Man's Floor! What How Stakeholder Needs Why? Product or System Features What How Why? Software Requirements What How Design Spec Test Procedures Documentation Plans Lawrence Chung