0% found this document useful (0 votes)
52 views48 pages

SE Unit1 CH2 Modified

This document discusses software engineering as a layered technology consisting of process, methods, and tools. It describes a generic software process framework with five core activities: communication, planning, modeling, construction, and deployment. The document also covers software quality models like CMMI and defines different maturity levels ranging from initial/ad hoc processes to optimized processes. Finally, it introduces the concept of process patterns for describing tasks, stages, and phases of a software development methodology.

Uploaded by

Suseela Reddy
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
52 views48 pages

SE Unit1 CH2 Modified

This document discusses software engineering as a layered technology consisting of process, methods, and tools. It describes a generic software process framework with five core activities: communication, planning, modeling, construction, and deployment. The document also covers software quality models like CMMI and defines different maturity levels ranging from initial/ad hoc processes to optimized processes. Finally, it introduces the concept of process patterns for describing tasks, stages, and phases of a software development methodology.

Uploaded by

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

SOFTWARE ENGINEERING

UNIT 1
CHAPTER - 2
Generic view of a process
Software Engineering: A layered technology

Support to below
Technical “How – to”
Framework


• important layer of SE
Software engineering – A layered Technology

• S/W engineering comprises of a process, a set


of methods for managing and developing the
s/w, and a collection of tools

• The bedrock that supports s/w engineering is


quality focus.
Software engineering – A layered Technology

• Quality:
– Functional quality
– Non – functional or structural quality

• Process:
• Methods:
• Tools:
– Automated
– Semi automated
Software engineering – A layered Technology

• Process is like a map

• Methods tell in which direction to go and in


which direction not to go

• Tools help in every step to reach destination


Software Process Framework

• What is Framework?

• What is Software Process?

• What is Software Process Framework?


– It is a foundation for a complete software process
that we will follow for software development
Software Process Framework

Process Framework

Framework Activities

Engineering Actions

Task Sets
Generic Process Framework
• It consists of 5 activities:

1. Communication:

2. Planning:

3. Modeling:

4. Construction:

5. Deployment:
Example
• One of the software engineering action is
requirements gathering
• The task sets will be
– Make a list of stakeholders
– Gather requirements and make documents
– Set milestones
– Discuss quality points
Who are stakeholders?
• A person, group or company that is directly or indirectly
involved in the project and who may affect or get affected by
the outcome of the project
Umbrella Activities
• Risk Management
• Software Quality Assurance (SQA)
• Software Configuration Management (SCM)
• Measurement
• Formal Technical Review (FTR)
• Software Project tracking and control
• Reusability Management
• Work Product preparation
CMMI
• Process Maturity
– Extent to which processes are explicitly defined,
managed, measured and controlled effectively.

– It states the capability of the process to improve


over time.
CMMI
• Capability Maturity Model Integration
– Framework to improve product quality and
develop efficiency for both h/w and s/w.

– CMMI was established as a model to improve


business results.
CMMI
• CMMI objectives
– Produce quality products or services
– Create value for the stockholders
– Enhance customer satisfaction
– Increase market share
– Gain an industry – wide recognition for excellence
– Focuses on business needs, integration and institution
improvement
– CMMI provides a way to focus and manage h/w and s/w
development from product inception through development and
maintenance
CMMI
• CMMI is applicable for 3 areas:
– Development
• Development companies

– Services
• Service Sector companies

– Acquisitions
• Outsourcing companies
CMMI
• CMMI have 5 maturity levels:

Level 5
Level 4 Optimizing
Quantitatively
Level 3 Managed
Defined
Level 2
Managed or
Repeated
Level 1
Initial
Initial CMMI Level 1
• Processes are usually ad hoc and chaotic as they are startup companies.

• The founder usually have less experience.

• The success of the organization depends upon the heroics of the people in
the team.

• Many times organizations are succeeded to deliver products and services


that work; but they often exceed the schedule & budget of their projects.

• These organizations have a tendency to over promise & unable to deliver


the same.

• Many times they are not able to repeat their past success.

• Abacus Consulting Technology is a CMMI Level 1 certified company


Managed or Repeated CMMI Level 2

• The initial success is repeated, possibly with


consistent results

