Chapter 1 The Product

These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach,  5/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001

1

Software is a set of items or objects that form a “configuration” that includes • programs • documents • data ...

What is  Software?

These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach,  5/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001

2

What is  Software?
t software is engineered t software doesn’t wear out t software is complex t software is a ‘differentiator’ t software is like an ‘aging  factory’

These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach,  5/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001

3

icadi r n s fl e r ea e u rt d t s ec a uodf t e e ief s e

Wear vs.  Deterioration

Fr ae iu l rt a e

cn hg ae a au c lcv t re u

iez cv dl e u a d re i Te i m
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach,  5/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001

4

The Cost of Change
60-100x

1.5-6x 1x After release

Definition

Development

These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach,  5/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001

5

Software  Applications t system software
t real­time software t business software t engineering/scientific software t embedded software t PC software t AI software t WebApps (Web applications)

These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach,  5/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001

6

Software Poses Challenges
How do we ensure the quality of the software that we produce? How do we meet growing demand and still maintain budget control? How do we upgrade an aging "software plant?" How do we avoid disastrous time delays? How do we successfully institute new software technologies?
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach,  5/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001

7

Software Engineering: A Practitioner’s Approach,  6/e

Chapter 2 Process: A Generic View

These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach,  5/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001

8

These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach,  5/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001

A  L a Software Engineering y tools er methods e process model d  a “quality” focus T e c h n

9

These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach,  5/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001

A  Pr o Process framework c Framework activities e work tasks ss  work products Fr milestones & deliverables QA checkpoints a Umbrella Activities m e w or

10

These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach,  5/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001

Fr a t Communication m t Planning e t Modeling w ¶ Analysis of requirements ¶ Design or t Construction k  ¶ Code generation A ¶ Testing cti t Deployment vit ie s

11

U m t Software project management br t Formal technical reviews el t Software quality assurance la  t Software configuration management A t Work product preparation and production ct t Reusability management t Measurement ivi t Risk management ti es
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach,  5/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001

12

The Process Model: Adaptability
t the framework activities will always be  applied on every project ... BUT t the tasks (and degree of rigor) for each  activity will vary based on:
¶ the type of project  ¶ characteristics of the project ¶ common sense judgment; concurrence of the  project team

These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach,  5/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001

13

T h t The CMMI defines each process area in terms of  e “specific goals” and the “specific practices”    required to achieve these goals. t  Specific goals establish the characteristics that must  C exist if the activities implied by a process area are to  M be effective.  M t Specific practices refine a goal into a set of process­ related activities. I

These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach,  5/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001

14

Pr o t Process patterns define a set of activities, actions,  c work tasks, work products and/or related behaviors e t A template is used to define a pattern ss  t Typical examples: ¶ Customer communication (a process activity) P ¶ Analysis (an action) a ¶ Requirements gathering (a process task) tt ¶ Reviewing a work product (a process task) ¶ Design model (a work product) e rn s
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach,  5/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001

15

These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach,  5/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001

Pr o t The process should be assessed to ensure  c that it meets a set of basic process criteria  es that have been shown to be essential for a  successful software engineering. s  t Many different assessment options are  As available:  se ¶ SCAMPI ¶ CBA IPI ss ¶ SPICE m ¶ ISO 9001:2000 e nt

16

Assessment and Improvement
Software Process

identifies modifications to

is examined by

identifies capabilities and risk of

Software Process Assessment

Software Process Improvement

leads to

leads to

Capability Determination

motivates

These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach,  5/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001

17

These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach,  5/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001

