0% found this document useful (0 votes)
63 views6 pages

Software Requirements Analysis Overview

The document discusses requirement analysis and modeling in software development. It covers topics like software requirement specification (SRS), requirement analysis steps, data flow diagrams, entity relationship diagrams, and data dictionaries. The key goals of SRS are to define user needs, serve as a contract between customers and developers, and lay the foundation for software engineering activities. An effective SRS is complete, consistent, unambiguous, modifiable, traceable, testable, understandable by customers, and shows conceptual integrity.

Uploaded by

Danna Valdez
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
63 views6 pages

Software Requirements Analysis Overview

The document discusses requirement analysis and modeling in software development. It covers topics like software requirement specification (SRS), requirement analysis steps, data flow diagrams, entity relationship diagrams, and data dictionaries. The key goals of SRS are to define user needs, serve as a contract between customers and developers, and lay the foundation for software engineering activities. An effective SRS is complete, consistent, unambiguous, modifiable, traceable, testable, understandable by customers, and shows conceptual integrity.

Uploaded by

Danna Valdez
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd

Requirement Analysis and Modeling

Introduction
Requirement Analysis and Modeling are significant steps in developing any kinds of
software. It reviews all requirements and provides a graphical view of the entire system using
diagrams. After the completion of the analysis, it is expected that the understandability of the
project may improve significantly. This unit covers the topics on Software Requirement
Specification, Steps in Requirement Analysis, Data Flow Diagram and Entity Relationship
Diagrams, and create Data Dictionaries Files.

Unit Learning Outcomes


By the end of the unit, students should be able to:
1. Understand the importance of Software Requirements Specification Report in developing
system application.
2. Make a graphical view of frontend and backend structural design of the system by creating a
model using ERD and DFD.
3. Create a Data Dictionaries Files for database design.
4. Write a System Analysis Report.

Activating Prior Knowledge


10 items Diagnostic Test

Topic 1: Software Requirement Specification


Time Allotment: 1 Hour

Learning Objectives
At the end of this unit, students will be able to
 Understand the importance and use of Software Requirements Specification Report in
Software Development
 Learn the different features and properties of a good SRS Document
 Construct a Software Requirements Specification Report

Presentation of Contents
The production of the requirements stage of the software development process is
Software Requirements Specifications (SRS) (also called a requirements document). This report
lays a foundation for software engineering activities and is constructing when entire
requirements are elicited and analyzed. SRS is a formal report, which acts as a representation of
software that enables the customers to review whether it (SRS) is according to their
requirements. Also, it comprises user requirements for a system as well as detailed specifications
of the system requirements.
The SRS is a specification for a specific software product, program, or set of applications
that perform particular functions in a specific environment. It serves several goals depending on
who is writing it. First, the SRS could be written by the client of a system. Second, the SRS
could be written by a developer of the system. The two methods create entirely various situations
and establish different purposes for the document altogether. The first case, SRS, is used to
define the needs and expectation of the users. The second case, SRS, is written for various
purposes and serves as a contract document between customer and developer.

Software Requirement Specification Report Sample Content


1. Introduction.
2. Functional data description.
3. Subsystem description.
4. System modeling and simulation results.
5. Products.
6. Appendices.

Types of Requirements
The two types of requirements are
1. Functional requirements:
a. input/output
b. Processing.
c. Error handling.
2. Non-functional requirements:
a. Physical environment (equipment locations, multiple sites, etc.).
b. Interfaces (data medium etc.).
c. User & human factors (who are the users, their skill level etc.).
d. Performance (how well is system functioning).
e. Documentation.
f. Data (qualitative stuff).
g. Resources (finding, physical space).
h. Security (backup, firewall).
i. Quality assurance (max. down time, MTBF, etc.).
Characteristics of good SRS

Following are the features of a good SRS document:


