27/3/2008 1/16 A FRAMEWORK FOR REQUIREMENTS ENGINEERING PROCESS DEVELOPMENT (FRERE) Dr. Li Jiang School of Computer Science The University of Adelaide
27/3/2008 2/16 Overview Introduction Attributes of Techniques, and Software Projects Attributes of RE Processes and Techniques Attributes of Software Projects FRERE Framework RE Process Knowledge Base (REPKB) RE Process Development Methodology RE Process Assessment Models A Case Study Develop a hypothesis and selection of the Pilot Project Summary of the Case study Quantitative and Qualitative Analysis of the Software Project Results Conclusions and Future Work
27/3/2008 3/16 Introduction (1) Requirements Engineering (RE) is a critical process within the Software Engineering (SE) Research has shown, it is critical to use the most suitable RE process and proper RE techniques since: Suitable RE process and techniques will contributes to the overall success of software project No single technique provides a complete solution for all RE problems A pragmatic, project-oriented combination of RE techniques has positive influence on the success of SW projects. The gap between RE theory and practice is still large Few methods existed provide limited means to help analysis and selection of RE techniques for a software project Introduction Attributes FRERE Framework Case Study Conclusion
27/3/2008 4/16 Introduction (2) Engineering principle is addressed The cost and time to market issues are addressed Standardization issues are addressed Software Projects Characteristics of Software Project Characteristics of the Best SE Processes, Techniques RE technique Design Tech Test Tech …… Mapping Models Heuristic rules Logical Relationship 31 technique attributes identified 21 project attributes identified - A Solution Introduction Attributes FRERE Framework Case Study Conclusion
27/3/2008 5/16 Attributes of RE Techniques 31 attributes for RE techniques were defined in the research, e.g. CategoriesAttributes of the Techniques Elicitation: Ability to facilitate communication Ability to get domain knowledge Ability to identify non-functional requirements …… Analysis & Negotiation: Ability to understand the notations used in analysis Ability to facilitate negotiation with customers Ability to prioritize requirements …… Other Aspects Introduction cost, Application cost ….. …… Introduction Attributes FRERE Framework Case Study Conclusion
27/3/2008 6/16 Project Attributes Project Size Project Complexity Requirements Volatility Project Category Degree of Safety Criticality Quality Standard Time Constraints Cost Constraints Team Size Acquaintance with Domain Reusability Defined based on the number of requirements. The values are: Very Big (X>=4000 requirements), Big (4000=>X>=2500), Medium (2500=>X>=1000), Small (1000=>X>100), Very Small (X<100). Introduction Attributes FRERE Framework Case Study Conclusion
27/3/2008 7/16 FRERE Framework Assessment models RE process development Techniques selection Methodologies RE process knowledge base RE process maturity model Technique suitability assessment model Major COREs model Building blocks RE process template Project cases RulesOthers FRERE Framework Introduction Attributes FRERE Framework Case Study Conclusion
27/3/2008 8/16 Requirements Engineers Assessment Identification Reasoning Selection Development New Process Model Identify the characteristics of project and product Constraints of the projects Identification RE process major concerns assessment RE process maturity model assessment Technique suitability assessment Assessment Case-based reasoning RE Process Knowledge Base Reasoning Recommendation Selection Project cases Guidelines Building blocks …… Process Development Methodology PDA (Process development Assistant) Development Development based on the recommendation Select-Modify-Delet-Split-Add- Operations …… Introduction Attributes FRERE Framework Case Study Conclusion
27/3/2008 9/16 Technique Selection Methodology Scoring the attributes of the software project Derivation of the initial recommendation (CBR) Technique analysis (Based on clustering) Getting suggested techniques from requirements engineers Calculation based on the objective function Refinement of the selected techniques combination Analysis of the techniques and construction of the recommendation space Techniques clustering helps to find: * Functionally comparable techniques * Functionally complementary techniques Derivation of recommendation and techniques analysis Techniques clustering is based on the techniques evaluation schema developed in the research Introduction Attributes FRERE Framework Case Study Conclusion
27/3/ /16 Assessment Models Requirements Engineering Process Maturity Model Technique Suitability Assessment Model A RE Process Major CORE Model Principles of RE Maturity of RE Process Feasibility to the Software Project √ √ Models Major Perspectives Introduction Attributes FRERE Framework Case Study Conclusion
27/3/ /16 A Case Study Project Name: Port Scheduling System Project Attributes: Project Size: Medium (>=700 and <1200 Requirements) Project Complexity: Medium Requirements Volatility: Low Organization and Customer Relationship: SCR (SCR stands for responding to a Specific Customer Request) Project Category: Semi-detached Team Size: 49 Degree of Knowledge of Requirements: Medium Degree of Safety Criticality: High Quality Standard: High Product Type: New - The Project Information Introduction Attributes FRERE Framework Case Study Conclusion
27/3/ /16 A Case Study CategoriesFinal Selected Technique ElicitationFocus group, Interview, Ethnography Analysis & Negotiation Viewpoint-Based Analysis DocumentationViewpoint-Based Definition Verification and Validation Formal Requirements Inspection ToolRequirements management supported by an in-house requirements management tool called “DocManager” - Selected Technique Introduction Attributes FRERE Framework Case Study Conclusion
27/3/ /16 A Case Study Activities in the modelCategoryAffiliation Consider the system stakeholdersElicitationVORD Identify the viewpoints by referencing to the viewpoints template ElicitationVORD Hold focus group meeting to elicit requirements from various stakeholders ElicitationNew Record the sources and rationales of requirements ElicitationBB 28 activities are defined for the project Examples: Introduction Attributes FRERE Framework Case Study Conclusion
27/3/ /16 A Case Study Result of the case study: Project is considered as a success based on the quantitative and qualitative analysis of the software project results Much better quality of requirements specification Less delay in project schedule Satisfaction of requirements engineers, project managers and customers. Conclusion: FRERE framework did offer the suitable RE process model for the project. Introduction Attributes FRERE Framework Case Study Conclusion
27/3/ /16 Conclusions Using the most appropriate RE process model and the most suitable techniques remain a challenging issue This research offers a constructive solution to tackle the problem with the following contributions: Establishment of the RE Process Knowledge Base (REPKB) Development of a RE techniques analysis schema Identification of the relationships between RE techniques Development of assessment models Explicitly linking project characteristics with RE process development The case study in industry shows the feasibility of the FRERE Introduction Attributes FRERE Framework Case Study Conclusion
27/3/ /16 Future Work Enrichment of RE process knowledge base Investigation the relationships between RE technique and process models in depth Investigation of the use of the framework in diverse software projects Completion of the FRERE tool Introduction Attributes FRERE Framework Case Study Conclusion
27/3/ /16 Questions ? Thank you ! Questions ?
27/3/ /16 Back-up slides
27/3/ /16 Quality RE Process Premise Quality Requirements Specification Quality Products Requires Contribute Focus Project Introduction FRERE Tool Case Study Conclusion
27/3/ /16 Existing RE Process Models - Examples Water-Fall RE process model Volere Goal Based model KAOS Viewpoints based VORD Domain Oriented SREM RATS Others RUP Agile pattern (XP, SCRUM) Combinations
27/3/ /16 Existing RE Techniques - Examples Elicitation JAD, Focus Group, etc. Interview, Brainstorming, etc Analysis and Negotiation Use case, Structured Analysis, etc. FSM, Petri-net, etc. Documentation Nature Language, Structured Language Formal Notations such as Z, VDM, etc. Verification and Validation Inspection, Technical Review, Test cases. Formal Method based
27/3/ /16 RE Process Building Blocks
27/3/ /16 A Decision Support Model
27/3/ /16 Case Based Reasoning Similarity Calculation i=1,···,n; j=1,…,k = i=[1..n], j=[1..k] F = 0.5 if are in nominal scale and F = 0 if are in nominal scale and. is defined as: if are in ordinal scale (1) (2) (3)
27/3/ /16 Major COREs Elicitation Identification of Stakeholders and their viewpoints User participation Identification of the goals, expectation, scope and context of the project or system Effective communication Elicitation of functional requirements Elicitation of non-functional requirements and system constraints Analysis & Negotiation Classification of requirements Requirements Prioritization Negotiation with various stakeholders to ensure agreed requirements are finalized Modelling and understanding functional requirements Understanding of non-functional requirements and constraints of the system - Examples
27/3/ /16 Assessment Models - RE Process Maturity Model Maturity Level Number of The Guidelines Assessment Scores in REPMM Model Level 1: Initial36 Less than 55 in the basic guidelines. May have implemented some intermediate guidelines Level 2: Repeatable 21 Above 55 in the basic guidelines but less than 40 in the intermediate and advanced guidelines Level 3: Defined 9 More than 85 in the basic guidelines and more than 40 in the intermediate and advanced guidelines.
27/3/ /16 Product Attribute 1 Technique 1 Technique 2 Degree of safety critical Agile-based Documentation Formal method based Documentation Ordinal Measure Numerical value Very Low 010 Low Middle 0.5 High Very high 101 Assessment Models - An Example of Technique Evaluation
27/3/ /16 The Target RE Process Model The target process model should possess following characteristics: The process model satisfies the constraints of the software project. The process model must Address the relevant major COREs. Implement many good practices proposed in REPMM model Techniques used are considered the most suitable for the given project (i.e. the higher mark with regard to the RE technique suitability assessment ) The complexity of the overall process model is compatible with the complexity of the project.
27/3/ /16 Examples of Rules (1)
27/3/ /16 Examples of Rules (2)
27/3/ /16 Examples of Rules (3)
27/3/ /16 FRERE Tool
27/3/ /16 FRERE Tool
27/3/ /16 FRERE Tool
27/3/ /16 FRERE Tool
27/3/ /16 FRERE Tool
27/3/ /16 FRERE Tool