Presentation is loading. Please wait.

Presentation is loading. Please wait.

TCS2411 Software Engineering1 Software Life Cycle “What happens in the ‘life’ of software”

Similar presentations


Presentation on theme: "TCS2411 Software Engineering1 Software Life Cycle “What happens in the ‘life’ of software”"— Presentation transcript:

1

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


Download ppt "TCS2411 Software Engineering1 Software Life Cycle “What happens in the ‘life’ of software”"

Similar presentations


Ads by Google