0% found this document useful (0 votes)
29 views55 pages

Unit 1

se u-1
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
29 views55 pages

Unit 1

se u-1
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 55

GURU NANAK INSTITUTIONS TECHNICAL CAMPUS

(Autonomous)

Introduction to Software Engineering

UNIT NO:1

SOFTWARE ENGINEERING (18PC0AM03)


II B.Tech- Sem-1
By
G . Swarnalatha,Asst Prof

Dept. of CSE
List of the Topics
The evolving role of software
Changing Nature of Software
Software myths
Software engineering- A layered
technology
Process framework
The Capability Maturity Model Integration
(CMMI)
Process patterns
Process assessment
Personal and team process models
Dept. of CSE
Text Books

1.Software Engineering, A practitioner’s approach


Roger s. Pressman 6th edition McGraw-Hill

2.Software Engineering Somerville 7th edition

Dept. of CSE
Reference Books
 Software Engineering- K.K. Agarwal & Yogesh Singh,
New Age International Publishers

Software Engineering principles and practice- Waman S


Jawadekar, The McGraw-Hill Companies

Software Engineering, Principles and Practices, Deepak


Jain, Oxford University Press

Dept. of CSE
Objective of the Unit

To better understand the nature of software and the


role of software.

To foster an understanding of the basic knowledge


required in a software engineering application domain
track, process framework and Capability Maturity
Model.

Dept. of CSE
Outcome of the Unit

Understand basic concepts of software


engineering and the role of Software in
nature.

 Understand the layered technology , Process


framework and Capability Maturity model.

Dept. of CSE
Pre-requisites

Students must have knowledge on computer and their


functions.

Students must know the difference between software


and hardware concepts.

Dept. of CSE
Revision of the connected subject
What is Computer?

What is the block diagram of computer?

 What is Software?

 What is Hardware?

Dept. of CSE
The Evolving role of software

Dual role of Software


 A Product

- Information transformer-
producing, managing and displaying
 A Vehicle for delivering a product

- Control of computer(operating system),the


communication of
information(networks) and the creation of other
programs
Dept. of CSE
 Software is defined as (Name of the Text book)
1. Instructions
- Programs that when executed provide desired
function
2. Data structures
-Enable the programs to adequately manipulate
information.
3. Documents
-Describe the operation and use of the
programs.

Dept. of CSE
Definition of Engineering

-Application of science, tools and methods to find cost


effective solution to problems

Definition of SOFTWARE ENGINEERING

- SE is defined as systematic, disciplined and


quantifiable approach for the development, operation
and maintenance of software
Dept. of CSE
Characteristics of software
Software is developed or engineered, it is not
manufactured in the classical sense.
Software does not wear out. However it deteriorates
due to change.
Software is custom built rather than assembling
existing components.
-Although the industry is moving towards component
based construction, most software continues to be
custom built

Dept. of CSE
CHARACTERISTICS OF HARDWARE

“Infant
mortality” “Wear out”
Failure rate

Time

Fig: FAILURE CURVE FOR HARDWARE

Dept. of CSE
CHARACTERISTICS OF SOFTWARE

Fig: FAILURE CURVE FOR SOFTWARE

Dept. of CSE
THE CHANGING NATURE OF SOFTWARE
Seven Broad Categories of software are challenges for
software engineers
System software
Application software
Engineering and scientific software
Embedded software
Product-line software
Web-applications
Artificial intelligence software

Dept. of CSE
System software. System software is a collection of
programs written to service other programs
Embedded software
It resides in read-only memory
It is used to control products and systems for the
consumer and industrial markets.
Artificial intelligence software. Artificial
intelligence (AI) software makes use of nonnumeric
algorithms to solve complex problems that are not
amenable to computation or straightforward analysis
Engineering and scientific software. Engineering
and scientific software have been characterized by
"number crunching" algorithms.

Dept. of CSE
LEGACY SOFTWARE

Legacy software are older programs that are


developed decades ago.

The quality of legacy software is poor because


it has inextensible design, convoluted code,
poor and nonexistent documentation, test cases
and results that are not achieved.

Dept. of CSE
As time passes legacy systems evolve due to
following reasons:
The software must be adapted to meet the needs of
new computing environment or technology.
The software must be enhanced to implement new
business requirements.
The software must be extended to make it
interoperable with more modern systems or
database
The software must be rearchitected to make it
viable within a network environment.