• For the maximum time it is ensured that during


times of stress existing processes are maintained.

• Technosoft is a CMMI Level 2 certified company


Defined CMMI Level 3
• An organization gives attention to standard documentation
and has developed its own standard software process.
• Decision Analysis and Resolution can be obtained from
these defined processes.
• It helps in Integrated Project Management, Training and
many more activities.
• ProcessWeaver, TMS platform solutions are CMMI Level 3
certified companies
Quantitatively Managed CMMI Level 4
• The complete measurement of performance processes are
collected with statistical analysis. The special reasons for alteration
in processes are identified and where ever necessary these causes
are corrected in order to avoid their respective future occurrence.
• The processes performance is controlled by the quantitative and
statistical , and it is well know quantitatively.
• Navayuga Infotech, NTT data global delivery services are few
Companies in Hyderabad with CMMI Level 4 certification
Optimizing CMMI Level 5
• At this level, the attention is totally on continuously
improving performance of the process through both
incremental and innovative technical changes and
improvements.
• Some CMMI level 5 companies are:
– Infosys
– IBM
– TCS
– Amdocs
Process Patterns
• The Software process can be defined as a collection of
patterns that define a set of activities, actions, work tasks,
work products, etc that are required to develop computer
s/w.
• In general terms, a process pattern provides a template
describing an important characteristic of the s/w process.
• By combining patterns, a s/w team can construct a process
that best meets the needs of a project.
Process Patterns
• Patterns can be defined at any level of
abstraction(features).
• In some cases, pattern might be used to describe a
complete process (e.g. prototyping)
• In other situations, patterns can be used to described
an important framework activity(E.g. Planning) or a
task within a framework activity (E.g. Project –
estimation)
Process Patterns
Template for describing a process pattern:
• Pattern Name:
– The pattern is given a meaningful name that describes its function
within the s/w process.
– E.g. Customer - communication
• Intent:
– The objective of the pattern is described briefly.
– Example: the intent of customer – communication is “to establish a
relationship with the customer in an effort to define project scope,
business requirements and other project constraints”.
Process Patterns
Template for describing a process pattern:
• Type: We have 3 pattern types
– Task patterns
• Defines a work task that is part of the process. E.g. Requirements gathering.

– Stage patterns
• Defines framework activity for the process.
• Framework is combination of multiple work-tasks, so, stage patterns consists
of multiple task patterns.
• E.g. Communication (requirements gathering is part of communication).

– Phase patterns
• Sequence of framework activities that occur in the process.
• The interaction between the stage patterns for a single project phase.
Collection of 2 or more stage patterns.
• E.g. Spiral model or prototyping.
Process Patterns
Template for describing a process pattern:
• Initial context
– The conditions under which the pattern applies prior to the initiation of the
pattern.
– E.g. Planning requires customers and s/w engineers to establish a
collaborative communication
• Problem
– The problem to be solved by the pattern, E.g. Problem in customer –
communication is described as, “ Communication between the developer and
the customer is often inadequate because an effective format for collecting
information is not established, a useful mechanism for recording is not created
and a meaningful review is not conducted.”
Process Patterns
Template for describing a process pattern:
• Solution
– The implementation of the pattern is described.
• Related patterns
– A list of all process patterns that are directly related are
provided.
– E.g. Stage pattern (Communication) consists of:
• Project team assembling
• Collaborative guideline definition
• Scope
• Requirements gathering
• Model creation, etc.
Process Patterns
Conclusion:
Process patterns provide an effective mechanism
for describing an s/w process.
- The patterns enable a s/w engineering
organization to develop a hierarchy of process
description.
- Patterns are building blocks for the process
model.
Software Process Assessment
• A s/w process assessment is a disciplined examination
of the s/w process used by the organization, based on a
process model.
• The assessment includes
– The identification and characterization of current practices
– Identifying areas of strengths and weaknesses
– The ability of current practices to control and avoid
significant causes of poor quality, cost and schedule.
Software Process Assessment
• A s/w assessment can be of 3 types:
– A self – assessment (first – party) is performed internally
by the organization.
– A second – party assessment is performed by the external
assessment team or the organization is assessed by a
customer.
– A third – party assessment is performed by an external
party e.g. supplier.
SCAMPI

