Top Banner
33
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Chapter 1 ASE Slides ppt
Page 2: Chapter 1 ASE Slides ppt

Software can have a hugeimpact in any aspect of society.

Importance of software

Page 3: Chapter 1 ASE Slides ppt

Where can you find software?

Page 4: Chapter 1 ASE Slides ppt

Some popular ones…

Page 5: Chapter 1 ASE Slides ppt

Some popular ones…

Page 6: Chapter 1 ASE Slides ppt

And even in…

Page 7: Chapter 1 ASE Slides ppt

Conclusion

Software is Almost Everywhere.

Page 8: Chapter 1 ASE Slides ppt

Problems in software development

Page 9: Chapter 1 ASE Slides ppt

•The final Software doesn´t fulfill the needs of the customer.

•Hard to extend and improve: if you want to add a functionality later is mission impossible.

•Bad documentation.

•Bad quality: frequent errors, hard to use, ...

•More time and costs than expected

Common issues

Page 10: Chapter 1 ASE Slides ppt
Page 11: Chapter 1 ASE Slides ppt

Chaos Report

Page 12: Chapter 1 ASE Slides ppt

It is not enough to do your best: you must Know what to do, and THEN do your best.-- W. Edwards Deming

Conclusion

Programming is NOT enough!

Page 13: Chapter 1 ASE Slides ppt

Solution

Page 14: Chapter 1 ASE Slides ppt

Software Engineering

The application of a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software, and the study of these approaches; that is, the application of engineering to software. -Wikipedia

What is it?

Page 15: Chapter 1 ASE Slides ppt

Software Engineering

The study and application of methodologies to develop quality software that fulfill customer needs.

What is it?

Page 16: Chapter 1 ASE Slides ppt

Software EngineeringObjetive

To produce software that is:

• On time: is deliver at the established date.

• Reliable: doesn´t crash.

• Complete: good documentation, fulfill customer needs.

Page 17: Chapter 1 ASE Slides ppt

(CS340 J. Knight & T. Horton 2008)17

Process means the events or tasks a development organization does, and their sequence› Again, think about construction

Organizations want a well-defined, well-understood, repeatable software development process. Why?

Find and repeat good practices Management: know what to do next; know when we’re done

with current task; know if we’re late; estimate time to completion, costs; Etc.

New team-members know what to do

Page 18: Chapter 1 ASE Slides ppt

Major Task Identification Sequencing General model to be tailored

Page 19: Chapter 1 ASE Slides ppt

(CS340 J. Knight & T. Horton 2008)19

There are general principles about:› What we do at various stages of SW development

› How to inject quality into SW

› How to avoid early problems that cause huge problems later

› Recognize that SE is not just writing code

No matter what process you end up doing,these general principles are the most important “take-away” from this material

Page 20: Chapter 1 ASE Slides ppt

Build FirstVersion

Retirement

Operations

Modify untilCustomer satisfied

Page 21: Chapter 1 ASE Slides ppt

Really Bad Really Common Advantages› No Overhead› No Expertise

Disadvantages› No means of assessing progress› Difficult to coordinate multiple programmers

Useful for “hacking” single-use/personal-use programs: start with empty program and debug until it works

Page 22: Chapter 1 ASE Slides ppt

Requirements

Validate

Retirement

Operations

Test

ImplementationVerify

Design

Page 23: Chapter 1 ASE Slides ppt

REQUIREMENTSANALYSIS

SYSTEMDESIGN

PROGRAMDESIGN

CODING

UNIT & INTE-GRATION TESTING

SYSTEMTESTING

ACCEPTANCETESTING

OPERATION& MAINTENANCE

Page 24: Chapter 1 ASE Slides ppt

Articulated by Win Royce, ~1970 Widely used today Advantages› Measurable progress› Experience applying steps in past projects can be used in

estimating duration of “similar” steps in future projects› Produces software artifacts that can be re-used in other projects

The original waterfall model (as interpreted by many) disallowed iteration› Inflexible› Monolithic› Requirements change over time› Maintenance not handled well

The “waterfall with feedback” model was, however, what Royce had in mind

Page 25: Chapter 1 ASE Slides ppt

REQUIREMENTSANALYSIS

SYSTEMDESIGN

PROGRAMDESIGN

CODING

UNIT & INTE-GRATION TESTING

SYSTEMTESTING

ACCEPTANCETESTING

OPERATION& MAINTENANCE

Page 26: Chapter 1 ASE Slides ppt

Requirements

Validate

Retirement

Operations

Test

ImplementationVerify

Design

Requirements Change

Page 27: Chapter 1 ASE Slides ppt

Rapid Prototype

Validate

Retirement

Operations

Test

ImplementationVerify

Design

Requirements Change

Page 28: Chapter 1 ASE Slides ppt

Initial Concept

Complete and Release

Prototype

Refine Prototype Until Acceptance

Design and Implement

Initial Prototype

Page 29: Chapter 1 ASE Slides ppt

Prototypes used to help develop requirements specification› Useful for rapidly changing requirements› Or when customer won’t commit to specification

Once requirements “known”, waterfall (or some other process model) is used

Prototypes discarded once design begins› Prototypes should not be used as a basis for implementation,

since prototyping tools do not create production quality code› Customer may need to be “educated” about prototypes, a

prototype is not 80-90% of the final product (not even 10%)

Page 30: Chapter 1 ASE Slides ppt

Detailed Design, Implement, Test, Deliver Feature Set

Requirements

Validate

Retirement

Operations

Verify

Architectural Design

Page 31: Chapter 1 ASE Slides ppt

Iterations are classified according to feature sets

› e.g., features 1 and 2 will be delivered in this iteration, features 3 and 4 are next

Series of increasingly “complete” releases

Page 32: Chapter 1 ASE Slides ppt

PLAN DEVELOP AND TEST

DETERMINE GOALS,ALTERNATIVES,CONSTRAINTS

EVALUATE ALTERNATIVESAND RISKS

Requirements,life-cycle plan

Budget 1

Alternatives1

Constraints1

Risk analysis1

Risk analysis2

Risk analysis3

Risk analysis4

Constraints 2

Constraints 3

Constraints 4

Budget2

Budget3Budget

4

Alternativ

es 2Alte

rnativ

es 3Altern

atives 4

Prototype1

Proto -type

2

Proto -type

3

Proto -type

4

Concept ofoperation

Softw

are

requ

irem

ents

Validated

requirements

Developmentplan

Integrationand test plan

Softw

are

desig

n

Validated,

verified design

Detaileddesign

Code

Unit test

Systemtest

Acceptancetest

Implementationplan

start

Page 33: Chapter 1 ASE Slides ppt

Proposed by Barry Boehm, ~1986 Similar to Incremental Model, but each iteration

is driven by “risk management” and/or customer feedback

Determine objectives and current status Identify risks and priorities Next iteration addresses (current) highest risk and/

or highest priority items Repeat