Professional Documents
Culture Documents
Unit 2-1
Unit 2-1
Unit 2-1
Unit: 2
Subject Name
Software Engineering
Deepti Gangwar
Assistant Professor
Course Details
B.Tech. 6th Sem
Department of CSE
Course Objective
Course Outcomes
CO-PO Mapping
CO-PSO Mapping
Syllabus
Prerequisite
Requirement Engineering Process
Elicitation, Analysis, Documentation,
Review and Management of User Needs,
Feasibility Study, Information Modelling,
Data Flow Diagrams,
Entity Relationship Diagrams
Decision Tables,
IEEE Standards for SRS.
Software Quality Assurance :(SQA):
ISO 9000 Models,
SEI-CMM Model
Video Links
Daily Quiz
Weekly Assignment
MCQ
Old Question Papers
Expected Questions for University Exam
Summary
References
Deepti Gangwar KDS 603 Software Engineering Unit II
21/05/2024 3
Syllabus
Unit TOPIC
Introduction: Introduction to Software Engineering, Software Components,
Software Characteristics, Software Crisis, Software Engineering Processes,
Similarity and Differences from Conventional Engineering Processes,
I
Software Quality Attributes. Software Development Life
Cycle (SDLC) Models: Water Fall Model, Prototype Model, Spiral Model,
Evolutionary Development Models, Iterative Enhancement Models.
Unit TOPIC
Software Testing: Testing Objectives, Unit Testing, Integration Testing,
Acceptance Testing, Regression Testing, Testing for Functionality and Testing
for Performance, TopDown and BottomUp Testing Strategies: Test Drivers and
IV Test Stubs, Structural Testing (White Box Testing), Functional Testing (Black
Box Testing), Test Data Suit Preparation, Alpha and Beta Testing of Products.
Static Testing Strategies: Formal Technical Reviews (Peer Reviews), Walk
Through, Code Inspection, Compliance with Design and Coding Standards.
Software Maintenance and Software Project management: Software as an
Evolutionary Entity, Need for Maintenance, Categories of Maintenance:
Preventive, Corrective and Perfective Maintenance, Cost of Maintenance,
Software Re- Engineering, Reverse Engineering. Software Configuration
V
Management Activities, Change Control Process, Software Version Control,
An Overview of CASE Tools. Estimation of Various Parameters such as Cost,
Efforts, schedule/Duration, Constructive Cost Models (COCOMO), Resource
Allocation Models, Software Risk Analysis and Management.
TOPIC Objective
Requirement Engineering To Understand the Requirement
Process Engineering Process
Information Modelling To draw the UFD, DFD diagrams
IEEE Standards for SRS To develop the IEEE standard SRS
document
Software Quality Assurance To Study the Software Quality Assurance
(SQA)
ISO 9000 Models To study the different standards for
SEI-CMM Model software development
Bloom’s
Course Outcomes (CO) Knowledg
e Level
(KL)
Demonstrate the contents of a SRS and apply basic software quality assurance
KDS063.2 practices to ensure that design, development meet or exceed applicable standards. K1, K2
KDS063.3 Compare and contrast various methods for software design K2, K3
KDS063.4 Formulate testing strategy for software systems, employ techniques such as unit K3
testing, Test driven development and functional testing.
Manage software development process independently as well as in teams and make
KDS063.5 use of Various software management tools for development, maintenance and K3
analysis.
CO PO1 PO2 PO3 PO4 PO5 PO6 PO7 PO8 PO9 PO10 PO11 PO12
2 3 3 3 2 - - - - - 3 3
C601.1
3 3 3 3 3 - - - - - 2 3
C601.2
C601.3 3 2 3 2 2 - - - - - 3 3
C601.4 2 2 2 2 3 3 - 3 3 - 3 3
C601.5 2 2 3 2 3 3 - 3 - 3 3 3
TOPIC CO
Requirement Engineering Process CO2
1. Requirement Elicitation
– It is known as requirement gathering.
– Req. is identified with the help of customer and existing
system process.
2. Requirement Analysis
– it is start with req. elicitation.
– It perform to identify inconsistencies, defects, etc.
3. Requirement Documentation
– It is the end product of 1 and 2. known as SRS.
– Doc. 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.
Deepti Gangwar KDS 603 Software Engineering Unit II
21/05/2024 15
Case Study
• 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.
• User Requirements
– User requirement are written for the users and include
functional and non functional requirement.
• System Requirements
– System requirement are derived from user requirement.
– The user system requirements are the parts of software
requirement and specification (SRS) document.
1. Interviews.
2. Brainstorming Sessions.
• 5 Points : V. Important
• 4 Points : Important
• 3 Points : Not Important but nice to have
• 2 Points : Not important
• 1 Points : Unrealistic, required further, exploration
• Final list of requirements categorize like:
• (i) It is possible to achieve
• (ii) It should be deferred & Why
• (iii) It is impossible and should be dropped from
consideration
• First Category requirements will be implemented as per priority
assigned with every requirement.
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
– Decision Table,Deepti
etc. Gangwar KDS 603 Software Engineering Unit II
21/05/2024 43
Finalize the Requirements
• 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.
1. Entity:
An entity may be any object, class, person or place. In the ER diagram, an entity
can be represented as rectangles.
Consider an organization as an example- manager, product, employee,
department etc. can be taken as an entity.
a. Weak Entity
An entity that depends on another entity called a weak entity. The weak entity
doesn't contain any key attribute of its own. The weak entity is represented by
a double rectangle
2. Attribute
The attribute is used to describe the property of an entity. Eclipse is used to
represent an attribute.
For example, id, age, contact number, name, etc. can be attributes of a student.
a. Key Attribute
The key attribute is used to represent the main characteristics of an entity. It
represents a primary key. The key attribute is represented by an ellipse with the
text underlined.
b. Composite Attribute
An attribute that composed of many other attributes is known as a composite
attribute. The composite attribute is represented by an ellipse, and those
ellipses are connected with an ellipse.
c. Multivalued Attribute
An attribute can have more than one value. These attributes are known as a multivalued
attribute. The double oval is used to represent multivalued attribute.
For example, a student can have more than one phone number.
d. Derived Attribute
An attribute that can be derived from other attribute is known as a derived attribute.
It can be represented by a dashed ellipse.
For example, A person's age changes over time and can be derived from another
attribute like Date of birth.
3. Relationship
A relationship is used to describe the relation between entities. Diamond or
rhombus is used to represent the relationship.
a. One-to-One Relationship
When only one instance of an entity is associated with the relationship, then it is
known as one to one relationship.
For example, A female can marry to one male, and a male can marry to one
female.
3. Relationship
A relationship is used to describe the relation between entities. Diamond or
rhombus is used to represent the relationship.
b. One-to-many relationship
When only one instance of the entity on the left, and more than one instance of
an entity on the right associates with the relationship then this is known as a one-
to-many relationship.
For example, Scientist can invent many inventions, but the invention is done by
the only specific scientist.
c. Many-to-one relationship
When more than one instance of the entity on the left, and only one instance of an
entity on the right associates with the relationship then it is known as a many-to-
one relationship.
For example, Student enrolls for only one course, but a course can have many
students.
d. Many-to-many relationship
When more than one instance of the entity on the left, and more than one instance
of an entity on the right associates with the relationship then it is known as a many-
to-many relationship.
For example, Employee can assign by many projects and project can have many
employees.
• 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
• 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.
Username F T F T
(T/F)
Password F F T T
(T/F)
Output E E E H
(E/H)
Deepti Gangwar KDS 603 Software Engineering Unit II
21/05/2024 70
Decision Table(CO2)
• 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.
• Correct: The SRS should be made up the date when appropriate requirements are
identified.
• Unambiguous: When the requirements are correctly understood then only it is
possible to write unambiguous software.
• Complete: To make SRS complete, its hold be specified what a software designer
wants to create software.
• Consistent: It should be consistent with reference to the functionalities identified.
• Specific: The requirements should be mentioned specifically.
• Traceable: What is the need for mentioned requirement? This should be correctly
identified.
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.
• 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
So best s/w Engg. & mgmt . Practices are used throughout the
organization.
• 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