Dept. of CSE
Software Evolution
Software evolves due to changes
Changes occur due to correction, adaption and
enhancement
8 Laws of unified theory
 The Law of Continuing Change.

 The Law of Increasing Complexity.

 The Law of Self-Regulation

 The Law of Conservation of Organizational

Stability.

Dept. of CSE
 The Law of Conservation of Familiarity

 The Law of Continuing Growth

 The Law of Declining Quality

 The Feedback System Law

Dept. of CSE
SOFTWARE MYTHS
Widely held but false view
Propagate misinformation and confusion
Three types of myth
- Management myth
- Customer myth
- Practitioner’s myth

Dept. of CSE
MANAGEMENT MYTHS
Myth(1)
-The available standards and procedures

for software
are enough.

Myth(2)
-Each organization feel that they have state-of-art
software development tools since they have latest
computer.
Dept. of CSE
Myth(3)
-Adding more programmers when the work is behind
schedule can catch up.

Myth(4)
-Outsourcing the software project to third party, we
can relax and let that party build it.

Dept. of CSE
CUSTOMER MYTH

Myth(1)
- General statement of objective is enough to begin
writing programs, the details can be filled in later.

Myth(2)
-Software is easy to change because software is
flexible

Dept. of CSE
PRACTITIONER’S MYTH
Myth(1)
-Once the program is written, the job has been done.

Myth(2)
-Until the program is running, there is no way of
assessing the quality.

Dept. of CSE
Myth(3)
-The only deliverable work product is the working
program

Myth(4)
-Software Engineering creates voluminous and
unnecessary documentation and invariably slows
down software development.

Dept. of CSE
Important questions

1.Explain evolving role of software

2.Write about software myths. Explain all software myths.

3. Explain the changing nature of software?

Dept. of CSE
SOFTWARE ENGINEERING-A LAYERED
TECHNOLOGY
Tools

Methods

Process

Quality of Focus

Fig: Software Engineering-A layered technology

Dept. of CSE
SOFTWARE ENGINEERING-A LAYERED
TECHNOLOGY
Quality focus
- Bedrock that supports software Engineering.
Process
- Foundation for software Engineering
Methods
- Provide technical How-to’s for building software
Tools
- Provide semi-automatic and automatic support
to methods

Dept. of CSE
A PROCESS FRAMEWORK
Establishes the foundation for a complete software
process

Identifies a number of framework activities


applicable to all software projects

Also include a set of umbrella activities that are


applicable across the entire software process.

Dept. of CSE
A PROCESS FRAMEWORK
Common process framework

Framework activities
Task sets
TTTasks

Milestones,delierables

SQA points

Umbrella activities

Dept. of CSE
A PROCESS FRAMEWORK
Used as a basis for the description of process models
Generic process activities
 Communication

 Planning

 Modeling

 Construction

 Deployment

Dept. of CSE
A PROCESS FRAMEWORK
Generic view of engineering complimented by a
number of umbrella activities
 Software project tracking and control
 Formal technical reviews
 Software quality assurance
 Software configuration management
 Document preparation and production
 Reusability management
 Measurement
 Risk management

Dept. of CSE
CAPABILITY MATURITY MODEL
INTEGRATION(CMMI)

Developed by SEI(Software Engineering institute)

Assess the process model followed by an organization


and rate the organization with different levels

A set of software engineering capabilities should be


present as organizations reach different levels of
process capability and maturity levels.

Dept. of CSE
CMMI process meta model can be represented in
different ways
1.A continuous model
2.A staged model
Continuous model:
-Lets organization select specific improvement that best
meet its business objectives and minimize risk
-Levels are called capability levels.
-Describes a process in 2 dimensions
-Each process area is assessed against specific goals and
practices and is rated according to the following
capability

Dept. of CSE
CMMI
Six levels of CMMI
 Level 0:Incomplete
 Level 1:Performed
 Level 2:Managed
 Level 3:Defined
 Level 4:Quantitatively managed
 Level 5:Optimized

Dept. of CSE
CMMI
Incomplete
-Process is adhoc.Objective and goal of process areas
are not known

Performed
-Goal,objective,work tasks,work products and other
activities of software process are carried out

Managed
-Activities are monitored, reviewed, evaluated and
controlled
Dept. of CSE
Defined
-Activities are standardized, integrated and
documented

Quantitatively Managed
-Metrics and indicators are available to measure the
process and quality

Optimized
- Continuous process improvement based on
quantitative feed back from the user
-Use of innovative ideas and techniques, statistical
quality control and other methods for process
improvement.
Dept. of CSE
CMMI
Staged model
-This model is used if you have no clue of how to
improve the process for quality software.

