Unit2 SE Updated
Unit2 SE Updated
Unit2 SE Updated
Software Requirement
Specification
Unit: 2
Software Engineering
Dr Poornima Tyagi
ACSE0603
Associate Professor
(B Tech VIth Sem) (CSE)
FACULTY PROFILE
CO PO1 PO2 PO3 PO4 PO5 PO6 PO7 PO8 PO9 PO10 PO11 PO12
AIT0401.1 2 3 3 3 2 - - - - - 3 3
AIT0401.2 3 3 3 3 3 - - - - - 2 3
AIT0401.3 3 2 3 2 2 - - - - - 3 3
AIT0401.4 2 2 2 2 3 3 - 3 3 - 3 3
AIT0401.5 2 2 3 2 3 3 - 3 - 3 3 3
CO1 3 3 - 3
CO2 3 2 2 3
CO3 2 3 - 2
CO4 3 1 - 3
CO5 3 3 - 3
B TECH
(SEM-V) THEORY EXAMINATION 20__-20__
SOFTWARE ENGINEERING
Time: 3 Hours Total Marks:
100
Note: 1. Attempt all Sections. If require any missing data; then choose
suitably.
SECTION A
1. Attempt all questions in brief. 1 x 10 = 10
Q.No. Question Marks CO
1 2
2 2
. .
10 2
SECTION A
2. Attempt all questions in brief. 2 x 5 = 10
Q.No. Question Marks CO
1 2
2 2
. .
5 2
SECTION B
3. Attempt any five of the following: 5 x 6 = 30
Q.No. Question Marks CO
1 6
2 6
. .
7 6
SECTION C
4. Attempt any one part of the following: 1 x 10 = 10
Q.No. Question Marks CO
1 10
2 10
• A Scripting Language
• A Version Control Tool
• Code Editors & IDEs (Integrated Development Environment)
• Databases
• Networking
• Software Development Life Cycle (SDLC)
• Basic Programming Skills
• Innovative Thinking.
• Enthusiasm to learn Management concepts.
• Known Requirements :
– something a stakeholder believes to be implemented.
• Unknown Requirement :
– forgotten by the stakeholder because they are not needed right now
or needed only by another stakeholder.
• Undreamed Requirement :
– stakeholder may not be able to think of new requirements due to
limited domain knowledge.
• Functional Requirements: These describe the specific functions or capabilities that the software system must perform.
Functional requirements typically define what the system should do in response to specific inputs and under certain
conditions. Examples include user authentication, data validation, and report generation.
• Non-functional Requirements: These specify the quality attributes or constraints that the system must meet, rather than
specific behaviors. Non-functional requirements often relate to aspects such as performance, scalability, reliability, security,
usability, and maintainability. Examples include response time, availability, and security measures like encryption.
• Business Requirements: These describe the high-level objectives or goals that the software system aims to achieve for the
organization or business. Business requirements provide the context for the project and help ensure that the software
solution aligns with the strategic objectives of the stakeholders.
• User Interface Requirements: These detail the characteristics of the user interface, including layout, navigation, and
interaction design. User interface requirements ensure that the software system is intuitive, user-friendly, and meets the
needs of its intended users.
• System Requirements: These specify the hardware, software, and network infrastructure needed to support the software
system. System requirements ensure that the software can be deployed and operated effectively in the intended
environment.
• Performance Requirements: These define the performance criteria that the software system must meet, such as response
time, throughput, and resource utilization. Performance requirements ensure that the software system can handle
expected workloads efficiently.
• Usability Requirements: These describe the characteristics of the software system that contribute to its ease of use and
user satisfaction. Usability requirements may include factors such as accessibility, learnability, and error recovery.
• Security Requirements: These outline the security measures that must be implemented to protect the software system
from unauthorized access, data breaches, and other security threats. Security requirements help ensure the confidentiality,
integrity, and availability of the system and its data.
• Regulatory Requirements: These specify the legal and regulatory standards that the software system must comply with,
such as industry regulations or government mandates. Regulatory requirements ensure that the software system meets
relevant legal obligations and industry standards.
– Marks of IV sem. Dissertation is 450. 200 if for internal and 250 for
external.
– If total marks in each subject of a student is 50 % then student is
considered pass otherwise student is considered as failed.
– At any time, the latest information about subjects being offered in various
semesters and their credit points can be obtained from university website.
• It is required to develop a system that manage information about subject
offered in various sem. Students enrolled in various sem. Marks obtained by
students in different sem.
• The system should also have the ability to generate printable mark-sheets for
each student. Semester-wise detailed mark-lists and student performance
reports also need to be generated.
1. Requirement Elicitation(Extraction)
– It is known as requirement gathering.
– Requirement is identified with the help of customer and
existing system process.
2. Requirement Analysis
– It starts with requirement elicitation.
– It perform to identify inconsistencies, defects, etc.
3. Requirement Documentation
– It is the end product of 1 and 2. known as SRS.
– Document provides the foundation of s/w design.
– SRS may act as a contract between developer and customer.
4. Requirement Review
– It is carried out to improve the quality of SRS.
– It may also be called as requirement verification.
Dr. Poornima Tyagi Software Engineering ACSE0603
05/17/2024 28
Unit 2
Requirement Elicitation (CO2)
1. Interviews.
2. Brainstorming Sessions.
Interviews :
Objective of conducting an interview is to understand the customer’s expectations
from the software.
It is impossible to interview every stakeholder hence representatives from groups
are selected based on their expertise and credibility.
Brainstorming Sessions :
It is a group technique.
• It is intended to generate lots of new ideas hence providing a platform
to share views
• A highly trained facilitator is required to handle group bias and group
conflicts.
• Every idea is documented so that everyone can see it.
• Finally, a document is prepared which consists of the list of
requirements and their priority if possible.
Technical Requirements: These are the specific characteristics or attributes of the product that will
satisfy the customer requirements. They are listed across the top of the matrix.
Relationship Matrix: This section of the HOQ shows the strength of the relationship between each
customer requirement and technical requirement. It is filled in based on input from cross-functional
teams and subject matter experts.
Prioritization Scales: These scales are used to assign relative importance or priority to each
customer requirement and technical requirement. They help in focusing efforts on the most critical
aspects of the design.
Translating Customer Requirements into Engineering Characteristics:
Once the House of Quality is completed, the next step is to translate customer requirements into
specific engineering characteristics or design parameters. This involves brainstorming and identifying
potential design solutions that address the technical requirements identified in the HOQ.
Implementing Design Changes: Based on the results of the QFD process, design changes and
improvements are implemented to align the product with customer needs and preferences. This may
involve refining existing features, adding new features, or modifying the product design to better
meet customer expectations.
Continuous Improvement: QFD is not a one-time activity but rather an iterative process that
involves continuous improvement. As customer needs and market conditions change, organizations
use feedback from customers and performance data to refine their products and processes, ensuring
ongoing satisfaction and competitiveness.
05/17/2024 38
Dr. Poornima Tyagi Software Engineering ACSE0603 Unit 2
Use Case Approach
2. Use cases –
They describe the sequence of interactions between actors and the system.
They capture who(actors) do what(interaction) with the system. A complete
set of use cases specifies all possible ways to use the system.
3. Use case diagram –
A use case diagram graphically represents what happens when an actor
interacts with a system. It captures the functional aspect of the system.
1. A stick figure is used to represent an actor.
2. An ellipse is used to represent a use case.
3. A line is used to represent a relationship between an actor and a use
case.
Relationship between
actors and use case
Use Case
Actor and/or between the
use cases.
Flow of events
Basic Flow : List the primary events that will occur when this use
case is executed.
Alternative Flows: Any Subsidiary events that can occur in the
use case should be separately listed. List each such event as an
alternative flow. A use case can have many alternative flows as
required.
Special Requirements : Business rules will be used for writing test
cases. Both success and failures scenarios should be described.
Use Case relationships : For Complex systems Listing the relationships
between use cases also provides a mechanism for traceability
Login
• 1.1 Introduction : This use case describes how a user logs into the
Result Management System.
• 1.2 Actors : (i) Data Entry Operator
(ii) Administrator/Deputy Registrar
• 1.3 Pre Conditions : None
• 1.4 Post Conditions :
If the use case is successful, the actor is logged into the
system. If not, the system state is unchanged.
1.5 Basic Flow : This use case starts when the actor wishes to login to
the Result Management system.
• (i) System requests that the actor enter his/her name and
password.
• (ii) The actor enters his/her name & password.
• (iii) System validates name & password, and if finds correct allow
the actor to logs into the system.
– Data Dictionary
• In DFD
– All names should be unique.
– It is not a flow chart. Arrow represent flowing of data without any order.
– Suppress logical decisions.
– Defer error conditions & handling until the end of the analysis.
Advantage:
• Define data items unambiguously.
• Valuable reference in any organization because it provides
documentation.
• It is a good tool for different stakeholder to understand the
requirements and designs.
• It store the information of all data items that can link to all
phases of SDLC.
• It is an important step in building a database. Most of DBMS have
a data dictionary as a standard format.
• Entities
• Fundamental thing about which data may be maintained. Each
entity has its own identity.
• Entity Type is the description of all entities to which a common
definition and common relationships and attributes apply.
• Entities
• Fundamental thing about which data may be maintained. Each
entity has its own identity.
• Entity Type is the description of all entities to which a common
definition and common relationships and attributes apply.
Relationships
• A relationship is a reason for associating two entity types. Binary
relationships involve two entity types
• A CUSTOMER is insured by a POLICY.
• Relationships are represented by diamond notation in a ER
diagram
Degree of relationship
Condition Condition
Alternatives
• 2-Dim. Matrix:
• Row1 : for each possible actions.
• Row2: for each relevant conditions.
• One column for each combination of condition states.
– Upper rows specify the variables or conditions to be evaluated
and lower rows specify the corresponding actions to be taken
when an evaluation test is satisfied
– A column in a decision table is called a rule. It implies if a
condition is true then execute the corresponding action.
• First case SRS is used to define the needs and expectations of the
user. Second case ,SRS is written for different purpose and serve as
a contract document between customer and developer.
• Complete: The SRS should include all the requirements for the software
system, including both functional and non-functional requirements.
• Consistent: The SRS should be consistent in its use of terminology and
formatting, and should be free of contradictions.
• Unambiguous: The SRS should be clear and specific, and should avoid using
vague or imprecise language.
• Traceable: The SRS should be traceable to other documents and artifacts, such
as use cases and user stories, to ensure that all requirements are being met.
• Verifiable: The SRS should be verifiable, which means that the requirements
can be tested and validated to ensure that they are being met.
• Modifiable: The SRS should be modifiable, so that it can be updated and
changed as the software development process progresses.
• Prioritized: The SRS should prioritize requirements, so that the most important
requirements are addressed first.
3. Specific Requirements
3.1 External Interfaces
3.2 Functions
3.3 Performance requirements
3.4 Logical database requirements
3.5 Design Constraints
3.6 Software System attributes
3.7 Organization of specific requirements
3.8 Additional Comments.
4. External Interface Requirements
5. Non functional Requirements
• Plan review: review team is selected, time and place is fixed for
review meeting.
• Distributed SRS doc: each member should read doc. To find conflict,
inconsistencies, deviations and other problems.
• Organize review meeting: each member present his/her view,
problem are discussed and action on them are approved.
• Follow-up actions: chairperson of team checks that approved action
have been carried out
• Revise SRS doc: SRS doc. Is revised to reflect the approved actions
Verification and Validation: SQA focuses on verifying that software meets the
specified requirements and validating that it functions as intended. It involves
conducting reviews, inspections, and testing to ensure that the software performs
accurately and reliably.
Risk Mitigation: SQA aims to identify potential risks and vulnerabilities in the software
and mitigate them through proactive measures. By conducting risk assessments and
implementing appropriate controls, SQA helps to prevent issues that could lead to
software failure or security breaches.
Customer Satisfaction: SQA strives to meet or exceed customer expectations by
delivering high-quality software. By continuously monitoring and assessing software
quality, SQA ensures that the end product meets the needs of the users, leading to
increased customer satisfaction.
Continuous Improvement: SQA promotes a culture of continuous improvement within
the software development organization. It involves collecting feedback, analyzing
metrics, and learning from past experiences to refine processes and enhance the
overall quality of software products.
– All project use an documented and approved version of the organization standard s/w
process for developing and maintaining s/w.
– But the process and practices are not analyzed quantitatively.
Managed (Maturity Level 4)
– Both the s/w process and product are quantitatively understood and controlled.
– It focus on s/w metrics:
Product metrics: measure the features of the product being developed, such
as its size, reliability, time complexity, understandability, etc.
Process metrics: The software process and product quality are measured, and
quantitative quality requirements for the product are met.
– such as average defect correction time, productivity, the average number of
defects found per hour inspection, the average number of failures detected
during testing per LOC,
So best s/w Engg. & mgmt . Practices are used throughout the organization.
• ISO was published in 1987 as a set of six standards, ISO 8402, ISO
900-1, ISO 9001, ISO 9002, ISO 9003 and ISO 9004-1
2. Initiating Corrective Actions : If the company (ISO Steering Team) finds deficiencies in the
existing quality procedures, then there is a need to correct such deficiencies. Corrective Action
may include investigating causes of non – conforming products and identifying corrective action
to prevent recurrence.
5. Selection of Certification Agency : The company must select an agency to provide ISO 9001
certification. The company may select Bureau of Indian Standards (BIS) or a foreign accredited
agency.
9. Certifications : If the company's QMS meets the requirements of ISO 9001 during the
assessment, the certification agency issues ISO 9001 certification.
10. Surveillance: the certification agency conducts regular surveillance audits to ensure
ongoing compliance with ISO 9001 standards. These audits verify that the company
continues to maintain and improve its QMS over time.
05/17/2024 Dr. Poornima Tyagi Software Engine 116
ering ACSE0603 Unit 2
Faculty Video Links, Youtube & NPTEL Video Links and
Online Courses Details
• https://nptel.ac.in/courses/106/105/106105182/
• https://www.youtube.com/watch?v=crz9WmoUoKc
• https://www.youtube.com/watch?v=rKG7mgVFCTM
• https://www.youtube.com/watch?v=WjwEh15M5Rw