Module 02
Module 02
Requirements
Analysis and
Modeling
Module-02
Requirement Engineering
• The process of establishing the services that the customer
requires from a system and the constraints under which it
operates and is developed.
• The system shall generate each day, for each clinic, a list of
patients who are expected to attend appointments that day.
• Organizational requirement
Users of the MHC-PMS system shall authenticate
themselves using their health authority identity card.
• External requirement
The system shall implement patient privacy provisions as
set out in HStan-03-2006-priv.
OBJECTIVES OF
REQUIREMENTS ANALYSIS
• 1) inception,
• 2) elicitation,
• 3) elaboration,
• 4) negotiation,
• 5) specification,
• 6) validation, and
• 7) management.
1. Inception is understanding of
• the problem,
• the people who want a solution,
• the nature of the solution that is desired, and
• preliminary communication and collaboration between the
other stakeholders and the software team.
2. Elicitation is to identify objectives for the system or product
are,
• what is to be accomplished,
• how the system or product fits into the needs of the business,
and
• finally, how the system or product is to be used on a day-to-
day basis.
3. Elaboration is refinement of information obtained from the
customer during inception and elicitation
4. In negotiation,
• Customers, users, and other stakeholders are asked to rank
requirements and then discuss conflicts in priority.
• Using an iterative approach that prioritizes requirements,
assesses their cost and risk, and requirements are eliminated,
combined, and/or modified so that each party achieves some
measure of satisfaction.
5. Specification is a written document for specification is
created with
• a set of graphical models,
• a formal mathematical model, and
• a collection of usage scenarios, a prototype, or any
combination of these.
6. Validation – It validates that
• all software requirements for unambiguous (without any
inconsistencies, omissions, and errors) and
• the work products conform to the standards established for
the process, the project, and the product.
7. Requirements management
• helps the project team identify, control, and track
requirements and changes to requirements at any time as the
project proceeds.
Some of these tasks occur in parallel and all are adapted to the
needs of the project.
REQUIREMENTS ELICITATION (REQUIREMENTS
GATHERING)
2. Class-based elements
• Each usage scenario implies a set of objects that are
manipulated as an actor interacts with the system.
• These objects are categorized into classes (a collection of
things that have similar attributes and common behaviors).
• They are represented using class diagrams and collaboration
diagrams.
3. Behavioral elements
• They represent the behavior of a system.
• They are represented using state diagram and sequence
diagrams.
4. Flow-oriented elements
• In a computer-based system, information gets transformed
into different forms as it flows through system.
• The system accepts input in a variety of forms, applies
functions to transform it, and produces output in a variety of
forms, regardless of size and complexity.
• They are represented using data flow diagrams.
SCENARIO-BASED
APPROACH
• The system is described from the user’s point of view using a
scenario-based approach.
• • Scenario-based elements are represented using actors, use
cases and their corresponding use-case diagrams.
DEVELOPING USE CASES
• Use Cases
• After requirements are gathered, the developers and end
users can create a set of scenarios that identify a usage of the
system to be constructed.
• These scenarios are called use cases.
• The use cases provide a description of how the system will be
used.
• A use case is a description about how an end user (playing
one of a number of possible roles) interacts with the system
under a specific set of circumstances.
• A use case depicts the software or system from the end user’s
point of view.
Actors in use cases
• PROBLEM STATEMENT:
• This system will maintain a course registration database which
will allow the student to view the course details and to
register the course.
• Identify actors involved
• • Student: User who view courses and register the course
• • Admin: To add courses and details
Identify use-cases :
• Login
• Add courses
• View courses
• Register for course
TYPES of USE CASE
RELATIONSHIPS
Three types of relationships exist among use cases:
• Include relationship
• Extend relationship
• Generalization/specialization relationship
Include relationship
• Include relationships are used to depict common behaviour
that are shared by multiple use cases.
• Notation for include relationships
• Include relationship is depicted by a dashed arrow with a
«include» stereotype from the including use case to the
included use case.
Extend relationship
• The extend relationship is used to include optional behavior
from an extending use case in an extended use case.
• Notation for extend relationships
• Extend relationship is depicted by a dashed arrow with a
«extend» stereotype.
Generalization relationship
base
compute
triangle area
height area
Data Flow Diagramming:
Guidelines
• all icons must be labeled with meaningful names
• the DFD evolves through a number of levels of detail
• always begin with a context level diagram (also called level 0)
• always show external entities at level 0
• always label data flow arrows
• do not represent procedural logic
• create a level 0 DFD
Level 0 DFD Example
processing
user request requested
video
digital signal
video monitor
processor
video
source NTSC
video signal
Constructing a DFD—I
• write a narrative describing the transform
• “balance” the flow to maintain data flow continuity
• develop a level 1 DFD
• use a 1:5 (approx.) expansion ratio
a b
x P y level 0
a c p2
f
p1
p4 b
d 5
p3 e g
level 1
DFD for Library Information
System
For level-0 DFD (Context Diagram) -
• External entities are
• Member
• Library staff
purpose
• scope
• functional requirements
• non-functional requirements
• software requirements
• hardware requirements
• environmental conditions required
• safety and security requirements
• software quality attributes of the project and etc.
IEEE Template for SRS
• Table of Contents
• Revision History
• 1. Introduction
• 1.1 Purpose
• 1.2 Document Conventions
• 1.3 Intended Audience and Reading Suggestions
• 1.4 Project Scope
• 1.5 References
• 2. Overall Description
• 2.1 Product Perspective
• 2.2 Product Features
• 2.3 User Classes and Characteristics
• 2.4 Operating Environment
• 2.5 Design and Implementation Constraints
• 2.6 User Documentation
• 2.7 Assumptions and Dependencies
• 3. System Features
• 3.1 System Feature 1
• 3.2 System Feature 2 (and so on)
• 4. External Interface Requirements
• 4.1 User Interfaces
• 4.2 Hardware Interfaces
• 4.3 Software Interfaces
• 4.4 Communications Interfaces
5. Other Non-functional Requirements
5.1 Performance Requirements
5.2 Safety Requirements
5.3 Security Requirements
5.4 Software Quality Attributes
6. Other Requirements
Appendix A: Glossary
Appendix B: Analysis Models
Appendix C: Issues List
Example SRS-
Problem statement for Library Information System (LIS)
• An institute has proposed to develop a Library Information System (LIS)
for students and employees.
• LIS will enable the members to borrow a book (or return it) with ease
while sitting at his desk/chamber.
• Issuing or returning books is restricted to valid users (members) of LIS
only.
• The system also enables a member to extend the date of his borrowing,
if no other booking for that particular book has been made.
• The librarian can enter a new record into the system when a new book
has been purchased, or remove a record in case any book is taken off the
shelf.
• Any non-member is free to use this system to browse/search books
online.
• No password should not be stored in system as a plain text.
• The final software would a web application (using the recent HTML 5),
used within the institute LAN.
Identification of functional
requirements
The functional requirements of the system can be:
• New user/member registration
• Search book
• User/member login
• Issue book
• Return book
• Re-issue book
• Add book
• Delete book
Identification of non-
functional requirements
Performance Requirements:
• This system should remain accessible 24x7.
• At least 50 users should be able to access the system altogether at any
given time.
• The database of LIS should not store any password in plain text - a
hashed value has to be stored.
• Design Constraints:
• The LIS has to be developed as a web application, which
should work with Firefox 5, Internet Explorer 8, Google Chrome
12.
• The system should be developed using HTML 5.