1. Correctness: User review is used to provide the accuracy of requirements stated in the SRS.
SRS is said to be perfect if it covers all the needs that are truly expected from the system.
2. Completeness: The SRS is complete if, and only if, it includes the following elements:
(1). All essential requirements, whether relating to functionality, performance, design,
constraints, attributes, or external interfaces.
(2). Definition of their responses of the software to all realizable classes of input data in
all available categories of situations.
(3). Full labels and references to all figures, tables, and diagrams in the SRS and
definitions of all terms and units of measure.
3. Consistency: The SRS is consistent if, and only if, no subset of individual requirements
described in its conflict. There are three types of possible conflict in the SRS:
(1). The specified characteristics of real-world objects may conflicts. For example,
(a) The format of an output report may be described in one requirement as tabular
but in another as textual.
(b) One condition may state that all lights shall be green while another states that
all lights shall be blue.
(2). There may be a reasonable or temporal conflict between the two specified actions.
For example,
(a) One requirement may determine that the program will add two inputs, and
another may determine that the program will multiply them.
(b) One condition may state that "A" must always follow "B," while other
requires that "A and B" co-occurs.
(3). Two or more requirements may define the same real-world object but use different
terms for that object. For example, a program's request for user input may be called a
"prompt" in one requirement's and a "cue" in another. The use of standard terminology
and descriptions promotes consistency.
4. Unambiguousness: SRS is unambiguous when every fixed requirement has only one
interpretation. This suggests that each element is uniquely interpreted. In case there is a method
used with multiple definitions, the requirements report should determine the implications in the
SRS so that it is clear and simple to understand.
5. Ranking for importance and stability: The SRS is ranked for importance and stability if
each requirement in it has an identifier to indicate either the significance or stability of that
particular requirement.
Typically, all requirements are not equally important. Some prerequisites may be essential,
especially for life-critical applications, while others may be desirable. Each element should be
identified to make these differences clear and explicit. Another way to rank requirements is to
distinguish classes of items as essential, conditional, and optional.
6. Modifiability: SRS should be made as modifiable as likely and should be capable of quickly
obtain changes to the system to some extent. Modifications should be perfectly indexed and
cross-referenced.
7. Verifiability: SRS is correct when the specified requirements can be verified with a cost-
effective system to check whether the final software meets those requirements. The requirements
are verified with the help of reviews.
8. Traceability: The SRS is traceable if the origin of each of the requirements is clear and if it
facilitates the referencing of each condition in future development or enhancement
documentation.
There are two types of Traceability:
1. Backward Traceability: This depends upon each requirement explicitly referencing its
source in earlier documents.
2. Forward Traceability: This depends upon each element in the SRS having a unique
name or reference number.
The forward traceability of the SRS is especially crucial when the software product enters the
operation and maintenance phase. As code and design document is modified, it is necessary to be
able to ascertain the complete set of requirements that may be concerned by those modifications.
9. Design Independence: There should be an option to select from multiple design alternatives
for the final system. More specifically, the SRS should not contain any implementation details.
10. Testability: An SRS should be written in such a method that it is simple to generate test
cases and test plans from the report.
11. Understandable by the customer: An end user may be an expert in his/her explicit domain
but might not be trained in computer science. Hence, the purpose of formal notations and
symbols should be avoided too as much extent as possible. The language should be kept simple
and clear.
12. The right level of abstraction: If the SRS is written for the requirements stage, the details
should be explained explicitly. Whereas,for a feasibility study, fewer analysis can be used.
Hence, the level of abstraction modifies according to the objective of the SRS.

Properties of a good SRS document


The essential properties of a good SRS document are the following:
Concise: The SRS report should be concise and at the same time, unambiguous, consistent, and
complete. Verbose and irrelevant descriptions decrease readability and also increase error
possibilities.
Structured: It should be well-structured. A well-structured document is simple to understand
and modify. In practice, the SRS document undergoes several revisions to cope up with the user
requirements. Often, user requirements evolve over a period of time. Therefore, to make the
modifications to the SRS document easy, it is vital to make the report well-structured.
Black-box view: It should only define what the system should do and refrain from stating how to
do these. This means that the SRS document should define the external behavior of the system
and not discuss the implementation issues. The SRS report should view the system to be
developed as a black box and should define the externally visible behavior of the system. For this
reason, the SRS report is also known as the black-box specification of a system.
Conceptual integrity: It should show conceptual integrity so that the reader can merely
understand it. Response to undesired events: It should characterize acceptable responses to
unwanted events. These are called system response to exceptional conditions.
Verifiable: All requirements of the system, as documented in the SRS document, should be
correct. This means that it should be possible to decide whether or not requirements have been
met in an implementation.

Common questions

Powered by AI

A high-quality SRS document is characterized by correctness, completeness, consistency, unambiguousness, modifiability, verifiability, traceability, and design independence, among other attributes. Such documents are concise, structured, maintainable, and reflect a black-box view, focusing on what the system should do rather than how .

The SRS serves as a contract document by explicitly outlining the customer's needs and expectations in a formalized structure. It acts as a reference point to gauge whether the developed system meets the specified requirements, thereby minimizing disputes and ensuring accountability from both parties .

An SRS ensures verifiability by defining requirements in a way that can be systematically checked against the final system output. This specificity enables tests to determine if the software meets agreed requirements, reducing the risk of unmet expectations and confirming performance standards .

Traceability allows for efficient tracking of requirement origins and their evolution, facilitating change management in the SRS. It ensures that any updates in requirements can be accurately reflected, maintaining alignment with the initial objectives and enabling informed adjustments to the system design and functionality .

Including responses to exceptional conditions in an SRS enhances software robustness by preparing the system for unforeseen events, reducing potential failures. This foresight increases reliability and boosts user satisfaction by ensuring system stability and performance under varied operational circumstances .

Design Independence is crucial because it ensures the SRS does not contain implementation details, allowing for multiple design alternatives for the final system. This separation permits creative and flexible solutions from the development team, enhancing system adaptability and innovation .

The black-box view improves readability by simplifying the document's focus solely on the system's external behavior, avoiding implementation specifics that can clutter comprehension. It ensures the SRS remains user-centric, clearly defining what the system should do without delving into how it should be done, thus maintaining system design flexibility .

DFDs and ERDs provide a graphical view of the entire system, enhancing understandability by visually representing the flow of data and the relationships between entities. This helps in identifying inconsistencies and areas that require more detail, thus improving requirement precision .

Maintaining a concise nature in an SRS document prevents verbosity that can obscure essential information, thereby enhancing clarity and efficiency in requirement comprehension. It minimizes errors and misinterpretations, leading to smoother development processes and more accurate implementation of system functions .

Ranking requirements based on importance and stability helps prioritize tasks, ensuring critical system functions receive focus and resources. It distinguishes between essential, conditional, and optional requirements, aiding in efficient resource allocation and facilitating better decision making during development .

You might also like