2.2 Software Requirement Specification
2.2 Software Requirement Specification
SRS
Data Model
Functional
Model
Behavioral
Model
The SRS is composed of the outer layer of the behavioral model, the
functional model, then the data model.
Copyright © 2015 Pearson Education, Inc.
(Ts.) SSS Shameem Software Engineering, MIU
Software Requirements Specification
important
• Section One
– Overview document for executives describing the system from a
management perspective
• Section Two
– General Description describing the system from a user and system
perspective in general terms.
• Section Three
– Detailed document for users and developers describing the system
in detailed terms.
Table of Contents
I. Introduction
V. System Architecture
VII. Appendices
• Correct • Complete
• Precise • Organized
• Unambiguous • Verifiable
• Consistent • Understandable
• Modifiable • Traceable
• Concise
Understandable
question: are formal specifications understandable, are informal
specifications understandable
Modifiable: changing requirements easily modified when specifying,
designing, coding, implementing
Traceable: can I locate the SRS origin of software components.
I. Introduction
A Purpose
B Scope
D References
E Overview
• Origin of need
• who and what triggered the request for this software development activity
• gives developers an understanding of the goals for the proposed system
• High-level description of the system functionality
• defined for the system
• usually in list separated by commas
• Goals of proposed system
The owner of a local video store wanted to create a new business plan where
everything about renting a video (except the picking up and returning of videos)
was done online. Therefore, the new VRS will allow the following functionality
online: to search for videos, to become members, to rent videos, to modify
membership information, and to pay overdue fees. The store personnel may use the
VRS to process the rented or returned videos, to add or remove videos to/from his
store’s video inventory and to update video information. The VRS is intended to
increase the owner’s profit margin by increasing video sales with this unique
business approach and by allowing him to reduce the staffing needed in his stores.
• As you begin to define a system, you will encounter words which need definition and
general usage acronyms. These should be documented for new personnel and for
clarity of all concerned parties.
• If any of these references are provided in the appendices, it should be noted here.
I. Introduction
E. Overview
Software Engineering,MIU
MIU
(Ts.)SSSSSS Shameem
Copyright © 2015 Pearson Education, Inc.
(Ts.) Shameem Software Engineering,
Software Requirements Specification
A Product Perspective
B Product Functions
C User Characteristics
D General Constraints
E Assumptions
The VRS is a web-based system. The system interfaces with two other
systems, the owner’s email system, the video distributor’s video system,
and the browsers used by VRS customers. The system provides a secure
environment for all financial transactions and for the storing and
retrieving of confidential member information.
• List the users involved with the proposed system including the general
characteristics of eventual users (for example, educational background,
amount of product training).
• List the responsibility of each type of user involved, if needed.
This system provides web access for all customer and member functions. The
user interface will be intuitive enough so that no training is required by
customers, members, or store personnel. All online financial transactions and the
storage of confidential member information will be done in a secure environment.
Persistent storage for membership, rental, and video inventory information will be
maintained.
Copyright © 2015 Pearson Education, Inc.
(Ts.) SSS Shameem Software Engineering, MIU
Software Requirements Specification
II. General Description
E. Assumptions and Dependencies
• This includes assumptions made at the beginning of the development effort as well as
those made during the development.
• List and describe each of the factors that affect the requirements stated in the SRS.
• These factors are not design constraints on the software but any changes to
them can affect the requirements in the SRS.
• For example, an assumption might be that a specific operating system will be
available on the hardware designated for the software product. If the OS is
not available, the SRS would then have to change.
Section II of SRS
Software Engineering,MIU
MIU
(Ts.)SSSSSS Shameem
Copyright © 2015 Pearson Education, Inc.
(Ts.) Shameem Software Engineering,
Software Requirements Specification
• describe a particular behavior of function of the system when certain conditions are met
• example:
– “Display the name, total size, available space and format of a flash drive connected to
the USB port.” “add customer” and “print invoice”.
– A functional requirement for an everyday object like a cup would be: “ability to contain
tea or coffee without leaking”.
– Business Rules
– Administrative functions
– Authentication
– Authorization levels
– Certification Requirements
– Reporting Requirements
– Historical Data
Copyright © 2015 Pearson Education, Inc.
(Ts.) SSS Shameem Software Engineering, MIU
Software Requirements Specification
• Non functional requirements are properties that the system must have
such as performance, reusability, usability, user friendliness, etc.
• Describe how a system should behave and what limits there are on its
functionality.
• example:
– Reliability • Environmental
– Maintainability • Usability
• Interoperability
Copyright © 2015 Pearson Education, Inc.
(Ts.) SSS Shameem Software Engineering, MIU
Software Requirements Specification
V. System Architecture
• This section presents the use case diagram for the system under
development.
• The use case diagram should be a complete version containing all the use
cases needed to describe the functionality to be developed.
SRS Designs_
Flowchart
ATM
2. Gather Information
E-Commerce
Employee On-boarding
Cash Withdraw
SRS Designs__
Flow Diagram
SRS Designs__
Flow Diagram
Content Marketing
IMPORTANT
Online purchase
IMPORTANT
Customer Service
Swimlane
• State Transition diagram, State diagrams, State machines, and State-chart Diagrams.
• A state diagram shows the behavior of classes in response to external stimuli.
• Models the dynamic flow of control from state to state of a particular object within a system.
• Describes behavior of a single object in response to series of events in system.
• Used to represent condition of the system or part of system at finite instances of time.
• It’s a behavioral diagram.
• Shows what actions leads to change of the system, and how.
• Transition – change of control from one state to another, and also showing
the event which causes the change in state.
Object Dimension
• The horizontal axis shows the elements that are involved in the interaction
• Objects involved in the operation are listed from left to right according to when they
take part in the message sequence.
• Elements on the horizontal axis may appear in any order
Time Dimension
• The vertical axis represents time proceedings (or progressing) down the page.
Actors – represents a type of role where it interacts with the system and its
objects.
• an actor is always outside the scope of the system.
• actors depict various roles including human users and other external
subjects.
• multiple actors in a sequence diagram are allowed.
Synchronous messages – waits for reply before interaction can move forward.
• Sender waits until receiver has completed the processing of the message.
• Caller continues only when it knows that the receiver has processed the previous
message i.e. it receives a reply message.
Reply Message – show the message being sent from the receiver to the sender.
• Interaction moves forward only when a reply message is sent by the receiver.
SRS Designs__
Sequence
Diagram
ATM
SRS Designs__
Sequence Medical Report
Diagram
• Use case diagrams consists of actors, use cases and their relationships.
• Use cases are set of actions, services, & functions that system needs to perform.
• “Actors" are people or entities operating under defined roles within the system,
o To model the entire system, a number of use case diagrams are used
• Extends the base use case and adds more functionality to the system.
independent and must not rely on the behavior of the extending use case.
• “Calculate Bonus” use case doesn’t make much sense without the “Deposit Funds” use case.
• Extending use case is triggered only for deposits over 10,000 or when the age is over 55.
Extend Relationship
Between Two Use Cases
• Include relationship show that the behavior of the included use case is part of the
• The base use case is incomplete without the included use case.
• Used when there is common behavior between two use cases and also specialized
• Example; in previous banking example, there might be a use case called “Pay Bills”;
which can be generalized to “Pay by Credit Card”, “Pay by Bank Balance” etc.
• Name the Actors as per roles (not positions) – In a hotel both front office executive
• Place included use cases to the right of the invoking use case.
• A use case is normally described at the system functionality level and specifies
the function or the service that the system provides for the user.
• Business use case represents how the work to be done manually in the
currently situation, and it is not necessarily done by the system or intend to
be automated in the scope of target system.
• Class diagram is a graphical notation used to construct and visualize object oriented
systems.
• A class diagram in the Unified Modeling Language (UML) is a type of static structure
diagram that describes the structure of a system by showing the system's:
o classes,
o their attributes,
o operations (or methods),
o and the relationships among objects
Class Visibility
• + denotes public attributes or operations
• - denotes private attributes or operations
• # denotes protected attributes or operations
Association
Dependency
• A special type of association.
• An object of one class might use an object of another class in the code of a method.
o If the object is not stored in any field, then this is modeled as a dependency
relationship.
• Exists between two classes if changes to the definition of one may cause changes to
the other (but not the other way around).
• Class1 depends on Class2
Composition
• A special type of aggregation where parts are destroyed when the whole is destroyed.
• Objects of Class2 live and die with Class1.
• Class2 cannot stand by itself.
• A
• A
Components:
• Action: A step in the activity wherein users or software perform a given task.
• Decision node: A conditional branch in the. It includes a single input and two or more
outputs.
• Control flows: Another name for the connectors that show the flow between steps.
• Start node: Symbolizes the beginning of the activity.
• End node: Represents the final step in the activity.
• Connector: Shows directional flow, or control flow, of the activity with incoming and
outgoing arrows.
• Flow final: Represents end of a specific process flow; NOT the end of all flows in an activity.
• Condition text: Placed next to a decision marker to let you know under what condition an
activity flow should split off in that direction.
• End: Marks end state of an activity, and represents the completion of all flows of a process.
Example__Sample
Example__
login page
Example__
Banking System
SRS Designs__
Activity Diagram
Example__
Word processor
Example__Processing an order:
• Once the order is received, the activities split into two parallel sets of
activities. One side fills and sends the order while the other handles the billing.
• On the Fill Order side, the method of delivery is decided conditionally.
Depending on the condition either the Overnight Delivery activity or the
Regular Delivery activity is performed.
• Finally the parallel activities combine to close the order
Example__Process Order
Example__Student enrollment:
Example__Student Enrollment
Example:
meeting a new client using
Weak Entity
• A weak entity is an entity that depends on the existence of another entity.
• i.e. an entity that cannot be identified by its own attributes.
• It uses a foreign key combined with its attributed to form the primary key.
o The order item will be meaningless without an order so it depends on
the existence of the order.
• Begins with a context diagram as the level 0 of DFD diagram, a simple representation of the
whole system.
• To elaborate further from that, a level 1 diagram with lower level functions decomposed
from the major functions of the system is drawn.
• This could continue to evolve to become a level 2 diagram when further analysis is required.
• Progression to level 3, 4 and so on is possible but anything beyond level 3 is not very
common.
• Decomposing particular function for further levels really depending on the complexity that
function.
Process
• A business activity or function.
• Where the manipulation and transformation of data takes place.
• A process can be decomposed to finer level of details, for representing how data is being
processed within the process.
Data Store
• Represents the storage of persistent data required and/or produced by the process.
• Examples of data stores: membership forms, database table, etc.
Data Flow
• Represents the flow of information.
• Direction of flow represented by an arrow head that shows at the end(s) of flow
connector.
• There are four basic elements of a data flow diagram: processes, data
• Level 1 DFDs are still a general overview, but they go into more detail than a
context diagram.
• In a level 1 data flow diagram, the single process node from the context
• As these processes are added, the diagram will need additional data flows and
subprocesses.
• Level 3 data flow diagrams are detailed enough that it doesn’t usually make
Level 2 DFD
• ER Entity Relation d.
• Use Case d.
• State Transition d.
• Sequence d.
• Activity d.
• Workflow d.
• Class d.
Table of Contents
I. Introduction
V. System Architecture
VII. Appendices