Week4 CSE320
Week4 CSE320
Week4 CSE320
Analysis
SRS
• 2. Interview
• 3. Task analysis
• 4. Scenario analysis
• 5. Form analysis
Requirements Gathering (CONT.)
– Experience…
Case Study: Automation of Office Work at CSE Dept.
• The academic, inventory, and financial information at the
CSE department:
– At present carried though manual processing by two office
clerks, a store keeper, and two attendants.
• Also collected the different types of forms that were being used.
Form Analysis
Case Study: Automation of Office Work at CSE Dept.
• The analysts understood the requirements for the system from
various user groups: Requirements Analysis
– Identified inconsistencies, ambiguities, incompleteness.
• Resolved the requirements problems through discussions with
users:
– Resolved a few issues which the users were unable to resolve
through discussion with the HoD. Requirements Specification
Analysis
Review
• Detect inconsistencies, ambiguities, and incompleteness.
SRS Document
Specification
arrived during requirements analysis.
Review
– Contract document
– Reference document
S
not known. Input Output
Data Data
• If necessary:
– Later a formal requirement specification may be developed
from it.
• It should be concise
– and at the same time should not be ambiguous.
• It should specify what the system must do
– and not say how to do it. Properties of a Good SRS
• Easy to change., Document
• It should be traceable
– You should be able to trace which part of the specification
corresponds to which part of the design, code, etc and
vice versa.
• It should be verifiable
– e.g. “system should be user friendly” is not verifiable
• Project development plans
SRS should not include...
– E.g. cost, staffing, schedules, methods, tools, etc
• Lifetime of SRS is until the software is made obsolete
• Lifetime of development plans is much shorter
• Designs
– Requirements and designs have different audiences
– Analysis and design are different areas of expertise
SRS Document (CONT.)
– External Interfaces
– Non-functional requirements,
– Constraints
Functional Requirements
• Specifies all the functionality that the system should support
– Heart of the SRS document:
• Outputs for the given inputs and the relationship between them
– 1.2 Scope
•Define the vocabulary of the SRS (may also be
– 1.3 Definitions. Acronyms, and Abbreviations in appendix)
– 1.4 References
•List all referenced documents and their sources SRS (may also be in appendix)
– 1.5 Overview
• 2. Overall Description
•Describe how the SRS is organized
• 3. Specific Requirements
• Appendices
• Index
• Title IEEE 830-1998 Standard – Section 2 of SRS
• Table of Contents •Present the business case and operational concept of the system
•Describe external interfaces: system, user, hardware, software, communication
• 1. Introduction •Describe constraints: memory, operational, site adaptation
• 2. Overall Description
– 2.1 Product Perspective •Summarize the major functional capabilities
– 2.2 Product Functions
– 2.3 User Characteristics •Describe technical skills of each user class
– 2.4 Constraints
– 2.5 Assumptions and Dependencies •Describe other constraints that will limit
developer’s options; e.g., regulatory policies; target
• 3. Specific Requirements platform, database, network, development
standards requirements
• 4. Appendices
• 5. Index
• … IEEE 830-1998 Standard – Section 3 of SRS (1)
• 1. Introduction Specify software requirements in sufficient
detail so that designers can design the system and
• 2. Overall Description testers can verify whether requirements met.
• 3. Specific Requirements
– 3.1 External Interfaces State requirements that are externally perceivable by
users, operators, or externally connected systems
– 3.2 Functions
– 3.3 Performance Requirements Requirements should include, at the least, a description
– 3.4 Logical Database Requirementsof every input (stimulus) into the system, every output
(response) from the system, and all functions performed
– 3.5 Design Constraints by the system in response to an input
– 3.6 Software System Quality Attributes
– 3.7 Object Oriented Models
• 4. Appendices
• 5. Index
• …
• 1. Introduction IEEE 830-1998 Standard – Section 3 of SRS (2)
• 2. Overall Description •Detail all inputs and outputs
(complement, not duplicate, information presented in section 2)
• 3. Specific Requirements •Examples: GUI screens, file formats
– 3.1 External Interfaces
•Include detailed specifications of each use case, including
– 3.2 Functions collaboration and other diagrams useful for this purpose
• 4. Appendices
• 5. Index
IEEE 830-1998 Standard – Templates
• Section 3 (Specific Requirements)can be organized in
several different ways based on
– Modes
– User classes
– Concepts (object/class)
– Features
– Stimuli
• SPECIFIC REQUIREMENTS Example Section 3 of SRS of
3.1 Functional Requirements Academic Administration Software
3.1.1 Subject Registration
– The subject registration requirements are concerned with functions regarding subject
registration which includes students selecting, adding, dropping, and changing a subject.
• F-001:
– The system shall allow a student to register a subject.
• F-002:
– It shall allow a student to drop a course.
• F-003:
– It shall support checking how many students have already registered for a course.
Design Constraints (3.2)
• 3.2 Design Constraints
• C-001:
– AAS shall provide user interface through standard web browsers.
• C-002:
– AAS shall use an open source RDBMS such as Postgres SQL.
• C-003:
– AAS shall be developed using the JAVA programming language
43
Non-functional requirements
• 3.3 Non-Functional Requirements
• N-001:
– AAS shall respond to query in less than 5 seconds.
• N-002:
– AAS shall operate with zero down time.
• N-003:
– AAS shall allow upto 100 users to remotely connect to the system.
• N-004:
– The system will be accompanied by a well-written user manual.
Functional Requirements
• It is desirable to consider every system as:
– Performing a set of functions {fi}.
• Each function fi considered as:
– Transforming a set of input data to corresponding
output data. Input Data
fi
Output Data
Example: Functional Requirement
• F1: Search Book
Author Book Details
– Input: Name f1
• an author’s name:
– Output:
• details of the author’s books and the locations of these books
in the library.
• Functional requirements describe:
Functional
– A set of high-level requirements Requirements
– Each high-level requirement:
• takes in some data from the user
• outputs some data to the user
– Each high-level requirement:
• might consist of a set of identifiable sub-functions
• For each high-level requirement: Functional
Requirements
– A function is described in terms of:
•Input data set
•Output data set
•Processing required to obtain the output data set from
the input data set.
• A high-level function is one: Is it a Functional Requirement?
– Using which the user can get some useful piece of work done.
• Can the receipt printing work during withdrawal of money from an
ATM:
– Be called a functional requirement?
• A high-level requirement typically involves:
– Accepting some data from the user,
– Transforming it to the required response, and then
– Outputting the system response to the user.
• A use case is a term in UML: Use Cases
– Represents a high level functional requirement.
• Use case representation is more well-defined and has
agreed documentation:
– Compared to a high-level functional requirement and its
documentation
– Therefore many organizations document the functional requirements in
terms of use cases