Requirement engineering for an online bookstore system

advertisement
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
Download