Professional Documents
Culture Documents
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
CSE 312 SOFTWARE ENGINEERING AND PROJECT MANAGEMENT, ODD SEMESTER, 2021 12
Definition phase: Software engineer
attempts to identify
what information is to be
processed,
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,
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
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
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
CSE 312 SOFTWARE ENGINEERING AND PROJECT MANAGEMENT, ODD SEMESTER, 2021 19
Development phase: Software
engineer attempts to define
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,
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
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
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
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