Requirement engineering for an online bookstore system Vahid Jalali 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 Outline 2 Introduction Overall RE process model Organization type Elicitation Specification Analysis V&V Change management Conclusions References 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 Introduction Creating a huge quality software system without requirements engineering disciplines is impossible Requirements engineering should provide guidelines for these steps 3 Elicitation Specification Analysis Validation and verification Change management In this presentation we review RE techniques we used for requirements engineering for our online bookstore system 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 Spiral model of the RE process 4 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 Target organization type There are three kinds of organizations 5 Acquisition organizations Supplier organizations Product companies our organization is a supplier organization It responds to acquisition requests from acquisition organizations or higher level supplier organizations These organizations receive input requirements and develop system requirements in response to them 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 Elicitation Components of requirements elicitation Application domain Stakeholder needs and constraints 6 Problem to be solved Business context 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 Elicitation (Cont.) application domain understanding business vocabulary for our online bookstore system customers and users of the system understanding stakeholders’ needs Applied techniques 7 Document study Interviews Prototyping Brain storming Use cases More detailed description for applied techniques Main use cases of our online bookstore system 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 Elicitation (Cont.) QFD place in requirements elicitation Conduct fast meetings Make list of functions, Classes Formal prioritization? Make list of constraints Yes No Informal prioritization Use QFD Create use cases 8 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 Specification badly stated requirements can result in We use RUP standards for specifying requirements of our online bookstore specify functional requirements 9 SRS specify non-functional requirements malfunctioning software software which can not satisfy its users’ needs supplementary specification We have provided a checklist for SRS document and an exemplary SRS for our online bookstore 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 Specification (Cont.) 10 Using boilerplates for requirements specification Problem domain boilerplates The <stakeholder type> shall be able to <capability> The <stakeholder type> shall be able to <capability> by <constraint> or <constraint> The <stakeholder type> shall be able to <capability> by <constraint> and <constraint> 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 Specification (Cont.) Solution domain boilerplates 11 The <system> shall be able to <function> <object> within <performance> <units> The <system> shall be able to <function> <object> within <performance> <units> from <event> The <system> shall be able to <function> <object> every <performance> <units> The <system> shall be able to <function> in less than <performance> <units> The <system> shall be able to <function> in less than <performance> <units> in <operational condition> See the filled boilerplates in our final report document 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 Analysis 12 The goal of analysis is to discover problems, incompleteness and inconsistencies in the elicited requirements These are then fed back to the stakeholders to resolve them through the negotiation process Analysis is interleaved with elicitation as problems are discovered when the requirements are elicited 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 Analysis (Cont.) Requirements Analysis Methods We use Object oriented analysis for our online bookstore because 13 Structured Analysis Object Oriented Analysis Formal Methods It is a single paradigm Facilitates architectural and code reuse Models more closely reflect the real world Stability Increasing productivity Decreasing analysis activity Decreasing Complexity in Design Easier review and verification by customer Increasing reusability 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 Analysis (Cont.) 14 Most of the expenses of a software is related to maintenance OOA decreases maintenance expenses though it may be more expensive in implementation and design phases See the class diagram for our online bookstore system based on UML class diagrams 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 Validation and verification Techniques used for validating and verifying our online bookstore system Requirement reviews Prototyping Acceptance tests 15 Evolutionary general web application testing checklist validation verification checklist 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 Change management 16 We use RUP configuration and change management workflow for change managing of our project 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 Change management (Cont.) We distinguish 4 traceability paths Trace top-level requirements into detailed requirements Trace requirements into design Trace requirements into test procedures Trace requirements into user documentation plan As a tool for supporting change management in our project we have chosen RequisitePro which is of great use in change management process From use cases to test cases with RequisitePro 17 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 Conclusions 18 Creating a huge quality software system without requirements engineering disciplines is impossible In this presentation we reviewed techniques and guidelines we used for requirements engineering for an online bookstore system 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 References 19 [1] Requirements Engineering, Elizabeth Hull, Ken Jackson, Jeremy Dick, Second Edition, Springer, 2005. [2] Pressman Roger, Software Engineering: A Practitioner's Approach, 6th Edition, McGraw-Hill [3] Use case driven object modeling with UML, D. Rosenberg and M. Stephens, 2007 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 20 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