- It gives a suggestion of what things other


organizations have found helpful to work first

- Levels are called maturity levels

Dept. of CSE
LEVEL FOCUS PROCESS AREA
Optimizing Continuous process -Organizational Innovation and
Improvement Deployment
-Causal Analysis and Resolution

Quantitatively Quantitative management -Organizational process performance


managed -Quantitative project management
Defined Process standardized Requirements Development
Technical Solution
Product Integration
Verification
Validation
Organizational Process Focus
Organizational Process Definition
Organizational Training
Integrated Project Management
Risk Management

Dept. of CSE
−Integrated Teaming
−Integrated Supplier
Management
−Decision Analysis and
Resolution
−Organizational Environment
for Integration
Managed Basic project management Requirements Management
Project Planning
Project Monitoring and
Control
Supplier Agreement
Measurement and Analysis
Process and Product
Quality Assurance
Configuration Management
Performed

Dept. of CSE
PROCESS PATTERNS
Software Process is defined as collection of Patterns

Process pattern provides a template

Process Template
-Pattern Name
-Intent
-Type
-Task pattern
- Stage pattern
-Phase Pattern
Dept. of CSE
GURU NANAK INSTITUTIONS TECHNICAL CAMPUS
(Autonomous)

Initial Context

Problem

Solution

Resulting Context

Related Patterns

Dept. of CSE
PROCESS ASSESSMENT

Does not specify the quality of the software or


whether the software will be delivered on time or will
it stand up to the user requirements.

It attempts to keep a check on the current state of the


software process with the intention of improving it.

Dept. of CSE
PROCESS ASSESSMENT
Software Process

Ex
by am Ca
in pa
ed
bi
liti
es
s
es
to

e
i
i
f
f
ti
ti
Software Process &
n

n
n
io

e Ri
e
at

Id Assessment Id
sk
ific

Le
od

to a ds
M

s t
ad o
Le

Software Process Motivates Capability determination


improvement

Dept. of CSE
APPROACHES TO SOFTWRE
ASSESSMENT
Standard CMMI assessment (SCAMPI)

CMM based appraisal for internal process


improvement

SPICE(ISO/IEC 15504)

ISO 9001:2000 for software

Dept. of CSE
Personal and Team Software Process
Personal software process
PLANNING

HIGH LEVEL DESIGN

HIGH LEVEL DESIGN REVIEW

DEVELOPMENT

POSTMORTEM
Dept. of CSE
Personal and Team Software Process
Team software process
 Goal of TSP
- Build self-directed teams
- Motivate the teams
- Acceptance of CMM level 5 behavior as normal to
accelerate software process improvement
- Provide improvement guidance to high maturity
organization

Dept. of CSE
Summary of the Unit
It deals with role of software and changing
the nature of software.

It also deals with layers of software and


process framework ,pattern and assessment.

It also deals the capability maturity model.

Dept. of CSE
Important Questions

1. Write about personal and team process models.

2. Write about process assessment

3. Explain the Capability Maturity Model


Integration (CMMI)?

4. Explain in detail about process patterns.

Dept. of CSE
Assignment Questions
1. Elaborate on evolution of software.

2. How software engineering is different from hardware


engineering.

3.Discuss the major problems with the capability


maturity model.

4. Explain about capability assessment process.


5.Explain the five software process assessment
principles.
Dept. of CSE
Short Questions
What do you mean by software Engineering? What
are the software engineering layers
What are the various areas of software applications?
What are the five software process assessment
principles.
What are the various characteristics of software.
What is capability Maturity Model Integration
(CMMI)?

Dept. of CSE
Objective Questions
1. The most important feature of spiral model is
(A) Requirement analysis. (B) Risk management.
(C)Quality management. (D)Configuration
management.
Ans: B
2. The worst type of coupling is
(A) Data coupling. (B) Control coupling.
(C) Stamp coupling. (D) Content coupling.
Ans: D

Dept. of CSE
3. IEEE 830-1993 is a IEEE recommended standard for
(A) Software requirement specification.
(B) Software design.
(C) Testing.
(D) Both (A) and (B)
Ans: A
4. One of the fault base testing techniques is
(A) unit testing. (B) Beta testing.
(C) Stress testing. (D) Mutation testing.
Ans: D
Dept. of CSE
5. Changes made to an information system to add the
desired but not necessarily the Required features is
called
(A) Preventative maintenance.
(B) Adaptive maintenance.
(C) Corrective maintenance.
(D) Perfective maintenance.
Ans: D

Dept. of CSE

You might also like