Per so t Recommends five framework activities: nal  ¶ Planning ¶ High­level design Sof ¶ High­level design review tw ¶ Development ar ¶ Postmortem e  t stresses the need for each software engineer  to identify errors early and as important, to  Pro understand the types of errors ce ss  (PS
18

Tea m  t Each project is “launched” using a “script”  Soft that defines the tasks to be accomplished war t Teams are self­directed e  t Measurement is encouraged Pro t Measures are analyzed with the intent of  ces improving the team process s  (TS P)
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach,  5/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001

19

Primary Goal of Any Software Process: High Qua

Remember: High quality = project timeliness Why? Less rework!

These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach,  5/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001

20

Communication
project initiation requirement gathering

Planning
estimating scheduling tracking

Modeling
analysis design

These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach,  5/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001

T h e  W a t e rf al l  M o

Construction
code test

Deployment
delivery support f eedback

21

The Incremental Model
increment #n
Communic at ion Planning Modeling analys is des ign

C o n s t ru c t i o n c ode t es t De p l o y m e n t d e l i v e ry fe e db ac k

increment # 2
Communic at ion Pl a n ni ng Modeling analys is des ign

delivery of nt h increment

C o n s t ru c t i o n c ode t es t De p l o y m e n t d e l i v e ry fe e dba c k

increment # 1
Communic at ion Planning Modeling analys is des ign C o n s t ru c t i o n c ode t es t De p l o y m e n t d e l i v e ry fe e db a c k

delivery of 2nd increment

delivery of 1st increment

project calendar time
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach,  5/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001

22

The RAD Model
Team # n
Mo d e lin g
business modeling data modeling process modeling

C o n st ru ct io n

Communication

Team # 2
Modeling
business modeling dat a modeling process modeling

component reuse automatic code generation testing

Planning Team # 1 Modeling
business modeling dat a modeling process modeling Construction
component reuse aut omat ic code generat ion t est ing

Deployment
int egrat ion delivery feedback

Construction

component reuse aut omat ic code generat ion t est ing

60 - 90 days These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach,  5/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001

23

Evolutionary Models: Prototyping
Quick plan Quick

Communication

plan

communication
Modeling Modeling Quick design

Quick design

Deployment Deployment Delivery delivery & & Feedback

feedback

Construction of of prototype prototype

Construction

These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach,  5/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001

24

Evolutionary Models: The Spiral
planning
estimation scheduling risk analysis

communication modeling
analysis design start

deployment
delivery feedback

construction
code test

These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach,  5/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001

25

Evolutionary Models: Concurrent
none Modeling activity Under development
represents the state of a software engineering activity or task

Awaiting changes

Under review Under revision Baselined

Done

These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach,  5/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001

26

Sti ll  —the process to  t Component based development Ot apply when reuse is a development objective t Formal methods—emphasizes the mathematical  he specification of requirements r  t AOSD—provides a process and methodological  Pr approach for defining, specifying, designing, and  constructing aspects o t Unified Process—a “use­case driven, architecture­ c centric, iterative and incremental” software process  es closely aligned with the Unified Modeling Language  (UML) s  M o
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach,  5/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001

27

The Unified Process (UP)
Elaboration elaboration Inception inception

inception

construction
Release
software increment

transition

production
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach,  5/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001

28

UP Phases
UP Phases
Inception Elaboration Construction Transition Production

Workflows Requirements Analysis Design Implementation Test Support Iterations #1 #2 #n-1 #n

These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach,  5/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001

29

UP Work Products
Inception phase
Vision document Init ial use-case model Init ial project glossary Init ial business case Init ial risk assessment . Project plan, phases and it erat ions. Business model, if necessary. One or more prot ot ypes
I nc ept i o n

Elaboration phase
Use-case model Supplement ary requirements including non-funct ional Analysis model Soft ware archit ect ure Descript ion. Execut able archit ect ural prot ot ype. Preliminary design model Revised risk list Project plan including it erat ion plan adapt ed workflows milest ones t echnical work product s Preliminary user manual

Construction phase
Design model Soft ware component s Int egrated soft ware increment Test plan and procedure Test cases Support document at ion user manuals installat ion manuals descript ion of current increment

Transition phase
Delivered soft ware increment Beta t est report s General user feedback

These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach,  5/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001

30

Agile  Development  
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach,  5/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001

 Chapter 4

31

The Manifesto for  Agile Software Development
“We are uncovering better ways of developing  software by doing it and helping others do it.   Through this work we have come to value:  •Individuals and interactions over processes  and tools  •Working software over comprehensive  documentation  •Customer collaboration over contract  negotiation  •Responding to change over following a plan  That is, while there is value in the items on the  right, we value the items on the left more.”
Kent Beck et al
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach,  5/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001

32

W h t Effective (rapid and adaptive) response to  at  change is  t Effective communication among all  “ stakeholders A t Drawing the customer onto the team t Organizing a team so that it is in control of the  gi work performed lit Yielding … y t Rapid, incremental delivery of software ” ?
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach,  5/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001

33

A n  t Is driven by customer descriptions of what is  A required (scenarios) gi t Recognizes that plans are short­lived le  t Develops software iteratively with a heavy  Pr emphasis on construction activities o t Delivers multiple ‘software increments’ t Adapts as changes occur c e ss
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach,  5/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001

34

Extr em t The most widely used agile process,  e  originally proposed by Kent Beck Pro t XP Planning gra ¶ Begins with the creation of “user stories” ¶ Agile team assesses each story and assigns a cost m deliverable increment ¶ Stories are grouped to for a  mi ¶ A commitment is made on delivery date ¶ After the first increment “project velocity” is used to help  ng  define subsequent delivery dates for other increments (XP )
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach,  5/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001

35

t XP Design

¶ Follows the KIS principle ¶ Encourage the use of CRC cards (see Chapter 8) ¶ For difficult design problems, suggests the creation of “spike solutions”—a design  prototype ¶ Encourages “refactoring”—an iterative refinement of the internal program design

t XP Coding t XP Testing

¶ Recommends the construction of a unit test for a store before coding commences ¶ Encourages “pair programming” ¶ All unit tests are executed daily ¶ “Acceptance tests” are defined by the customer and excuted to assess customer  visible functionality

Extr em e  Pro gra m mi ng  (XP )

These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach,  5/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001

36

Extreme Programming (XP)
user stories values acceptance test criteria iteration plan simple design CRC cards spike solutions prototypes

refactoring pair programming

Release
software increment project velocity computed

unit test continuous integration

These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach,  acceptance testing 5/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001

37

These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach,  5/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001

Ad ap t Originally proposed by Jim Highsmith tiv t ASD — distinguishing  features ¶ Mission­driven planninge  ¶ Component­based focus Sof ¶ Uses “time­boxing” (See Chapter 24) tw ¶ Explicit consideration of risks ¶ Emphasizes collaboration for requirements gathering ar ¶ Emphasizes “learning” throughout the process e  De vel op

38

adaptive cycle planning
uses mission statement project constraints basic requirements

Adaptive Software  Development

Requirements gathering J AD mini-specs

time-boxed release plan

Release components implemented/ tested focus groups for feedback formal technical reviews These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach,  postmortems
5/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001 software increment adjustments for subsequent cycles

39

Dynamic Systems Development Method
t Promoted by the DSDM Consortium (www.dsdm.org) t DSDM—distinguishing features
¶ Similar in most respects to XP and/or ASD ¶ Nine guiding principles
t Active user involvement is imperative.  t DSDM teams must be empowered to make decisions. t The focus is on frequent delivery of products.  t Fitness for business purpose is the essential criterion for acceptance of deliverables. t Iterative and incremental development is necessary to converge on an accurate  business solution. t All changes during development are reversible. t Requirements are baselined at a high level t Testing is integrated throughout the life­cycle.

These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach,  5/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001

40

Dynamic Systems Development Method

DSDM Life Cycle (with permission of the DSDM consortium)
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach,  5/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001

41

S c t Originally proposed by Schwaber and Beedle r t Scrum—distinguishing features u ¶ Development work is partitioned into “packets” ¶ Testing and documentation are on­going as the product is  m constructed
¶ Work occurs in “sprints” and is derived from a “backlog” of  existing requirements ¶ Meetings are very short and sometimes conducted without chairs ¶ “demos” are delivered to the customer with the time­box  allocated

These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach,  5/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001

42

C r t Proposed by Cockburn and Highsmith y t Crystal—distinguishing features s ¶ Actually a family of process models that allow  t “maneuverability” based on problem characteristics ¶ Face­to­face communication is emphasized a ¶ Suggests the use of “reflection workshops” to review the work  habits of the team l

These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach,  5/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001

43

These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach,  5/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001

A g t Originally proposed by Scott Ambler il t Suggests a set of agile modeling principles e  ¶ Model with a purpose ¶ Use multiple models M ¶ Travel light o ¶ Content is more important than representation d ¶ Know the models and the tools you use to create them ¶ Adapt locally e li n g

44

– Thanks 

These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach,  5/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001

45

Sign up to vote on this title
UsefulNot useful