Presentation is loading. Please wait.

Presentation is loading. Please wait.

Software Development Cycle What is Software? Instructions (computer programs) that when executed provide desired function and performance Data structures.

Similar presentations


Presentation on theme: "Software Development Cycle What is Software? Instructions (computer programs) that when executed provide desired function and performance Data structures."— Presentation transcript:

1

2 Software Development Cycle

3 What is Software? Instructions (computer programs) that when executed provide desired function and performance Data structures enable the programs to adequately manipulate information Documents that describe the operation and use of the program Software engineering : A Practitioner's Approach Software engineering : A Practitioner's Approach

4 A definition of the software development: The application of a systemic, disciplined, quantifiable approach to development, operation, and maintenance of software.

5 Who’s Who CUSTOMER Sponsors system development USER Uses system DEVELOPER Builds system Contractual obligation $$$, needs Software system Needs

6 What is the Software Life Cycle Software Engineering is a series of steps for producing software. Methods, procedures, and tools are defined. Engineering discipline Metrics and measures - prediction

7 Classic Life Cycle Models Linear sequential (Waterfall) Prototyping Rapid Application Development (RAD) Incremental (Block Release) Spiral Component Assembly Concurrent Development Fourth Generation techniques

8 Rapid Application Development (RAD) A good model for small VB systems The IDE is designed to allow us to develop the small system.

9 Waterfall Model REQUIREMENTS ANALYSIS SYSTEM DESIGN PROGRAM DESIGN CODING UNIT & INTE- GRATION TESTING SYSTEM TESTING ACCEPTANCE TESTING OPERATION & MAINTENANCE

10 “Interactive” (Chaotic) Model REQUIREMENTS ANALYSIS SYSTEM DESIGN PROGRAM DESIGN PROGRAM IMPLEMENTATION UNIT TESTING INTEGRATION TESTING SYSTEM TESTING DELIVERY MAINTENANCE

11 Waterfall with Prototyping REQUIREMENTS ANALYSIS SYSTEM DESIGN PROGRAM DESIGN CODING UNIT & INTE- GRATION TESTING SYSTEM TESTING ACCEPTANCE TESTING OPERATION & MAINTENANCE PROTOTYPING Verify Validate

12 Prototyping Cycles LIST OF REVISIONS LIST OF REVISIONS LIST OF REVISIONS PROTOTYPE REQUIREMENTS PROTOTYPE DESIGN PROTOTYPE SYSTEM TEST DELIVERED SYSTEM REQUIREMENTS (sometimes informal or incomplete) revise prototype user/ customer review

13 Multiple Builds Development systems Production systems DEVELOPERS USERS Build Release 1 Use Release 1 Build Release 2 Use Release 2 Build Release 3 Use Release 3 Time

14 Spiral Model Start Axis Customer Communication Planning Risk Analysis Development Integration Customer Evaluation

15 Process Metrics Process Assessment Document review Document review Peer reviews: Peer reviews: completed vs scheduled results reported Problem report status Problem report status Product Quality Defect characteristics Defect characteristics Difficulty of accurate measurement Difficulty of accurate measurement

16 Let us Examine the Classic Waterfall Model Linear sequential model Tries to define each part of the cycle Very good method for developing large systems

17 Stage 1: Defining the problem What Happens in this Stage: To Identify and understand the problem you must look at the: Needs of Users and System Objectives that the solution is to meet Boundaries of solution Feasibility Study Design Specifications User RequirementsSystem Requirements Modelling System

18 The design specification helps you form the basis for the planning and designing the final solution. You will use this specification throughout the system development to help plan, build and test the final solution. The Design specifications give a workable framework to aid development of the system (and further understanding of the system). Stage 1: Design specification

19 A quote on the problem of ill-defined system requirements: "the creation of software requirements is reminiscent of hiking in a fog that is gradually lifting” Software Productivity Research Inc (1996) Software Productivity Research Inc (1996) Stage 1:

