software quality assurance - háskólinn á akureyristaff.unak.is/andy/year 2 software quality...
Post on 28-May-2018
230 Views
Preview:
TRANSCRIPT
9.10.2003 Dr Andy Brooks 2
Traditional Life Cycle (TLC)waterfall life cycle model
which part software/hardware/human ?
parallel run old and new systems ?
corrective/perfective/adaptive maintenance
software architecture/major componentslevel of detail?
unit /sub-system/system test reports
9.10.2003 Dr Andy Brooks 3
Major criticisms of TLC
• Real projects rarely follow a sequential life cycle• Iterations are inevitable as inadequacies become
evident• A great deal of time can elapse between
requirements gathering and installation– installed system may already be out of date
• Unresponsive to changing business needs or technological innovations
But at least there are phases/project milestones.“…mother of all models and it describes simple projects well” L B S Raccoon
9.10.2003 4
Table 1: Fifty Years of Progress in Software Engineering (Approximate)
NaiveTide
FunctionTide
StructuredProgramming
Tide
ModuleTide
ObjectTide
PatternedProgramming
Tide
1945—1955 1956—1966 1967—1977 1978—1988 1989—1999? 2000?—2010?
HardwareEconomics
ResearchMainframes
CommercialMainframes
CommercialMini-Computers
Personal Computers Internet
Organization Statements Functions Modules Objects
Optimizers Statement Loop, Basic Block Function Inter-Function
ProgrammingEnvironments
Editors and Compilers General-Purpose Tools
Domain-Specific Tools
Concepts Algorithms Abstract Data Types Patterns
Program Ideals Useful Documented Correct Usable
Models Waterfall Model Spiral Model Chaos Model
Life Cycles WaterfallLife Cycle
SashimiLife Cycle
ChaosLife Cycle
ProcessStructures
Unified Process Macro- andMicro-Process
ComplexityGap
Strategies StepwiseRefinement Strategy
ModuleDecomposition
Object-OrientedDesign Strategy
Chaos Strategy
UserParticipation
None Once Periodic Ongoing
Reproduced by permission of L B S Raccoon, “Fifty Years in Software Engineering”, ACM SIGSOFTSoftware Engineering Notes Volume 22 No 1 January 1997 Page 88-104.
9.10.2003 Dr Andy Brooks 6
Prototyping as requirements capture
• Built quickly• Lacks full
functionality• Less resilient• Not final system
Now know what is required.Using a rapid development environment.
9.10.2003 Dr Andy Brooks 7
Prototyping advantages
• Early demonstrations help clarify misunderstandings between developer and client (supplier and customer)
• Missing requirements are identified• Difficulties with user-interface can be
identified• Feasibility and usefulness of system can
be assessed
9.10.2003 Dr Andy Brooks 8
Prototyping problems
• Client might think the prototype is part of the final system
• Prototype might devote too much client attention to the user-interface
• Requires a lot of user involvement
9.10.2003 Dr Andy Brooks 10
Reproduced by permission of L B S Raccoon, “Fifty Years in Software Engineering”, ACM SIGSOFTSoftware Engineering Notes Volume 22 No 1 January 1997 Page 88-104.
L B S Raccoon
9.10.2003 Dr Andy Brooks 11
Spiral model according to Raccoon
Spiral Model 1989-1999
– iterate prototypes– each prototype according to Waterfall model– accommodates more complex, ambiguous,
and misunderstood problems– first iteration may just be paper model
In this view, the prototype does eventually become the product.
9.10.2003 Dr Andy Brooks 12
Chaos model according to Raccoon
Chaos model 2000?-2010?
– loop with ‘fractals’– software development can be very unpredictable– bridging the gap between one line of code and
the entire project
A fractal is a fragmented geometric shape thatcan be subdivided in parts, each of which is a smaller copy of the whole.
9.10.2003 Dr Andy Brooks 13
Life cycles according to Raccoon• Describes the sequence of events in a
projectWaterfall Life Cycle 1967-1988
– not distinct from Waterfall model
Sashimi Life Cycle 1989-1999
– phases can overlap
Chaos Life Cycle 2000?-2010?
– all activities occur throughout the process– gradual shift from requirements to
maintenance
9.10.2003 14Reproduced by permission of L B S Raccoon, “Fifty Years in Software Engineering”, ACM SIGSOFTSoftware Engineering Notes Volume 22 No 1 January 1997 Page 88-104.
9.10.2003 Dr Andy Brooks 15
Unified Software Development Process
InceptionDetermines the scope and purpose of project.
ElaborationFocusses on requirements capture and the structure of the system.
ConstructionBuilding the system.
TransitionProduct installation.
9.10.2003 16Figure 3.7 from the textbook
Increments need not be additive.- could be reworked version.
top related