Professional Documents
Culture Documents
Sources:
Standish Group, 1995 & 1996
Scientific American, September 1994
Project Success Factors
Sources:
Standish Group, 1995 & 1996
Scientific American, September 1994
Agenda
Questions
Requirement Engineering
Requirement Engineering
X
Requirement Engineering
Design Constraints
Functions
Non-Functional
Requirements
(E.g. Performance)
(E.g. Environments)
Definitions
Examples from the Course
Registration System
Stakeholder Request
Need less administrative overhead for registration.
Professors need immediate access to student grades.
Feature
A tree browser provides a way to view student information, by semester, by
class.
Software Requirement
Functional
The use case starts when the student selects the “register for course”
command. The system displays the list of available courses…
Non-Functional
99% of 24/7 availability (3.65 days downtime per year)
Constraint
Operate on the College DEC VAX Main Frame.
Requirements Exist at Many Levels
Stakeholder Needs
What
How
Product or System Features
What
How
Software Requirements
What
How
Design Spec
Test Procedures
Documentation Plans
Requirement Management
Needs
Features
The system
to be built
Software
Requirements
Solution
Traceability
Space
Test Procedures User
Design
Doc
Types of Requirements
Customer Requirements
Functional Requirements
Non-functional Requirements
Performance Requirements
Design Requirements
Derived Requirements
Allocated Requirements
Complexity of Requirement
Engineering
Problems & Challenges
Characteristics of Requirements
Unitary (Cohesive)
Complete
Consistent
Non-Conjugated (Atomic)
Traceable
Current
Unambiguous
Specify Importance
Verifiable
Need of Requirements Analysis
Defining Requirement
Prioritizing Requirements
Solving Problems
Drawing Specifications
Agenda
Requirement Analysis Principles (1/8)
o Modeling
o Partitioning
Modeling
the states of the software and the events that cause software to change
state.
Requirement Analysis Principles (5/8)
Requirement Analysis Principles (6/8)
Modeling
Models created during requirements analysis serve a number of
important roles:
• Aids the analyst in understanding the information, function, and
behavior of a system and make analysis easier
• Key to a determination of completeness, consistency, and
accuracy of the specifications.
• Foundation for design
Requirement Analysis Principles (7/8)
Partitioning
Partitioning decomposes a problem into its constituent parts.
Conceptually, we establish a hierarchical representation of function or
information and then partition the uppermost element by
a. Exposing increasing detail by moving vertically in the hierarchy
b. Functionally decomposing the problem by moving horizontally in
the hierarchy.
Requirement Analysis Principles (8/8)
Correctness
Each requirement accurately represents some desired feature
in the final system
Completeness
All desired features/characteristics specified
Hardest to satisfy
Completeness and correctness strongly related
Unambiguous
Each requirement has exactly one meaning
Without this errors will creep in
Important as natural languages often used
Characteristics of SRS
Verifiability
There must exist a cost effective way of checking if sw
satisfies requirements
Consistent
two requirements don’t contradict each other
Traceable
The origin of the req, and how the req relates to software
R.1.1:
Input: “search” option,
Output: user prompted to enter the key words.
R1.2:
Input: key words
Output: Details of all books whose title or author name
matches any of the key words.
Details include: Title, Author Name, Publisher name, Year of
Publication, ISBN Number, Catalogue Number, Location in the
Library.
Processing: Search the book list for the keywords
Req. 2:
R2.1:
Input: “renew” option selected,
Output: user prompted to enter his membership number and
password.
R2.2:
Input: membership number and password
Output:
list of the books borrowed by user are displayed. User prompted to
enter books to be renewed or
user informed about bad password
Processing: Password validation, search books issued to the
user from borrower list and display.
Req. 2:
R2.3:
Input: user choice for renewal of the books issued
to him through mouse clicks in the corresponding
renew box.
Output: Confirmation of the books renewed
Processing: Renew the books selected by the in the
borrower list.
Example…
Yourdon and
Coad Process
Notations
boundary
Context Diagram
Sales-Clerk
winner-list
sales-details
Supermarket
Software
0 CN
gen-winner
command
cus
tom
er - de
Manager
tails Customer
Level 1 Diagram
Drawing a DFD for a system
PROJECT MANAGERS
To ensure that they can estimate the cost easily by referencing to the
SRS document and that it contains all the information required to plan
the project well.
MAINTENACE ENGINEERING
Helps to maintenance engg to understand the functionality of the
system. To determine what modifications to the system’s functionality
would needed for a specific purpose.
Agenda
Summary (1/2)
Summary (2/2)
References
Tom and Sue are starting a bed-and-breakfast (B & B) in a small New England town.
They will have three bedrooms for guest. They want a system to manage the
reservation and monitor expenses and profits. When a potential customer calls for
reservation, they will check the calendar, and if there is a vacancy they will enter the
customer name, address, phone number, dates, agreed upon price, credit card
number, and room numbers. Reservation must be guaranteed by one day’s payment.
Reservation will be held without guarantee for an agreed upon time. If not guaranteed
by that date, the reservation will be dropped.
Do the following:
Requirement Analysis
design data flow diagram
CASE - 2
The Blood Bank Testing Unit. This is one unit within the College Street Red Cross Blood Donor
Centre. On the day following a blood donation, the Blood Bank unit tests all blood for blood type
and potential viral agents. They send the results of these tests to the Processing Office (another
unit of the Centre). For each tested blood unit, they fill out a form which lists the blood unit
number, the blood type, the date and the results of the test. If the tests indicate that the blood
may be contaminated with a viral agent, the blood unit is destroyed. This is indicated on the test
form.
Blood units have a limited shelf life. The Blood Bank receives a list every day of those units
which have exceeded their shelf life. These are discarded and the list sent back to the
Processing Office with a signed indication of the disposal of the units.
The Blood Bank also distributes blood to various hospitals requesting blood. Requests usually
come in for specific blood types. The Blood Bank prepares refrigerated containers of these units
and distributes them to the hospital vans when they arrive to pick up their supply. The Blood
Bank receives a listing for each hospital and the specific units of blood to supply to the hospital
from the Processing Office. The order is printed in triplicate. When the order is filled, the lab
technician signs the order and returns a copy to the Processing Office. A copy of it travels with
the blood to the requesting hospital. The final copy is kept in the Blood Bank records but
discarded after one year.
Do the following:
Functional requirements specification
Design data flow model