S. E. Computer 210253: Software Engineering: Course Objectives
S. E. Computer 210253: Software Engineering: Course Objectives
Computer
210253: Software Engineering
Course Objectives:
Reference:
• Roger S Pressman “Software Engineering : A Practitioner’s
Approach “ 7th Edition Mcgraw-Hill ISBN:0073375977
Requirements Engineering,
Establishing the Groundwork,
1. Identifying Stakeholders,
2. Recognizing Multiple Viewpoints,
3. working toward Collaboration,
4. Asking the First Questions,
Eliciting Requirements,
1. Collaborative Requirements Gathering,
2. Quality Function Deployment
3. Usage Scenarios
4. Elicitation Work Products,
Developing Use Cases
Building the Requirements Model,
1. Elements of the Requirements Model
Negotiating Requirements,
Validating Requirements.
1-4
REQUIREMENTS ENGINEERING
What is Requirements?
Who does it?
Why it is Important?
5
What is work product?
Why it is Important?
6
Inception-Define Scope and Nature of Problem
Elicitation-Define what is required
Elaboration-Refined and Modify basic requirements
Negotiation-Priorities, Essential, when required
Specification-Function, Constraints and Performance
Validation- Quality Assessment
Management- Identify, Control, Track and Changes
What is work product?
Usage Scenarios, Functions, Feature list, Models
How do I ensure that I’ve done it right?
REQUIREMENTS ENGINEERING
Designing and Building an elegant computer program
that solves the wrong problem serves no one’s needs.
7
build a computer-based system.
8
It must be adapted to the needs of the process, the
project and the people doing the work.
9
o This can be achieved though a number of work
products:
o Usage Scenarios,
o Functions and Features lists,
o Requirements models, or
o Specification.
10
Requirements Engineering (Goals) provides the
appropriate mechanism for understanding
What the customer wants?
Analyzing Needs,
Assessing Feasibility,
Negotiating a reasonable solution,
Specifying the solution Unambiguously,
Validating the specification,
Managing all the Requirements,
Transformed into an operational system and
construction.
REQUIREMENTS ENGINEERING
TASKS
1. Inception
2. Elicitation
3. Elaboration
4. Negotiation
5. Specification
6. Validation
7. (Requirements) management
Inception
Elicitation
Elaboration
12
Negotiation
Specification
Validation
Requirements
Management
1) INCEPTION:
Inception: Specifying the beginning of the software
project
13
Most projects begin when a business need is
identified or a potential new market or service is
discovered.
Stakeholders* from the business community (e.g.,
business managers, marketing people, product
managers) define a business case for the idea, try to
identify the breadth and depth of the market, do a
rough feasibility analysis, and identify a working
description of the project’s scope.
* Stakeholders: an entity that takes active participation in project development (Feasibility study and scope of project)
1) INCEPTION:
All of this information is subject to change, but it is
sufficient to precipitate discussions with the software
engineering organization.
14
the people who want a solution, the nature of the
solution that is desired, and the effectiveness of
preliminary communication and collaboration between
the other stakeholders and the software team.
Purpose:
Basic understanding of project.
15
2) ELICITATION:
Ask the customer, the users, and others
o The objectives for the system or product are,
o What is to be accomplished,
o How the system or product fits into the needs of the
16
business,
o How the system or product is to be used on a day-to-
day basis.
17
Christel and Kang identify a number of problems that
are encountered as elicitation occurs.
Issues in Elicitation :
1. Problems of scope
2. Problems of understanding
3. Problems of volatility
2.1 PROBLEMS OF SCOPE:
18
2.2 PROBLEMS OF UNDERSTANDING
The customers/users
1. Not completely sure of what is needed?
19
3. Don’t fully understanding the problem domain,
20
3. ELABORATION
The information obtained from the customer during inception and
elicitation is expanded and refined during elaboration.
21
various aspects of software function, behavior, and information.
22
produced.
23
It’s also relatively common for different customers to
propose conflicting requirements
24
addresses internal conflicts,
25
scenarios, a prototype, or any combination of
these.
26
Requirements validation examines the specification to
ensure that all software requirements have been stated
unambiguously; that inconsistencies, omissions, and
errors have been detected and corrected;
FTR
The primary requirements validation mechanism is the
technical review.
27
3. users, and
4. other stakeholders
28
the project team identify, control, and track
requirements and changes to requirements at any time
as the project proceeds. (Software Configuration
Management Techniques)
29
Elaboration •
Analyzing Phase
Negotiation
Specification
Extraction
Validation
Problem of Problem of Problem of
scope understanding Volatility
Requirements
Management
Inception
Elicitation
30
Elaboration
Negotiation Cooperation
Requirements
Management
SCM
31
SOFTWARE REQUIREMENTS
o Description of services which a software will provide to
the end user.
32
also part of the requirements.
33
Customer(s) or end users
1. May be located in a different city or country,
2. May have only a vague idea of what is required,
3. May have conflicting opinions about the system to be
built,
4. May have limited technical knowledge, and
5. May have limited time to interact with the requirements
engineer
ESTABLISHING THE GROUNDWORK
o Steps required to establish the ground work for an
understanding of software requirements to get the project
started in a way that will keep it moving forward toward
a successful solution.
34
1. Identifying Stakeholders
2. Recognizing Multiple Viewpoints
3. Working toward Collaboration
4. Asking the First Questions
ELICITING REQUIREMENTS
• Requirements elicitation (also called requirements
gathering) combines elements of
problem solving,
elaboration,
35
negotiation, and
Specification.
36
2. Questionaries' ( Understanding problem, issues and
constraints)
37
2. QUALITY FUNCTION DEPLOYMENT
Collaboration- ….
38
Basic Guidelines
• Meetings are conducted and attended by both software
engineers, customers, and other interested stakeholders.
39
• An " agenda " is suggested that is formal enough to cover
all important points but informal enough to encourage the
free flow of ideas.
40
3. NEGOTIATE DIFFERENT APPROACHES
41
QFD “concentrates on maximizing customer
satisfaction from the software engineering process”.
2. EXPECTED REQUIREMENTS
42
3. EXCITING REQUIREMENTS
NORMAL REQUIREMENTS
Examples:
Requested types of graphical displays,
Specific system functions
Defined levels of performance.
EXPECTED REQUIREMENTS
Examples:
Examples :
word processing software:
Basic features are always provided by default.
Advanced Graphical Features are exciting
QUALITY FUNCTION DEPLOYMENT
47
thread of usage for the system to be constructed.
*Use cases..
4. ELICITATION WORK PRODUCTS
• A STATEMENT OF NEED AND FEASIBILITY.
48
• A DESCRIPTION OF THE SYSTEM’S TECHNICAL ENVIRONMENT.
• A SET OF USAGE SCENARIOS THAT PROVIDE INSIGHT INTO THE USE OF THE
SYSTEM OR PRODUCT UNDER DIFFERENT OPERATING CONDITIONS.
• Extend is used when a use case adds steps to another first-class use case.
• Include is used to extract use case fragments that are duplicated in
1-50
multiple use cases.
USE CASES
• Use cases are a useful tool for software product managers
and their development teams when establishing
requirements.
1-52
USE CASES
• The first step in writing a use case is to define the set of “actors”
that will be involved in the story.
• Actors are the different people (or devices) that use the system or
product within the context of the function and behavior that is to
be described.
• Actors represent the roles that people (or devices) play as the
system operates.
• Every actor has one or more goals when using the system
1-53
USE CASES
• Primary actors interact to achieve required system function and
derive the intended benefit from the system.
1-54
USE CASES
• Jacobson suggests a number of questions12 that should be
answered by a use case.
1. Who is the primary actor, the secondary actor(s)?
2. What are the actor’s goals?
3. What preconditions should exist before the story begins?
4. What main tasks or functions are performed by the actor?
5. What exceptions might be considered as the story is
described?
6. What variations in the actor’s interaction are possible?
7. What system information will the actor acquire, produce, or
change?
8. Will the actor have to inform the system about changes in
the external environment?
9. What information does the actor desire from the system?
10. Does the actor wish to be informed about unexpected 1-55
changes?
USE CASES
1-56
BUILDING THE REQUIREMENT MODEL
• The intent of the analysis model is to provide a description of the
required informational, functional, and behavioral domains for
a computer-based system.
How
Ext.
events
System as
change
information
state of
transform.
system
(Data object)
3. REQUIREMENT DISCOVER
66
1. INTERVIEWING
2. VIEW POINT
3. USE CASES
4. ETHOGRAPHY
1. REQUIREMENT VALIDATION
• TECHNIQUIES
1. REQUIREMENT REVIEWS
2. PROTOTYPING
3. TEST CASE GENERATION
2. REQUIREMENT MANAGEMENT
1. ENDURING AND VOLATILE REQUIREMENT
2. REQUIREMENT MANAGEMENT PLANNING
3. REQUIREMENT CHANGE MANAGEMENT
STAKEHOLDERS
1-67
1-68
Fig. Requirement elicitation and analysis process
MULTIPLE VIEWPOINT
Prototype
Complete Evaluation 1-71
system
development System
Prototype
1-72
SRS
SOFTWARE REQUIREMENTS SPECIFICATION
Problems without SRS :
Goals :
Feedback to Customer,
73
Problem decomposition,
Input to design specification,
Production Validation Check
Useful in:
Estimation Cost
Planning Team Activity
Performing Task
Tracking Team Progress throughout development.
WHO ARE USING SRS ?
74
Who Writes SRS? System Architects and Programmers
75
Templates can be helpful for presenting statements and managing their traceability.
SOFTWARE REQUIREMENTS SPECIFICATION
TEMPLATE (IEEE 87, IEEE 94)
1. Introduction
1.1 Purpose
1.2 Scope
1.3 Definition, Acronyms and Abbreviations
76
1.4 References
1.5 Overview
2. Overall (General) Description
2.1 Product Perspective
System Interfaces
Interfaces
Hardware Interfaces
Software Interfaces
Communication
Memory constraints
Operations
77
2.6 Apportioning of Requirements
3. Specific Requirements
3.1 External Interfaces
3.2 Functions Requirments
3.3 Performance Requirements
3.4 Logical Database Requirements
3.5 Design Constraints
Standard Compliances
Hardware Limitations
SOFTWARE REQUIREMENTS SPECIFICATION
TEMPLATE (IEEE 87, IEEE 94)
3.6 Software System Attributes
Reliability
Availability
Security
78
Maintainability
Portability
Objects
Features
Stimulus
Response
Functional Hierarchy
79
6. Supporting Information
Table of content
Index
Appendices
References
80
Sugar level stable L3 = L2 Dose d=0
Sugar level increasing & (L3 - L2) < (L2 < L1) Dose d=0
rate of increasing is
decreasing
Sugar level increasing & (L3 - L2) >= (L2 < L1) Dose
rate of increasing is d= Round[(L3 - L2) /4]
stable or increasing If Rounded result = 0
Dose d=min_Dose
STRUCTURED SRS
Purpose: Compute Insulin dose to maintain level
Problem description : current sugar level in safe zone
then compute required insulin.
I/P: Previous(L1,L2),Current (L3)
Action: status..
Requirements :Previous(L1,L2)
Post-condition: L1L2,L2L3
1-82
Tabular SRS
1-83
CHARACTERISTICS OF SRS
Correctness: Every requirements in final system
Completeness : what s/w designer want to create a s/w.
Focusing on problems, goals and objective. Fulfill Scope
and boundaries
Consistent : ref. to functionalities identified, correct
84
results across the system.
Modifiable : structure & style
Valid :
Accurate :
Ranking :
REQUIREMENTS ENGINEERING
o Description of the system services and constraints.
o It can range from a high level abstract statement of a
service to a detail mathematical functional specification.
o Types:
85
1. User Requirements: Natural Language statements by
customer, for customers.
2. System Requirements: Structured document detailed
description of system services. Functions Service,
Constraints. structured document, serves as contract
between customer and developer.
3. Software Requirements: Detailed software description
that serves as a basis for design or implementation by
developer.
4. **Interface Specification: Application Programming
Interfaces(API) are specifies SRS. What kind of interfaces
customer desires
USER AND SYSTEM REQUIREMENTS
86
FUNCTIONAL , NON FUNCTIONAL REQUIREMENTS
&
87
GOALS OF IMPLEMENTATION
88
This is the list of the services/ Functions which a
user wants from the software,
89
developing software.
Functional Requirements:
Enlist Facilities provided by ATM……
NON FUNCTIONAL REQUIREMENTS
How a system should behave while performing the
operations.
90
Sometimes called as Quality Attributes.
91
Recoverability,
These are not ignorable requirements you can’t say as these are
non-functional so we should not worry about it.
More critical than functional requirements.
These requirements are something which user do not explain most of
the time but want in the system.
These requirements are directly related to the using experience
of user and end user,
1-92
Classification Of Non-Functional Requirements
PERFORMANCE REQUIREMENTS
AND TYPES & METRICS
Performance or Durability of functioning.
Metrics used to specify Non Functional Requirments
measured during testing.
93
Property Metrics
Speed (speed of the processed Events per response time processed
transactions) transaction per second.
Size Kilobytes
Reliability MTTF, Rate of failure, Occurrence
availability
Robustness Time to recover after failure,
Probability of events causing failure
94
Requirements.
95
Fig. Requirements Engineering process :
Feasibility Study
96
Requirements Elicitation & Analysis
Requirements Specification
Requirements Validation
Generic Activities
1. Requirement Elicitation
2. Requirement Analysis
3. Requirement Validation
97
4. RequirementManagement
98
The web application shall be able to cash a sale.
99
The web application shall be available in several languages.
100
TECHNIQUIES
1. REQUIREMENT REVIEWS
2. PROTOTYPING
3. TEST CASE GENERATION
REQUIREMENTS VALIDATION TECHNIQUES
Requirement Reviews:
Manual Analysis of system.
Involvement of Stakeholders.
Formal or Informal Reviews.
Healthy communication.
101
Prototyping:
Check requirements by Executable model of system
102
abstraction? That is, do some requirements provide a level of
technical detail that is inappropriate at this stage?
103
that will house the system or product?
104
1. Enduring:
Stable requirements derived from core activity of organization.
2. Volatile:
Requirements may get changes
Mutable Requirements
Consequential
Emergent
Compatible
REQUIREMENTS MANAGEMENT
REQUIREMENT MANAGEMENT PLANNING
105
Traceability Types
Source Traceability
Requirements Traceability
Design Traceability
REQUIREMENTS MANAGEMENT
After the requirements are finalized, a Traceability Table is
developed.
Features Traceability Table
Software Traceability Table
Dependency Traceability Table
106
Subsystem Traceability Table
Interface Traceability Table
REQUIREMENTS MANAGEMENT
107
Observes the relationships between the requirements.
108
R02
R03
R04
REQUIREMENT CHANGE MANAGEMENT
Requirements may get changed.
109
1. Problem Analysis and Change Specification
2. Change Analysis and Costing
3. Change Implementation
CASE STUDY : MENTAL HEALTH CARE PATIENT
MANAGEMENT SYSTEM (MHC-PMS)
System Description:
Information system
Centralized database
Online or Offline connectivity
110
Interact or exchange data with other clinical Information System
Goal of MHC-PMS:
Provide the Information
Generate management information
Functionality:
Individual Care Management
Patient Monitoring
Administrative Reporting
REQUIREMENTS ANALYSIS over……
111
DEVELOPING USE CASES
112
Step Two – Develop use cases, where each one answers a
set of questions
113
What are the actor’s goals?
Continue…
What variations in the actor’s interaction are
possible?
114
Will the actor have to inform the system about
changes in the external environment?
116
117
2020-21 (SEMESTER 2)
SUBJECT: SOFTWARE ENGINEERING
THEORY ASSIGNMENT 2
S.E. COMPUTER
UNIT II
Course Outcome: 02
Date of giving Assignment: / /2021
Submission Date: / /2021
Q1.Explain the Importance of Requirements Engineering and list the
tasks involved.
119
Q4.What are Functional and non functional requirements of
software.
Q5. Discuss Case study of Insulin Pump with Tabular SRS and Structured
SRS