• The Standard CMMI Assessment method for


Process Improvement (SCAMPI) was
developed to satisfy CMMI model
requirements.
• It is also based on CBA IPI (CMM – Based
Appraisal for Internal Process Improvement)
SCAMPI and CBA IPI

• Both consists of 3 phases:


– Plan and preparation

– Conduct the assessment onsite

– Report results
SCAMPI and CBA IPI
• The activities for the plan and preparation phase
include:
– Identify the assessment scope
– Develop the assessment plan
– Prepare and train the assessment team.
– Administer the CMMI appraisal Questionnaire
– Examine the questionnaire responses
– Conduct the initial document review.
SCAMPI and CBA IPI
• The activities for the onsite assessment phase
include:
– Conduct an open meeting
– Consolidate information
– Prepare the presentation of draft finding
– Present the draft finding
– Consolidate, rate and prepare the final findings.
SCAMPI and CBA IPI

• The activities for the reporting results phase


include:
– Present the final findings

– Conduct an executive session

– Wrap up the assessment


Personal and Team Process Models
– Capability Maturity Model Integration (CMMI)
programs allow organizations to set up an enterprise
wide improvement framework. However, for
encouraging root level changes, specific frameworks
such as PSP/TSP are required.
Personal and Team Process Models
– PSP is a series of defined processes that allow
software engineers to produce high-quality products
on time and within budget.
Personal and Team Process Models

• What is Personal Software process (PSP)?


– The PSP shows engineers how to
• Manage the quality of their projects

• Make commitments they can meet

• Improve estimating and planning

• Reduce defects in their products


Personal Software Process
• PSP emphasizes the need to record and analyze
the type of errors you make, so you can develop
strategies to eliminate them.
• Why PSP?
– Because personal costs constitute 70% of the cost of
software development, the skills and work habits of
engineers largely determine the results of the s/w
development process.
Personal Software Process

• Based on the practices found in the CMMI, the


PSP can be used by engineers as a guide to a
disciplined and structured approach to
developing s/w.

• The PSP is a prerequisite for an organization


planning to introduce the TSP.
Team Software Process

• What is Team s/w process (TSP)?


– The TSP, along with PSP helps the high
performance engineer to
• Ensure Quality s/w products

• Create secure s/w products

• Improve process management in an organization


Team Software Process
• The primary goal of TSP is to create a team
environment for establishing and maintaining a
self-directed team, and supporting disciplined
individual work as a base of PSP framework.

• Self-directed team means that the team manages


itself, plans and tracks their work, manages the
quality of their work, and works proactively to
meet team goals.
Team Software Process
• TSP has two principal components:
– team-building and
– team-working.
• Team-building is a process that defines roles for each team
member and sets up teamwork through TSP launch and
periodical prelaunch.
• Team-working is a process that deals with engineering
processes and practices utilized by the team.
• TSP, in short, provides engineers and managers with a way that
establishes and manages their team to produce the high-quality
software on schedule and budget.
PSP & TSP

• Difference between PSP & TSP?


– Personal s/w process is found on individuals to
improve their performance.

– PSP process consists of methods, forms and tricks


to guide s/w engineers in doing their development
work
PSP & TSP

• Difference between PSP & TSP?


– Team s/w process depends on a group of
individuals and aimed at improving the
performance of the team.

– TSP process consists of programming strategies


which will help a s/w engineering team to build
better quality products.
PSP Framework Activities
• The 5 PSP framework activities are:
– Planning
• Isolates requirements and a project schedule is created

– High level design


• Prototypes are built when uncertainty exists.

– High level design review


• Formal verification methods are applied to uncover errors in the
design.

– Development
• Code is generated, reviewed, compiled and tested.

– Postmortem
• The effectiveness of the process is determined
TSP Framework Activities
• The 5 TSP framework activities are:
– Launch high level design
• Defines the task to be accomplished.

– Implementation
• Teams are self directed

– Integration
• Measurement is encouraged

– Test
• Measures are analyzed with the intent of improving the team process

– Postmortem
• The effectiveness of the process is determined
END OF UNIT 1 - CHAPTER 2

You might also like