Cse - 2014 Se Module 1 - Final
Cse - 2014 Se Module 1 - Final
Cse - 2014 Se Module 1 - Final
(CSE 2014)
REFERENCE MATERIALS:
Text book(s):
Roger S. Pressman, “Software Engineering – A Practitioner’s Approach”, VII
Edition, McGraw-Hill, 2017.
Bob Hughes, Mike Cotterell, Rajib Mall, “Software Project Management”, VI
Edition, McGraw-Hill, 2018.
Reference book(s):
Ian Sommerville, “Software Engineering”, IX Edition, Pearson Education
Asia, 2011.
Rajib Mall, “Fundamentals of Software Engineering”, VI Edition, PHI
learning private limited, 2014.
• Who has a stake in the solution to the problem? That is, who
are the stakeholders?
• What are the unknowns? What data, functions, and features
are required to properly solve the problem?
• Can the problem be compartmentalized? Is it possible to
represent smaller problems that may be easier to understand?
• Can the problem be represented graphically? Can an analysis
model be created?
• That is the output of one phase will be the input to the next
phase.
• Thus the development process can be considered as a
sequential flow in the waterfall. Here the phases do not
overlap with each other.
• The different sequential phases of the classical waterfall
model are shown in the below figure:
Classical Waterfall Model
• Feasibility Study:
• The main goal of this phase is to determine whether it
would be financially and technically feasible to develop
the software.
• The feasibility study involves understanding the
problem and then determining the various possible
strategies to solve the problem.
• These different identified solutions are analyzed based
on their benefits and drawbacks, The best solution is
chosen and all the other phases are carried out as per
this solution strategy.
Classical Waterfall model Phases
• No feedback path
• Difficult to accommodate change requests
• No overlapping of phases
Iterative Waterfall Model
• Feedback Path
• Simple
• Cost-Effective
• Well-organized
Drawbacks of Iterative Waterfall Model :
Quick
plan
communication
Modeling
Quick design
Deployment
delivery &
feedback Construction
of prototype
• When initial requirements are reasonably well defined, but the overall
scope of the development effort precludes a purely linear process. A
compelling need to expand a limited set of new functions to a later system
release.
• It combines elements of linear and parallel process flows. Each linear
sequence produces deliverable increments of the software.
• The first increment is often a core product with many supplementary
features. Users use it and evaluate it with more modifications to better
meet the needs.
68
Process Maturity Framework
Goal is the improvement of the software engineering process
– Success should not be based on incidental individual achievements
– Success should be based on repeatable and proven successful work
methods
Immature Mature
Software Software
Organization Organization
70
Fundamental concepts for
Process Maturity
Software Process Capability
– How good it can predict the expected outcome of a next
software project
Software Process Performance
– Actual results of a software project
Software Process Maturity
– The level in which a software process is explicitly defined,
managed, measured and controlled in order to achieve results
Software Process Institutionalization
– The level in which the software process is institutionalized with
respect to methods, standards and organizational structure
71
Levels of software maturity
Maturity level:
– A well defined level on the way to achieve an adult, a
mature software process
– A foundation for realizing continuous improvements
– Every level contains a group of process goals that, when
stable, form an important part of the software process
– Every level leads to the improvement of the process
capability of the organization
72
The staged CMMI model
Level 5
Optimizing
Level 4
Quantitatively
managed
Level 3
Defined
Level 2
Managed
Level 1
Initial
73
Initial
The (1)process can be described as ad-hoc, or even
software
chaotic
There are practically no processes defined
Success depends on individual input and achievements
The software process is not predictable regarding results
Schedules, budget, functionality and product quality is not
predictable
Works disastrous in crises situations
Can be successful in highly innovative environment
(e.g. start of the web-design world)
74
Managed
The (2)
basic project management procedures are used
Costs, schedules en functionality are ‘tracked’
Planning and managing of new projects are based on experience
with comparable projects
Needed process discipline is enforced such that earlier success can
be repeated with building an comparable application
Software requirements and work products are ‘baselined’
Disciplined environment in which planning and tracking are stable
and thus previous successes can be repeated
75
Defined
Processes for (3)
management and software engineering are
documented, standardized and integrated in a standard software
development process
All projects use an approved, adapted version of the standard
software process for the development and maintenance of software
Processes are used to let software managers and engineers be more
effective
There is a group responsible for the software process
There is training in the software process
The software process is stable and well defined and is able to
operate more effectively
76
Quantitatively
Detailed metrics of themanaged (4) and quality of products
software processes
are gathered
Quantitative goals are set for the software process and the product
quality
Use is made of a software process database in which the metrics
are gathered and analyzed
Projects have a control over the software process and product
quality such that the can work in defined limits
Risks of development in new technical environments are
recognized and managed
Software process is predictable and trends can be predicted
77
Optimizing
Continuously (5) process improvements are realized by
software
quantitatively feedback of the process and by trying out of
innovative ideas and technologies
The whole organization is focused on continuous improvement
Data regarding performance of the processes are used for cost-
benefit analyses
Innovations that make use of the best software engineering
practices are identified and spread over the whole organization
Software project teams analyze errors in order to find out how to
improve
‘Lessons learned’ are shared with other projects (team rooms,
Communities of Practice)
78
Operational use of CMM
How do you determine in practice the maturity of an organization?
Maturity
Indicate
Level
Contain
Process
Capability Key Process
Achieve Areas
Organized by
Goals
Common
Address Features Contain
Implementation or Key
Institutionalization
Describe
Practices
Infrastructure or
Activities
79
Key Process Areas Optimizing (5)
-Process change management
-Technology change management
-Defect prevention
Quantitatively
Managed (4) -Software quality management
-Quantitative process management
-Peer reviews
-Intergroup coordination
Defined (3) -Software product engineering
-Integrated software management
-Training program
-Organization process definition
Managed (2) -Organization process focus