You are on page 1of 34

Software Engineering and

Project Management
Dr D i v ya S i n dhu L e k h a
A s s i stant Pro fess or

CSE 312 SOFTWARE ENGINEERING AND PROJECT MANAGEMENT, ODD SEMESTER, 2021 1
A quick recap
Course outline
Software, Software vs. Hardware, Concerns and Challenges, Motivation for SE
Software applications – based on information content and determinacy
SE as a Layered Technology

tools

methods

process model

a “quality” focus

Software Engineering

CSE 312 SOFTWARE ENGINEERING AND PROJECT MANAGEMENT, ODD SEMESTER, 2021 2
Outline
▪Generic View of Software Engineering
▪Software Process
▪Software Process Maturity Levels
▪Software Process Models

CSE 312 SOFTWARE ENGINEERING AND PROJECT MANAGEMENT, ODD SEMESTER, 2021 3
Generic View of SE
Engineering?

CSE 312 SOFTWARE ENGINEERING AND PROJECT MANAGEMENT, ODD SEMESTER, 2021 4
Generic View of SE
Engineering?
Analysis, design, construction, verification, and management of technical entity.

CSE 312 SOFTWARE ENGINEERING AND PROJECT MANAGEMENT, ODD SEMESTER, 2021 5
Generic View of SE
Engineering?
Analysis, design, construction, verification, and management of technical entity.

General activities:

CSE 312 SOFTWARE ENGINEERING AND PROJECT MANAGEMENT, ODD SEMESTER, 2021 6
Generic View of SE
Engineering?
Analysis, design, construction, verification, and management of technical entity.

General activities :
1. Define the technical entity: characteristics

CSE 312 SOFTWARE ENGINEERING AND PROJECT MANAGEMENT, ODD SEMESTER, 2021 7
Generic View of SE
Engineering?
Analysis, design, construction, verification, and management of technical entity.

General activities :
1. Define the technical entity: characteristics
2. Construct the entity: Error-proof/ Fail-safe approaches

CSE 312 SOFTWARE ENGINEERING AND PROJECT MANAGEMENT, ODD SEMESTER, 2021 8
Generic View of SE
Engineering?
Analysis, design, construction, verification, and management of technical entity.

General activities :
1. Define the technical entity: characteristics
2. Construct the entity: Error-proof/ Fail-safe approaches
3. Support the entity over long term: in corrections, adaptations, and
enhancements.

CSE 312 SOFTWARE ENGINEERING AND PROJECT MANAGEMENT, ODD SEMESTER, 2021 9
Generic View of SE
Software Engineering?
Analysis, design, construction, verification, and management of software.

CSE 312 SOFTWARE ENGINEERING AND PROJECT MANAGEMENT, ODD SEMESTER, 2021 10
Generic View of SE
Software Engineering?
Analysis, design, construction, verification, and management of software.

3 generic phases:
1. Definition
2. Development
3. Support

CSE 312 SOFTWARE ENGINEERING AND PROJECT MANAGEMENT, ODD SEMESTER, 2021 11
Definition phase: Software engineer
attempts to identify

what information is to be processed,

CSE 312 SOFTWARE ENGINEERING AND PROJECT MANAGEMENT, ODD SEMESTER, 2021 12
Definition phase: Software engineer
attempts to identify
what information is to be
processed,

what function and


performance are desired,

CSE 312 SOFTWARE ENGINEERING AND PROJECT MANAGEMENT, ODD SEMESTER, 2021 13
Definition phase: Software engineer
attempts to identify
what information what system
is to be behavior can be
processed, expected,

what function
and performance
are desired,

CSE 312 SOFTWARE ENGINEERING AND PROJECT MANAGEMENT, ODD SEMESTER, 2021 14
Definition phase: Software engineer
attempts to identify
what
information is what system
to be behavior can be
processed, expected,

what function what interfaces


and are to be
performance established,
are desired,

CSE 312 SOFTWARE ENGINEERING AND PROJECT MANAGEMENT, ODD SEMESTER, 2021 15
Definition phase: Software engineer
attempts to identify
what
information what system what design
is to be behavior can constraints
processed, be expected, exist, and

what what
function and interfaces
performance are to be
are desired, established,

CSE 312 SOFTWARE ENGINEERING AND PROJECT MANAGEMENT, ODD SEMESTER, 2021 16
Definition phase: Software engineer
attempts to identify
what
information is what system what design
to be behavior can be constraints
processed, expected, exist, and

what function what interfaces what validation


and are to be criteria are
performance established, required to
are desired, define a
successful
system.

CSE 312 SOFTWARE ENGINEERING AND PROJECT MANAGEMENT, ODD SEMESTER, 2021 17
Definition phase
what information is to what system behavior what design
be processed, can be expected, constraints exist, and

what function and what interfaces are to what validation criteria


performance are be established, are required to define
desired, a successful system.

3 major tasks:
1. System or information engineering
2. Software project planning
3. Requirements analysis

CSE 312 SOFTWARE ENGINEERING AND PROJECT MANAGEMENT, ODD SEMESTER, 2021 18
Development phase: Software
engineer attempts to define

how data are to be structured,

CSE 312 SOFTWARE ENGINEERING AND PROJECT MANAGEMENT, ODD SEMESTER, 2021 19
Development phase: Software
engineer attempts to define

