Presentation is loading. Please wait.

Presentation is loading. Please wait.

I Power Higher Computing Software Development The Software Development Process.

Similar presentations


Presentation on theme: "I Power Higher Computing Software Development The Software Development Process."— Presentation transcript:

1 I Power Higher Computing Software Development The Software Development Process

2 The Software Development Process (SDP) To be a successful programmer takes a logical and reasoned approach to problem solving. Good practice is the result of a series of well-documented stages. Each stage makes an important contribution to the whole development process.

3 The Seven Stages Analysis. Design. Implementation. Testing. Documentation. Evaluation. Maintenance. Some stages may have to be repeated if the software does not meet the requirements. This mean that the process can be described as an iterative process.

4 Analysis This stage extracts information from the client and other relevant staff. This may take many forms: Interviews with clients and staff. Observation of current system. Examination of current paperwork. It is important that the task is fully agreed before the design stage can begin as the Specification is a legal Contract.

5 Design The design may be either a Pseudocode; A design written in a code like version of English. Each line of design should relate to one line of code. Or Structured Diagram; A graphical design that can describe the overall structure of the proposed program

6 Pseudocode - Example 1.Display information 2.Get details 3.Do calculation 4.Display answer Top level design Notice the numbering system Simple English words in a familiar program form Refine step 2 2.1display prompt 2.2get value 2.3while value out of range 2.4display error message 2.5get value 2.6loop

7 Structure Diagram an example: A structure diagram allows the design of a program to be drawn out in diagrammatic form. Here is an example:

8 Top-Down Design Both of these design methodologies are examples of top-down design. This is where a task is broken down into smaller and smaller parts until the sub-tasks are very simple to solve.

9 Bottom-up design Another design methodology is Bottom-up design. This is where a designer looks at problems already solved and puts these together to solve the desired problem. Some of these small solutions may have to be adapted to solve the desired problem.

10 Implementation This stage involves coding the algorithm in a chosen language. To chose a language we must consider. Type of problem. Hardware and software compatibility. Datatypes available. Features and Constructs available.

11 Testing To ensure that the implementation is correct the testing should be systematic and comprehensive. This is normally carried out by an Independent Test Group (ITG). Comprehensive testing should include Normal data; Data within the expected range. Boundary data; Data at the edge of the expected range. Out of range data; Data outside the expected range.

12 Documentation The programmer must also create several documents including: Structured Listing; A formatted printout of the actual code. Test Report; A list of test data with predicted and actual output. User Guide; A set of instructions on how to install and use the software. Technical Guide; Descriptions of any technical requirements. It may also record the development history of previous versions.

13 Evaluation A report is produced and given to the client that will state whether the software is fit for purpose. If software is to be considered fit for purpose then it must be able to meet all the criteria in the software requirements document.

14 Evaluation (Cont.) The software should also be evaluated in terms of: Robustness; The ability to cope with errors when running. E.g.Not crashing. Reliability; The ability to cope with expected data and give correct and predictable results. Portability; The ability to run on a computer system other than the one the software was designed for. E.g. Run on both a PC and a Mac.

15 Evaluation (Cont.) Efficiency; Not using too much of the Computers memory or processor time. Maintainability; The ability to be changed with ease in the future. E.g. Readability. Using meaningful variable names and sensible comments throughout the program. Modularity. Using Procedures, functions or Subroutines. Documented History. Are previous versions of the software documented.

16 Maintenance Starts when the software is handed over to the client. The three types of maintenance are: Corrective; Fixing errors not found during testing. Adaptive; Changing the code to cope with changes made to the environment. Perfective; Adding new features or amendments requested by the client. This is beyond the original specification and will cost the client extra.

17 Summary Name of Stage Key TaskPersonnel Documentation Analysis To define the extent of the software task to be carried out. Client Systems Analyst Software Specification Design To design a method of solving the problem. Systems Analyst Project Manager Algorithm Implem- entation To write a code in a chosen programming language. Project Manager Programmer Program Code Testing To test that the program matches the specification. Independent Test Group (ITG) Set of test data and test reports.

18 Summary (Cont.) Name of Stage Key TaskPersonnel Documentation Docume- ntation To produce documentation to be distributed with the software. Client, system analyst and programmer User guide and technical guide Evaluati- on To report upon quality of the software according to the given criteria. Produce Report Mainten- ance To make changes to the software after it has been handed over to the client. Programmer and Client. Others may be required depending on extent of changes. Maintenance Report

19 Personnel Client: The client commissions the software, describing the scope and boundaries of the problem to the analyst. Systems Analyst: The systems analyst agrees with the client the detailed specification of the software to be written. This should be completed to the satisfaction of both parties before the design or coding is carried out.

20 Personnel (Cont.) Project manager: This individual takes sole responsibility for keeping the project on track, from the receipt of the software specification until the software is delivered to the client. Programmer: The programmer is responsible, individually or as part of a team, for converting the algorithm into program code.

21 Personnel (Cont.) Independent test group: The independent test group (ITG) carries out testing of the software. This may be modular testing and/or component testing, looking at important subsections of the code. It will also entail testing of the finished product.


Download ppt "I Power Higher Computing Software Development The Software Development Process."

Similar presentations


Ads by Google