Upload
jayanthi-keerthi
View
221
Download
0
Embed Size (px)
Citation preview
8/10/2019 B Process Models MCA
1/33
8/10/2019 B Process Models MCA
2/33
2
A Generic Process Model
8/10/2019 B Process Models MCA
3/33
3
Process Flow
8/10/2019 B Process Models MCA
4/33
4
Identifying a Task Set
A task set defines the actual work to be done to
accomplish the objectives of a software
engineering action.
A list of the task to be accomplished
A list of the work products to be produced
A list of the quality assurance filters to be applied
8/10/2019 B Process Models MCA
5/33
5
Process Assessment and Improvement
Standard CMMI Assessment Method for Process Improvement(SCAMPI)
CMM-Based Appraisal for Internal Process Improvement (CBA IPI)
SPICE - (ISO/IEC15504)
ISO 9001:2000 for Software
a generic standard that applies to any organization thatwants to improve the overall quality of the products,systems, or services that it provides.
8/10/2019 B Process Models MCA
6/33
Process Models
6
8/10/2019 B Process Models MCA
7/33
8/10/2019 B Process Models MCA
8/33
8
V-Model
8/10/2019 B Process Models MCA
9/33
9
Incremental Model
SoftwareFu
nctionalityandFeatures
Project Calendar Time
Communication
Planning
Modeling
Construction
Deployment
Increment #1Delivery of
1st increment Core product
Increment #2Delivery of
2nd incrementMore features
and functionali ty
Increment #nDelivery of
nth increment
8/10/2019 B Process Models MCA
10/33
Incremental Process Models
The Rapid Application Development (RAD) Model
Communication
Planning
Modeling
business modeling
data modeling
process modeling
Team #1
Construction
component reuse
automatic code
generation
testing
Modeling
business modeling
data modeling
process modeling
Team #n
Constructioncomponent reuse
automatic code
generation
testing
Deployment
integration
delivery
feedback
Require sufficient
human resources.
Require commitment to
the rapid-fire activities fromboth developers andcustomers.
If a system cannot be
properly modularized, RADmay not work.
RAD is not
appropriate whentechnical risks are
high.
8/10/2019 B Process Models MCA
11/33
Deployment
Delivery& Feedback Construction
of prototype
Evolutionary Process Models: Prototyping
Quick Plan
Modeling
Quick design
Communication
8/10/2019 B Process Models MCA
12/33
12
Evolutionary Models: The Spiral
communication
planning
modeling
constructiondeployment
delivery
feedback
start
analysis
design
code
test
estimation
scheduling
risk analysis
8/10/2019 B Process Models MCA
13/33
Evolutionary Models: Spiral Model
ReviewCommitment
Partition
Risk
analy-sis
Prototype 1
Simulations, models, benchmarksRequirementsplan, life-cycle
planConcept ofoperation
Prototype 2
Riskanalysis
Softwarerequirements
Requirements
validation
Develop-ment plan
Riskanalysis
Prototype 3
Softwareproduct
design
Design validation andverification
Integrationand
test plan
Riskanalysis
Operationalprototype
Detaileddesign
Unittest
Code
Integrationand test
Acceptancetest
Implementation
Plan next phases
Develop, verify next-
level product
Determine
objectives,
alternatives,
constrains
Evaluate alternatives,identify, resolve risks
Cumulative cost
Progress through steps
8/10/2019 B Process Models MCA
14/33
14
Evolutionary Models: Concurrent
Under review
Baselined
Done
Under
revision
Await ing
changes
Under
development
none
Modeling act ivit y
represents the state
of a software engineering
activity o r t ask
8/10/2019 B Process Models MCA
15/33
15
Other Process Models Component based developmentthe process to
apply when reuse is a development objective.
Formal methodsemphasizes the mathematicalspecification of requirements.
Unified Processa use-case driven, architecture-
centric, iterative and incremental software processclosely aligned with the Unified Modeling Language(UML).
8/10/2019 B Process Models MCA
16/33
The Unified Process (UP)
A use-casedriven, architecture-centric, iterativeand incrementalsoftwareprocess closely aligned with the Unified Modeling Language (UML)
Software increment
Release
Inception
Elaborat ion
Construct ion
Transit ion
Product ion
8/10/2019 B Process Models MCA
17/33
17
UP PhasesInception Elaborat ion Const ruct ion Transit ion Product ion
UP Phases
Workflows
Requirements
Analysis
Design
Implementation
Test
Iterations #1 #2 #n-1 #n
Support
8/10/2019 B Process Models MCA
18/33
Agile Model
18
8/10/2019 B Process Models MCA
19/33
8/10/2019 B Process Models MCA
20/33
Principles of Agile method
8/10/2019 B Process Models MCA
21/33
21
Agility Principles - I
1. Our highest priority is to satisfy the customer through early and continuous delivery ofvaluable software.
2. Welcome changing requirements, even late in development.
3. Deliver working software frequently, from a couple of weeks to a couple of months,with a preference to the shorter timescale.
4. Business people and developers must work together daily throughout the project.
5. Build projects around motivated individuals. Give them the environment and supportthey need, and trust them to get the job done.
6. The most efficient and effective method of conveying information to and within adevelopment team is facetoface conversation.
8/10/2019 B Process Models MCA
22/33
22
Agility Principles - II
7. Working software is the primary measure of progress.
8. Agile processes promote sustainable development. The sponsors, developers, andusers should be able to maintain a constant pace indefinitely.
9. Continuous attention to technical excellence and good design enhances agility.
10. Simplicity.
11. The best architectures, requirements, and designs emerge from selforganizingteams.
12. At regular intervals, the team reflects on how to become more effective, then tunesand adjusts its behavior accordingly.
8/10/2019 B Process Models MCA
23/33
Human Factors
the process molds to the needs of the peopleand teamnot the other way around
key traits must exist among the people on an agile team and the team itself:
Competence.( talent, skills, knowledge)
Common focus. ( deliver a working software increment )
Collaboration. ( stakeholders)
Decision-making ability. ( freedom to control its own destiny)
Fuzzy problem-solving ability. (ambiguity and constant changes, today
problem may not be tomorrow
s problem)
Mutual trust and respect.
Self-organization.( themselves for the work done, process for its local
environment, the work schedule)
8/10/2019 B Process Models MCA
24/33
Extreme programming (XP)
Perhaps the best-known and most widely used agilemethod: Good practice:
1. iterative development.
2. customer involvement to EXTREME levels.
Extreme Programming (XP) takes an EXTREMEapproach to iterative development.
All requirements are expressed asscenarios (called user stories).
Scenarios are implemented as series of task.
New versions may be built several times per day;
Increments are delivered to customers every 2 weeks;
All tests must be run for every build and the build is only accepted iftests run successfull .
8/10/2019 B Process Models MCA
25/33
25
Extreme Programming (XP)
XP Planning
Begins with the creation of user stories
Agile team assesses each story and assigns a cost
Stories are grouped to for a deliverable increment
A commitment is made on delivery date
After the first increment project velocity is used to help define
subsequent delivery dates for other increments
XP Design
Follows the KIS principle
Encourage the use of CRC cards
For difficult design problems, suggests the creation of design prototype
Encourages refactoringan iterative refinement of the internal programdesign
8/10/2019 B Process Models MCA
26/33
26
Extreme Programming (XP)
XP Coding
Recommends the construction of a unit test for a storebeforecoding commences
Encourages pair programming
XP Testing
All unit tests are executed daily
Acceptance tests are defined by the customer and
executed to assess customer visible functionality
8/10/2019 B Process Models MCA
27/33
27
Extreme Programming (XP)
unit t est
cont inuous integrat ion
acceptance t est ing
pair
programming
Release
user stor ies
values
accept ance t est crit eria
it erat ion plan
simple design
CRC cards
spike solut ions
pro t ot ypes
refacto ring
software increment
pro ject ve locity computed
8/10/2019 B Process Models MCA
28/33
XP and agile principles
Incremental development is supported through small,frequent system releases.
Customer involvement means full-time customer
engagement with the team. People not process through pair programming,
collective ownership and a process that avoids longworking hours.
Change supported through regular system releases. Maintaining simplicity through constant refactor ingof
code.
8/10/2019 B Process Models MCA
29/33
Component Assembly Model
8/10/2019 B Process Models MCA
30/33
"Design"
Strategy
Testing
Requirementsgathering
Implementationusing 4GL
Fourth Generation Techniques (4GT)
8/10/2019 B Process Models MCA
31/33
4GT Characteristics
Use of software tools that allow software engineer to specify s/w
characteristics at higher level.
The tools generate codes based on specification.
More time in design and testing - increase productivity.
Tools may not be easy to use, codes generated may not be
efficient
8/10/2019 B Process Models MCA
32/33
32
Personal Software Process (PSP)
Planning. This activity isolates requirements and develops both size and resourceestimates. In addition, a defect estimate (the number of defects projected for the work) ismade. All metrics are recorded on worksheets or templates. Finally, development tasksare identified and a project schedule is created.
High-level design. External specifications for each component to be constructed aredeveloped and a component design is created. Prototypes are built when uncertaintyexists. All issues are recorded and tracked.
High-level design review.Formal verification methods (are applied to uncover errors inthe design. Metrics are maintained for all important tasks and work results.
Development. Thecomponent level design is refined and reviewed. Code is generated,
reviewed, compiled, and tested. Metrics are maintained for all important tasks and workresults.
Postmortem. Using the measures and metrics collected (this is a substantial amount ofdata that should be analyzed statistically), the effectiveness of the process is determined.Measures and metrics should provide guidance for modifying the process to improve itseffectiveness.
8/10/2019 B Process Models MCA
33/33