Lo 06
Lo 06
UsingUML,Patterns,andJava Chapter1:Introduction
WhySoftwareEngineering?
Used as delivered
2%
Usable w. rework Paid for, but
3% not delivered
Used w. extensive rework, 30%
but later abandoned
20%
TakealookattheStandishReport(TheChaosReport)
TakealookattheStandishReport(TheChaosReport)
BerndBruegge&AllenH.Dutoit ObjectOrientedSoftwareEngineering:UsingUML,Patterns,andJava 2
SoftwareEngineering:AProblemSolvingActivity
Analysis:Understandthenatureoftheproblemandbreakthe
problemintopieces
Synthesis:Putthepiecestogetherintoalargestructure
Forproblemsolvingweuse
Techniques(methods):
Formalproceduresforproducingresultsusingsomewelldefined
notation
Methodologies:
Collectionoftechniquesappliedacrosssoftwaredevelopmentand
unifiedbyaphilosophicalapproach
Tools:
Instrumentorautomatedsystemstoaccomplishatechnique
Isnttheresomethingmorefundamentalthanproblemsolving?
BerndBruegge&AllenH.Dutoit
ObjectOrientedSoftwareEngineering:UsingUML,Patterns,andJava 3
SoftwareEngineering:Definition
SoftwareEngineeringisacollectionoftechniques,
methodologiesandtoolsthathelp
withtheproductionof
ahighqualitysoftwaresystem
withagivenbudget
beforeagivendeadline
whilechangeoccurs.
BerndBruegge&AllenH.Dutoit ObjectOrientedSoftwareEngineering:UsingUML,Patterns,andJava 4 20