Chapter 1 The Product

  • Uploaded by: sureshcse541
  • 0
  • 0
  • June 2020
  • PDF

This document was uploaded by user and they confirmed that they have the permission to share it. If you are author or own the copyright of this book, please report to us by using this DMCA report form. Report DMCA


Overview

Download & View Chapter 1 The Product as PDF for free.

More details

  • Words: 3,545
  • Pages: 45
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

What is  Software?

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

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? ❏ software is engineered ❏ software doesn’t wear out ❏ software is complex ❏ software is a ‘differentiator’ ❏ 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

Wear vs.  Deterioration

in c re a s e d fa ilu re ra te d u e to s id e e ffe c ts

F a ilu re ra te

c h a n g e a c tu a lc u rv e

id e a liz e d c u rv e T im e 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

Definition

Development

After release

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 ❏ system software ❏ real­time software ❏ business software ❏ engineering/scientific software ❏ embedded software ❏ PC software ❏ AI software ❏ 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

A  L a Software Engineering y tools er methods e process model d  a “quality” focus T e c h 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

9

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

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

10

Fr a ❏ Communication m ❏ Planning e ❏ Modelingw ➯ Analysis of requirements ➯ Design or ❏ Construction k  ➯ Code generation A ➯ Testing cti ❏ Deployment vit ie 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

11

U m ❏ Software project management br ❏ Formal technical reviews el ❏ Software quality assurance la  ❏ Software configuration management A ❏ Work product preparation and production ct ❏ Reusability management ❏ Measurement ivi ❏ 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 ❏ the framework activities will always be  applied on every project ... BUT ❏ 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 ❏ The CMMI defines each process area in terms of  e “specific goals” and the “specific practices”    required to achieve these goals. ❏  Specific goals establish the characteristics that must  C exist if the activities implied by a process area are to  M be effective.  M ❏ 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 ❏ Process patterns define a set of activities, actions,  c work tasks, work products and/or related behaviors e ❏ A template is used to define a pattern ss  ❏ 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

Pr o ❏ 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  ❏ Many different assessment options are  As available:  se ➯ SCAMPI ➯ CBA IPI ss ➯ SPICE m ➯ ISO 9001:2000 e nt

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

16

Assessment and Improvement Software Process

is examined by

identifies modifications to

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

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

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

18

Tea m  ❏ Each project is “launched” using a “script”  Soft that defines the tasks to be accomplished war ❏ Teams are self­directed e  ❏ Measurement is encouraged Pro ❏ 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

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

Modeling analysis design

Construction code test

Deployment delivery support f eedback

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

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

delivery of nt h increment

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

C o n s t ru c t i o n c ode

De p l o y m e n t

t es t

d e l i v e ry fe e dba c k

increment # 1

delivery of 2nd increment

Communic at ion Planning Modeling analys is des ign

C o n s t ru c t i o n c ode

De p l o y m e n t

t es t

d e l i v e ry fe e db a c k

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 component reuse automatic code generation testing

Team # 2

Communication

Modeling business modeling dat a modeling process modeling

Planning Construction

Team # 1

component reuse aut omat ic code generat ion t est ing

Modeling

Deployment int egrat ion delivery feedback

business modeling dat a modeling process modeling

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

Construction of of prototype prototype

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

represents the state of a software engineering activity or task

Under development

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  ❏ Component based development—the process to  Ot apply when reuse is a development objective ❏ Formal methods—emphasizes the mathematical  he specification of requirements r  ❏ AOSD—provides a process and methodological  Pr approach for defining, specifying, designing, and  constructing aspects o ❏ 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

 Chapter 4

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

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 ❏ Effective (rapid and adaptive) response to  at  change is  ❏ Effective communication among all  “ stakeholders A ❏ Drawing the customer onto the team ❏ Organizing a team so that it is in control of the  gi work performed lit Yielding … y ❏ 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  ❏ Is driven by customer descriptions of what is  A required (scenarios) gi ❏ Recognizes that plans are short­lived le  ❏ Develops software iteratively with a heavy  Pr emphasis on construction activities o ❏ Delivers multiple ‘software increments’ ❏ 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 ❏ The most widely used agile process,  e  originally proposed by Kent Beck Pro ❏ XP Planning grauser stories” ➯ Begins with the creation of “ ➯ Agile team assesses each story and assigns a cost m ➯ Stories are grouped to for a deliverable increment 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

❏ XP Design

Extr em e  Pro gra m mi ng  (XP )

➯ 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

❏ XP Coding

➯ Recommends the construction of a unit test for a store before coding commences ➯ Encourages “pair programming”

❏ XP Testing

➯ All unit tests are executed daily ➯ “Acceptance tests” are defined by the customer and excuted to assess customer  visible functionality

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

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

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

38

Adaptive Software  Development

adaptive cycle planning uses mission statement project constraints basic requirements

Requirements gathering J AD mini-specs

time-boxed release plan

Release software increment adjustments for subsequent cycles

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

39

Dynamic Systems Development Method ❏ Promoted by the DSDM Consortium (www.dsdm.org) ❏ DSDM—distinguishing features ➯ Similar in most respects to XP and/or ASD ➯ Nine guiding principles ❏ Active user involvement is imperative.  ❏ DSDM teams must be empowered to make decisions. ❏ The focus is on frequent delivery of products.  ❏ Fitness for business purpose is the essential criterion for acceptance of deliverables. ❏ Iterative and incremental development is necessary to converge on an accurate  business solution. ❏ All changes during development are reversible. ❏ Requirements are baselined at a high level ❏ 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 ❏ Originally proposed by Schwaber and Beedle r ❏ Scrum—distinguishing features u packets” ➯ Development work is partitioned into “ ➯ 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 ❏ Proposed by Cockburn and Highsmith y ❏ 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

A g ❏ Originally proposed by Scott Ambler il ❏ 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

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

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

Related Documents

Chapter 1 The Product
June 2020 11
The Product
November 2019 16
Product 1
December 2019 9
Chapter 1 - The Meeting
October 2019 32
1[1][1].product Ppt
May 2020 4

More Documents from "piyushtaksande"

Digital Transmission
June 2020 8
Chapter 1 The Product
June 2020 11