Requirement engineering for an online bookstore system

Slides:



Advertisements
Similar presentations
Object-Oriented Analysis and Design LECTURE 3: REQUIREMENTS DISCIPLINE.
Advertisements

©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Processes.
Object-Oriented Software Development CS 3331 Fall 2009.
Unit 2. Software Lifecycle
 2004 by SEC Chapter 2 Software Development Process Models.
CH02: Modeling the process and life cycle Process of developing software (organization and discipline in the activities) contribute to the quality of the.
Requirements Engineering n Elicit requirements from customer  Information and control needs, product function and behavior, overall product performance,
Software Requirements
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by.
July 2009 Research Report on Current Trends in Requirements Engineering.
Towards Modelling and Reasoning Support for Early-Phase Requirements Engineering Vahid Jalali Amirkabir university of technology, Department of computer.
WKES 3202 SOFTWARE REQUIREMENTS ENGINEERING SEMESTER 1 SESSION 2004/2005.
Analysis Stage (Phase I) The goal: understanding the customer's requirements for a software system. n involves technical staff working with customers n.
Requirements Engineering: A Roadmap Vahid Jalali Fall 2007 Amirkabir university of technology, Department of computer engineering and information technology,
1 CS 426 Senior Projects Chapter 3: The Requirements Workflow [Arlow & Neustadt, 2005] February 10, 2009.
SE 555 – Software Requirements & Specifications Introduction
Requirements Management Course Plan System Group Company – Training Department By: Dr. Ahmad Abdollahzadeh.
1 REQUIREMENTS ENGINEERING and SYSTEMS ANALYSIS Elements and Definitions.
Requirements Engineering Process – 1
1 CMPT 275 Software Engineering Requirements Analysis Process Janice Regan,
Chapter 4 Capturing the Requirements 4th Edition Shari L. Pfleeger
CC20O7N - Software Engineering 1 CC2007N Software Engineering 1 Requirements Engineering Practices with Techniques.
ISO Tor Stålhane IDI / NTNU. What is ISO ISO 9001 was developed for the production industry but has a rather general structure ISO describes.
Software Engineering 2003 Jyrki Nummenmaa 1 REQUIREMENT SPECIFICATION Today: Requirements Specification Requirements tell us what the system should.
Requirements Analysis
SE-02 SOFTWARE ENGINEERING LECTURE 3 Today: Requirements Analysis Requirements tell us what the system should do - not how it should do it. Requirements.
Software System Engineering: A tutorial
Requirements Engineering How do we keep straight what we are supposed to be building?
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Processes.
©Ian Sommerville 2000, Mejia-Alvarez 2009 Slide 1 Software Processes l Coherent sets of activities for specifying, designing, implementing and testing.
Instructor: Peter Clarke
1 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by.
2Object-Oriented Analysis and Design with the Unified Process The Requirements Discipline in More Detail  Focus shifts from defining to realizing objectives.
Requirements Engineering ments_analysis.
1 CS 426 Senior Projects Chapter 3: The Requirements Workflow [Arlow & Neustadt, 2005] January 31, 2012.
Requirements Engineering Requirements Elicitation Process Lecture-9.
Software Engineering. Introduction Objective To familiarize students to the fundamental concepts, techniques, processes, methods and tools of Software.
27/3/2008 1/16 A FRAMEWORK FOR REQUIREMENTS ENGINEERING PROCESS DEVELOPMENT (FRERE) Dr. Li Jiang School of Computer Science The.
Requirements and Use Cases
Requirements Validation
UNIT-1 SOFTWARE PRODUCT AND PROCESS: Introduction – S/W Engineering paradigm – Verification – Validation – Life cycle models – System engineering –
Requirements Engineering ments_analysis.
XXX, Inc. 1 Technical Capabilities  Requirements Engineering  Analysis and Design  Implementation  Quality Assurance  Project Life Cycle  Requirements.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 4 Slide 1 Software Processes.
Requirements Engineering Process CS-862 (Spring 2013)
Requirements Analysis
Requirements engineering The process of establishing the services that the customer requires from a system and the constraints under which it operates.
ANALYSIS PHASE OF BUSINESS SYSTEM DEVELOPMENT METHODOLOGY.
Meghe Group of Institutions Department for Technology Enhanced Learning 1.
Chapter 3: The Requirements Workflow [Arlow and Neustadt, 2005] CS 426 Senior Projects in Computer Science University of Nevada, Reno Department of Computer.
Requirement Engineering Management Amna Shifia Nisafani Feby Artwodini M. Department of Information Systems Subject : Requirement Engineering.
 The processes used for RE vary widely depending on the application domain, the people involved and the organisation developing the requirements.  However,
1 Processes and Process Models Lecture # 5. 2 Process - 1 A process is an organized set of activities, which transforms inputs to outputs We can use synonyms.
Software engineering Software Processes.
Chapter 4 – Requirements Engineering
Processes and Process Models
Requirements Engineering
Object-Oriented Analysis & Design
Object-Oriented Software Engineering Using UML, Patterns, and Java,
مهندسي نيازمندي هاي سيستم اعلام كننده خودكار قرار ملاقاتها تحت وب
Software Processes.
CS 790M Project preparation (I)
Chapter 3: The Requirements Workflow
Product Life cycle (RUP)
An Overview of Software Processes
Requirements Engineering Process – 1
CS 426 CS 791z Topics on Software Engineering
CS 426 CS 791z Topics on Software Engineering
Processes and Process Models
Presentation transcript:

Requirement engineering for an online bookstore system Vahid 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

Outline Introduction Overall RE process model Organization type Elicitation Specification Analysis V&V Change management Conclusions References

Introduction Creating a huge quality software system without requirements engineering disciplines is impossible Requirements engineering should provide guidelines for these steps 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

Spiral model of the RE process

Target organization type There are three kinds of organizations 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

Elicitation Components of requirements elicitation Application domain Problem to be solved Business context Stakeholder needs and constraints

Elicitation (Cont.) application domain understanding business vocabulary for our online bookstore system customers and users of the system understanding stakeholders’ needs Applied techniques Document study Interviews Prototyping Brain storming Use cases More detailed description for applied techniques Main use cases of our online bookstore system

Elicitation (Cont.) QFD place in requirements elicitation Yes No Conduct fast meetings Make list of functions, Classes Formal prioritization? Make list of constraints Yes No Use QFD Informal prioritization Create use cases

Specification badly stated requirements can result in malfunctioning software software which can not satisfy its users’ needs We use RUP standards for specifying requirements of our online bookstore specify functional requirements SRS specify non-functional requirements supplementary specification We have provided a checklist for SRS document and an exemplary SRS for our online bookstore

Specification (Cont.) 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>

Specification (Cont.) Solution domain boilerplates 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

Analysis 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

Analysis (Cont.) Requirements Analysis Methods Structured Analysis Object Oriented Analysis Formal Methods We use Object oriented analysis for our online bookstore because 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

Analysis (Cont.) 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

Validation and verification Techniques used for validating and verifying our online bookstore system Requirement reviews Prototyping Evolutionary Acceptance tests general web application testing checklist validation verification checklist

Change management We use RUP configuration and change management workflow for change managing of our project

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

Conclusions 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

References [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

Thanks for your attention