how data are to be


structured,

how function is to be
implemented within a
software architecture,

CSE 312 SOFTWARE ENGINEERING AND PROJECT MANAGEMENT, ODD SEMESTER, 2021 20
Development phase: Software
engineer attempts to define
how procedural details
how data are to be are to be
structured, implemented,

how function is to be
implemented within a
software architecture,

CSE 312 SOFTWARE ENGINEERING AND PROJECT MANAGEMENT, ODD SEMESTER, 2021 21
Development phase: Software
engineer attempts to define
how procedural
how data are to details are to be
be structured, implemented,

how function is to how interfaces


be implemented are to be
within a software characterized,
architecture,

CSE 312 SOFTWARE ENGINEERING AND PROJECT MANAGEMENT, ODD SEMESTER, 2021 22
Development phase: Software
engineer attempts to define
how the design will
be translated into a
programming
how procedural language (or
how data are to be details are to be nonprocedural
structured, implemented, language), and

how function is to how interfaces are


be implemented to be
within a software characterized,
architecture,

CSE 312 SOFTWARE ENGINEERING AND PROJECT MANAGEMENT, ODD SEMESTER, 2021 23
Development phase: Software
engineer attempts to define
how the design
will be translated
into a
programming
how procedural language (or
how data are to details are to be nonprocedural
be structured, implemented, language), and

how function is how interfaces how testing will


to be are to be be performed.
implemented characterized,
within a
software
architecture,

CSE 312 SOFTWARE ENGINEERING AND PROJECT MANAGEMENT, ODD SEMESTER, 2021 24
Development phase: Software
engineer attempts to define
how the design will be
translated into a
programming language (or
how data are to be how procedural details nonprocedural language),
structured, are to be implemented, and

how function is to be how interfaces are to be how testing will be


implemented within a characterized, performed.
software architecture,

3 specific technical tasks:


1. Software design
2. Code generation
3. Software testing

CSE 312 SOFTWARE ENGINEERING AND PROJECT MANAGEMENT, ODD SEMESTER, 2021 25
Support phase
Focuses on
➢Change associated with error correction,
➢Adaptations required as the software's environment evolves, and
➢Changes due to enhancements brought about by changing customer
requirements.

CSE 312 SOFTWARE ENGINEERING AND PROJECT MANAGEMENT, ODD SEMESTER, 2021 26
Support phase
4 types of changes:
1. Correction
2. Adaptation
3. Enhancement
4. Prevention

CSE 312 SOFTWARE ENGINEERING AND PROJECT MANAGEMENT, ODD SEMESTER, 2021 27
Software Process

CSE 312 SOFTWARE ENGINEERING AND PROJECT MANAGEMENT, ODD SEMESTER, 2021 28
Common process framework
❑Framework activities and Umbrella activities
A framework activity
❑Activities applicable to all software projects
❑Regardless of size or complexity of software.

An Umbrella activity
❑Overlay the process model
❑Independent of any one framework activity and occur throughout the process.
❑E.g. software quality assurance, software configuration management, and measurement

CSE 312 SOFTWARE ENGINEERING AND PROJECT MANAGEMENT, ODD SEMESTER, 2021 29
Common process framework
A Task set
A collection of
❑ software engineering work tasks,
❑ project milestones,
❑ work products, and
❑ quality assurance points

CSE 312 SOFTWARE ENGINEERING AND PROJECT MANAGEMENT, ODD SEMESTER, 2021 30
Process Maturity Levels
Level 1: Initial.
❑ Process is characterized as ad hoc and occasionally even chaotic.
❑ Few processes are defined, and success depends on individual effort.
Level 2: Repeatable.
❑ Basic project management processes established.
❑ E.g. track cost, schedule, and functionality.
❑ The necessary process discipline is in place.
❑ Repeat earlier successes on projects with similar applications.

CSE 312 SOFTWARE ENGINEERING AND PROJECT MANAGEMENT, ODD SEMESTER, 2021 31
Process Maturity Levels
Level 3: Defined. – LEVEL 2 +
❑ The software process is documented, standardized, and integrated.
❑ Organization-wide software process
Level 4: Managed. - LEVEL 3+
❑ Measuring quality of the software process and product.
❑ Process and products are controlled using detailed measures.
Level 5: Optimizing. – LEVEL 4 +
❑ Continuous process improvement is enabled
❑ by quantitative feedback from the process and
❑ from testing innovative ideas and technologies

CSE 312 SOFTWARE ENGINEERING AND PROJECT MANAGEMENT, ODD SEMESTER, 2021 32
Process Maturity Levels – SEI CMM
❑To determine an organization’s current state of process maturity
❑Software Engineering Institute (SEI) Capability Maturity Model (CMM)
❑Uses an assessment that results in a five point grading scheme.
❑The grading scheme determines compliance with a capability maturity model (CMM)
❑CMM defines key activities required at different levels of process maturity

CSE 312 SOFTWARE ENGINEERING AND PROJECT MANAGEMENT, ODD SEMESTER, 2021 33
Additional Reads
SEI CMM Documentation:
https://resources.sei.cmu.edu/asset_files/MaturityModule/1995_008_001_16355.pdf

CSE 312 SOFTWARE ENGINEERING AND PROJECT MANAGEMENT, ODD SEMESTER, 2021 34

You might also like