20 Stage 1: Design specifications You need to consider the specification for the USER and the System (Developer's) point of view. Developer: Overall design specifications User: Interface design specifications

21 Stage 1: Activity: Developer's perspective Algorithms, Algorithms, Variables Variables Software design approach Software design approach Modelling the system Modelling the system Documentation Documentation User's perspective Screen design Screen design Ergonomic issues Ergonomic issues Appropriate icons Appropriate icons Appropriate screen messages Appropriate screen messages Social and ethical issues Social and ethical issues Relevant data formats for display Relevant data formats for display

22 Stage 1: System Documentation: Modelling different aspects of the System Stage 1: System Documentation: Modelling different aspects of the System Modelling tools are part of the documentation to be interpreted by developers, maintainers and users, and are used to represent a system. They use diagrammatic methods and include:  Input Process Output (IPO) diagrams  System Flowcharts  Storyboards  Screen designs  Dataflow diagrams  Prototype

23 Stage 1: Questions: Stage 1: Questions: Q 1: What are the aims of the first stage of the development cycle? Q 2: Why is the problem specification so important in this stage? Q 3: Why are modelling tools used in this stage?

24 Stage 2: Planning and Design of Software Solution Documentation and Models developed in previous stage are used to give an overall view of system design and help in the development of data structures and logic necessary to fully develop each module.

25 Stage 2: Planning and Design of Software Solution What Happens in this Stage: The Planning stage consists of designing a solution. So in this stage you need to: 1: Identify all inputs, outputs and processes 2: Select and describe relevant Data Structures 3: Create the Algorithm for final solution.

26 Stage 2 : Use structured programming techniques of writing programs. You need to define your system's Data Structures and files You need to be able to recognize the logic in Standard Algorithms You need to test your algorithm Documentation tools used to represent the overall software solution in diagrammatic form Chose your programming language wisely

27 Stage 2 : Questions: Q 1: Which Documentation tools in the above table are used in "stage one" of the SDC to help you understand and "model" the new system. Q 2: Which Documentation tools in the above table are used in "stage two" of the SDC to help you Represent a Solution to the problem. Q 3: What is the different between customised and standard algorithms? Q 4: What information does a data dictionary hold? Q 5: What is the term used for the ‘computer software’ that the development team uses to help with analysis documentation and development? Q 6: Say the Planning stage is complete and the Programmer is about to start to code. Select any two of the Representation Tools below and describe how they both can complement each other to give the programmer a better description of the system Data dictionary, structure diagram, algorithm, IPO chart

28 Stage 3: Implementation of Software Solution What happens in this stage: Source code written and tested., Ensure effective user interface

29 Stage 3: Use tools and techniques that will help correct and detect errors. Understand the Type of errors : Syntax, Logic, Run-time Syntax, Logic, Run-time Consider the Hardware and software requirement of new software.

30 Stage 3: Questions Q 1: State one documentation prepared in this stage and describe why it is important AND who is it important for?

31 Stage 4: Testing and Evaluation of Software Solution What happens in this stage: Verify program solution using test data both at program and system level. Testing and Evaluation is integral to all stages. Test that the Systems original “System Requirements and Objectives” are being met. Are we doing the “RIGHT JOB?” Are we doing the “JOB RIGHT?”

32 Stage 4: Testing and Evaluation of Software Solution To ensure a quality product testing and evaluation is done. Quote: “definitions of software testing, however, boil down to essentially the same thing: software testing is the process of executing software in a controlled manner, in order to answer the question ”Does the software behave as specified?”.”

33 Stage 4: Questions Q 1: What is the result from stage one of the SDC that is used in this stage to help rest the solution?

34 Stage 5: Maintenance of Software Solution What happens in this stage: On-going process of corrections and refinement. Modifications to code, macro, and scripts are often required. These modifications do not need to be made by original developers. In these situations, the original documentation is very important. You need to keep in mind the ethical issues associated with assessing and modifying the code of others. For all Changes:  Test changes  Document changes Modify present documentation


Download ppt "Software Development Cycle What is Software? Instructions (computer programs) that when executed provide desired function and performance Data structures."

Similar presentations


Ads by Google