Download presentation
Presentation is loading. Please wait.
Published byAnsley Cockey Modified over 9 years ago
2
TCS2411 Software Engineering1 Software Life Cycle “What happens in the ‘life’ of software”
3
TCS2411 Software Engineering2 Lecture Objectives zTo look at the ‘life cycle’ of a software zTo understand the software process and its related elements zTo relate to the different software engineering paradigms
4
TCS2411 Software Engineering3 Software Engineering Layers a “quality” focus process model methods tools
5
TCS2411 Software Engineering4 Software Process zActivities in software projects zCharacterised by a common process framework yFramework activities - task sets yUmbrella activities z“Process maturity” enables development of quality software products
6
TCS2411 Software Engineering5 Common Process Framework Common process framework Framework activities work tasks work products milestones & deliverables QA checkpoints Umbrella Activities
7
TCS2411 Software Engineering6 Umbrella Activities zSoftware project management zFormal technical reviews zSoftware quality assurance zSoftware configuration management zDocument preparation and production zReusability management zMeasurement zRisk management
8
TCS2411 Software Engineering7 Process as Problem Solving
9
TCS2411 Software Engineering8 The Process Model: Adaptability zthe framework activities will always be applied on every project... BUT zthe tasks (and degree of rigor) for each activity will vary based on: ythe type of project (an “entry point” to the model) ycharacteristics of the project ycommon sense judgment; concurrence of the project team
10
TCS2411 Software Engineering9 The Primary Goal: High Quality Remember: High quality = project timeliness Why? Less rework!
11
TCS2411 Software Engineering10 The Systematic Process Problem Models Solution Analysis Design Development Testing
12
TCS2411 Software Engineering11 Generic Phases zDefinition Phase yFocus on ‘what’ the software is zDevelopment Phase yFocus on ‘how’ the software works zMaintenance Phase yFocus on ‘change’ to the software
13
TCS2411 Software Engineering12 Definition Phase zIdentify information to be processed zIdentify system behaviour - functions and performance zDetermine constraints, interfaces, validation criteria zMajor tasks: ySystem engineering ySoftware project planning yRequirements analysis
14
TCS2411 Software Engineering13 Development Phase zDefine data structures, function implementation, procedural details, interfaces zTranslate design to programming language zHow testing is performed zMajor tasks: ySoftware design yCode generation ySoftware testing
15
TCS2411 Software Engineering14 Maintenance Phase zReapplies definition and development phases to existing software zTypes of changes: yCorrection yAdaptation yEnhancement yPrevention
16
TCS2411 Software Engineering15 Waterfall Model
17
TCS2411 Software Engineering16 Waterfall Model Characteristics zThe classic life cycle - oldest and most widely used paradigm zActivities ‘flow’ from one phase to another zIf there are corrections, return to a previous phase and ‘flow’ from there again zMajor advantages: Good for planning and well-defined/repeated projects
18
TCS2411 Software Engineering17 Problems of Waterfall Model zReal projects often follow the sequence zAll requirements may not be stated explicitly by customer zCustomer only sees the results after some time zDevelopers are often delayed at certain phases
19
TCS2411 Software Engineering18 Prototyping Model Stop Requirements gathering and refinement Building prototype Quick design Customer evaluation Refining prototype Engineer product Start
20
TCS2411 Software Engineering19 Prototyping Model Characteristics zDeveloper and customer determine objectives and draft requirements zPrototype quickly produced and evaluated by customer zPrototype then refined, and re-evaluated zProcess iterated, before final product development zAdvantages: Customer participation and better requirements
21
TCS2411 Software Engineering20 Problems of Prototyping Model zProblem 1: Customer may see prototype as working model and expects fast results zProblem 2: Developer compromised when producing prototype quickly, e.g. different operating system or programming language
22
TCS2411 Software Engineering21 Rapid Application Development (RAD) Business Modeling Data Modeling Process Modeling Application Generation Testing & Turnover Team #1 Business Modeling Data Modeling Process Modeling Application Generation Testing & Turnover Team #2 Time period
23
TCS2411 Software Engineering22 RAD Characteristics z“High-speed” version of waterfall model zPrimarily for information systems applications zRequirements well-understood, fully functional system produced in short time zThe application modularised - major functions can be completed in 3 months zSeparate teams complete the functions, then integrated as a whole zRequires human resource and commitment
24
TCS2411 Software Engineering23 Incremental Model
25
TCS2411 Software Engineering24 Incremental Model Characteristics zSoftware separated into different “increments” - complete working portions zFocus on delivery of operational product with each increment - can be evaluated zUseful when insufficient staff and can be planned to manage technical risks, e.g. waiting for new hardware
26
TCS2411 Software Engineering25 Spiral Model
27
TCS2411 Software Engineering26 Spiral Model Characteristics zOriginally proposed by Boehm, couples iterative nature of prototyping and the systematic aspects of waterfall model zSoftware is developed in series of incremental releases zEach iteration produces a more complete product zBetter management through risk analysis
28
TCS2411 Software Engineering27 Problems of Spiral Model zMay be difficult to convince customers that evolution is controllable zDemands risk assessment expertise - major risk will cause problems if not identified zRelatively new and not widely used - cannot determine performance
29
TCS2411 Software Engineering28 Component Assembly Model Identify candidate components Look up components in library Available? Extract components Build components Construct System yes no
30
TCS2411 Software Engineering29 Component Assembly Characteristics zUse of object-oriented technology zComponents - classes that encapsulate both data and algorithms zComponents developed to be reusable zParadigm similar to spiral model, but engineering activity involves components zSystem produced by assembling the correct components
31
TCS2411 Software Engineering30 Fourth Generation Techniques (4GT)
32
TCS2411 Software Engineering31 4GT Characteristics zUse of software tools that allow software engineer to specify s/w characteristics at higher level zThe tools generate codes based on specification zMore time in design and testing - increase productivity zTools may not be easy to use, codes generated may not be efficient
33
TCS2411 Software Engineering32 Other Process Models zComponent assembly model—the process to apply when reuse is a development objective zConcurrent process model—recognizes that different part of the project will be at different places in the process zFormal methods—the process to apply when a mathematical specification is to be developed zCleanroom software engineering— emphasizes error detection before testing
34
TCS2411 Software Engineering33 Conclusion zThe paradigm used for development of software depends on a number of factors yPeople - staff & users ySoftware product yTools available yEnvironment zExisting models makes development process clearer, but they can be evolved to become new paradigms
35
TCS2411 Software Engineering34 References z“Software Engineering: A Practitioner’s Approach” 5th Ed. by Roger S. Pressman, Mc-Graw-Hill, 2001 z“Software Engineering” by Ian Sommerville, Addison-Wesley, 2001
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.