Presentation is loading. Please wait.

Presentation is loading. Please wait.

Int 2 & Higher Computing Software Development in True Basic INTRODUCTION.

Similar presentations


Presentation on theme: "Int 2 & Higher Computing Software Development in True Basic INTRODUCTION."— Presentation transcript:

1 Int 2 & Higher Computing Software Development in True Basic INTRODUCTION

2 The Development Process Before we think about how software is developed, it is worth considering how any product is developed, because the process is essentially the same.

3 The Development Process 1. Analysis 2. Design 3. Implementation 4. Testing 5. Documentation 6. Evaluation 7. Maintenance

4 Real life For example, think about the process of developing a new model of TV.

5 TV - Analysis Before a new product is developed, someone within the company, probably in the marketing department, analyses what people want. They consider which products are selling well, look at what rival companies are producing, and maybe even carry out a survey to find out what people want. From this they can work out which features are required in their newest model, including its size, target price range and various technical requirements.

6 TV - Analysis They use this information to produce a specification for the new model of TV. This states clearly all the features that it must have.

7 TV - Design The next stage is to turn the specification into a design. Designers will get to work, alone or in groups, to design various aspects of the new TV. What will it look like? What will it look like? How will the controls be laid out? How will the controls be laid out? Sketches will be drawn up and checked against the specification. Another team of designers will be planning the internal circuitry, making sure it will allow the TV to do all the things set out in the specification.

8 TV - Implementation Once the design phase is over, engineers will get to work to actually build a prototype. Some will build the case according to the design, while others will develop the electronics to go inside. Each part will be tested on its own, then the whole thing will be assembled into a (hopefully) working TV set.

9 TV - Testing Before the new model can be put on sale, it will be thoroughly tested. A wide range of tests will be carried out. It might be tested under ‘normal’ conditions. It could be put in a room at normal room temperature, and checked to see that all the controls work correctly, the display is clear, it is nice and stable, and so on.

10 TV - Testing If it passes normal of testing, it might next be tested under ‘extreme’ conditions. For example, does it still work if the temperature is below freezing, or very hot and humid, if it used for long periods of time, or with the volume or the brightness or contrast set to their maximum values. Finally, it could be tested under ‘exceptional’ conditions. What happens if a 2-year old picks up the remote and presses all the buttons at once? What happens if there is a power cut, or a power surge?

11 TV - Testing If it fails any of these tests, it might be necessary to go back to the implementation (or even design) stage and do some further work, before re-testing. If it passes all the tests, then the new TV can go into production.

12 TV - Documentation However, the development isn’t yet complete! Some documentation will be needed to go with the TV – a User Manual containing all the instructions about how to work the new TV, and probably a Technical Manual for repair engineers.

13 TV - Evaluation Once the model is in production, the company will want to evaluate it. Does it do what it is supposed to do? Does it do what it is supposed to do? Is it easy to use? Is it easy to use? From the engineer’s point of view, is it easy to repair? From the engineer’s point of view, is it easy to repair?

14 TV - Maintenance Stage 6 should be the end of the story, but in the real world, there needs to be stage 7 – maintenance. There are different kinds of maintenance: fixing faults that turn up once it is being used regularly, fixing faults that turn up once it is being used regularly, improving the design to make it even better, improving the design to make it even better, or making changes for other situations (like making a version that will work in another country). or making changes for other situations (like making a version that will work in another country).

15 Pupil Exercise New Higher Computing p 170 Outcome 1a Questions

16 The Software Development Process Exactly the same process goes into the production of a piece of software. The software engineers and their colleagues carry out all the stages of the software development process in order – analysis, design, implementation, testing, documentation, evaluation, maintenance.

17 The Waterfall Model The Software development process is “ITERATIVE”. This is best seen by the Waterfall Model

18 Pupil Exercise Read Scholar p2.3 Do Review Questions 2.3.1 Do SCHOLAR Sentence Completion

19 The Software Development Process – Who is involved? Steve Pemberton is Manager of the “cute noses” division of TOYS, TOYS, TOYS inc. The people who work with him have identified that they are struggling to keep track of what nose goes with what toy. They want a piece of software to help them.

20 The Software Development Process – Who is involved? Steve and his colleagues know nothing about programming, so as manger, Steve decides to bring in an outside company to develop this piece of software. TOYS TOYS TOYS inc. Software Delivered plc. Hire

21 The Software Development Process – Who is involved? AS Steve and his colleagues are not programmers, they hire an outside company called “Software Delivered plc” to produce the software for them.

22 The Software Development Process – Who is involved? At this point, “Toys, Toys, Toys, inc. become the client of “Software Development plc.” The client has identified a need for a piece of software. This is a very informal document The first job is to formalise the need

23 The Software Development Process – Who is involved? “Software Delivered plc.” will appoint one of their employees, most likely an experienced programmer, to “Toys, Toys, Toys, inc” as a SYSTEMS ANALYST The job of the systems analyst is to look at the current system in place and see how it works and where it can be improved with software

24 The Software Development Process – Who is involved? The Systems Analyst will gather information from a variety of sources 1. Interviews with management 2. Interviews with employees 3. Observing the current system in work 4. Looking at “Toys, Toys, Toys, inc.” documents and working procedures 5. etc…

25 The Software Development Process – Who is involved? One the Systems Analyst has carried out this analysis, a formal project specification is written This forms a legal contract between both companies.

26 The Software Development Process – Who is involved? At this point “Toys Toys Toys, inc.” take a back seat to the development of the software. “Software Delivered plc” will appoint a PROJECT MANAGER It is the project manager’s job to oversee the development of the software

27 The Software Development Process – Who is involved? The Project Manager (again, an experienced programmer) will look at the formal project specification and assign members of his team to develop pieces of the solution He will then manage the process of brining all these separate pieces together to form the whole piece of software.

28 The Software Development Process – Who is involved? The Project Manager will now appoint PROGRAMMERS to develop the software as designed.

29 The Software Development Process – Who is involved? Testing may involve bringing in outsiders with no knowledge or experience of the systems. This is known as an INDEPENDENT TeST GROUP. Their role is to test the software form a new employees point of view.

30 Pupil Exercise Read New Higher Computing p158 – 159 Section 1 – Analysis Higher Computing Practice Papers p2 Q1, p5 Q12a, p19 Q4b, p30 Q13a Read New Higher Computing p164 –165 Field Testing

31 The Software Development Process - Analysis The main purpose of the analysis stage is to be absolutely clear about what the program is supposed to do. Often, a new program will start from a rough idea. Before getting started, it is important to turn the rough idea into an exact description of how the program will behave. What will it do? What are the inputs and the outputs? What type of computer is it to run on? All these questions, and many more, must be asked and answered at this stage.

32 The Software Development Process - Analysis The main purpose of the analysis stage is to be absolutely clear about what the program is supposed to do. Often, a new program will start from a rough idea. Before getting started, it is important to turn the rough idea into an exact description of how the program will behave. What will it do? What are the inputs and the outputs? What type of computer is it to run on? All these questions, and many more, must be asked and answered at this stage.

33 The Software Development Process - Design Inexperienced programmers are often tempted to jump straight from the program specification to coding, but this is not a good idea. It is worth spending time at the design stage working out some of the important details, including how the program will look on the screen, how the user will interact with the program, and how the program might be structured.

34 The Software Development Process - Design Program designers use a variety of methods for describing the program structure. Two common ones are called pseudocode and structure diagrams. There are many others, but we will only consider these two.

35 The Software Development Process – Design - Pseudocode Think about making tea. Here is a list of instructions for this task: 1. Get a mug out of the cupboard 2. Put a teabag in it 3. Boil the kettle 4. Pour boiling water from the kettle into the mug 5. Stir. This is an example of pseudocode. It is a numbered list of instructions written in normal human language (in this case, English). It doesn’t go into all the details, but it gives the main steps. Pseudocode is read from top to bottom.

36 The Software Development Process – Design – Structure Diagram Another way of showing this is as a structure diagram. It could look like this: Making tea Get mug from cupboard Put teabag in mug Boil kettle Pour water from kettle into mug Stir

37 The Software Development Process - Design When designing a programme it is important to indicate the data flow. This shows how an item of data gets from one part of the program to another.

38 The Software Development Process - Design Top-down design breaks the overall problem into large steps. These steps can then be further broken down into smaller sub-steps. This process is called stepwise refinement. This process creates an algorithm

39 Pupil Exercise Read New Higher Computing p171 – 178 Section 2 – Design Methodolgy New Higher Computing p 186 Outcome 1b Questions Read Scholar P3.1, 3.2, 3.3

40 I5 - The Software Development Process – Implementation In software development, implementation is the process of converting a program design into a suitable programming language. There are thousands of different programming languages out there, all with their own advantages and disadvantages. For the purposes of this course, you only need to know about two main groups: machine code and high level languages. For this course, you will be learning to implement programs in Visual Basic. Be aware other languages are available!

41 I6 - The Software Development Process – Testing We looked at testing at the start of this booklet. Whether talking about a new TV, a new item of clothing, or a new computer program, the manufacturers will spend a great deal of time on testing. This will be carefully planned to test a wide range of conditions. We can divide it up into three types of testing. Normal Normal Extreme Extreme Exceptional Exceptional

42 The Software Development Process – Testing Testing needs to be both systematic and comprehensive Systematic Testing makes sure that the testing follows a plan and is not haphazard Comprehensive Testing means that the program is tested as thoroughly as possible.

43 Pupil Exercise Testing Read New Higher Computing p178 -180 Do New Higher Computing p186 Outcome 1b Q6-9 Read Scholar p3.4 Do Review Questions 3.4.2

44 The Software Development Process – Documentation Printout When producing a piece of software, it is normal to produce a printout of the User Interface and the code of the program

45 The Software Development Process – Documentation User Guide When you buy a product, whether it is a computer program or anything else, you usually get some kind of User Guide with it. This tells you how to use the product. It might also contain a tutorial, taking you through the use of the product step by step. Some software comes with a big fat book called User Guide or Manual; others come with the User Guide on a CD.

46 The Software Development Process – Documentation Technical Guide As well as documentation for the user of the software, there should also be a Technical Guide of some sort. This gives technical information which is of little interest to most users, except that it will usually include information about the specification of computer required, including how much RAM it needs, how fast a processor it must have, and which operating system is required. The Technical Guide should also include instructions on how to install the software.

47 Pupil Exercise Read New Higher Computing p178 -180 Do New Higher Computing p186 Outcome 1b Q6-9 Read Scholar p3.4 Do Review Questions 3.4.2

48 The Software Development Process – Evaluation The final stage in the process before the software can be distributed or sold is evaluation. Evaluation involves reviewing the software under various headings to see if it is of the quality required. For Int 2, we will review software under three headings: fitness for purpose, user interface and readability. At Higher, we add: robustness, reliability, efficiency and maintainability

49 The Software Development Process – Evaluation Fit for purpose Is the software fit for purpose? The answer is ‘yes’ if the software does all the things that it is supposed to do, under all reasonable conditions. This means going back to the program specification (produced at the analysis stage) and checking that all the features of the software have been implemented. It also means considering the results of testing, and making sure that the program works correctly and is free from bugs.

50 The Software Development Process – Evaluation The User Interface The user interface should also be evaluated. Is the program easy to use? Is the program easy to use? Is it clear what all the menus, commands and options are supposed to do? Is it clear what all the menus, commands and options are supposed to do? Could it be improved in any way? Could it be improved in any way?

51 The Software Development Process – Evaluation Readability The third aspect of evaluation that we will consider is readability. This is of no direct concern to the user of the software, but is important for any programmer who may need to understand how the program works. It is to do with the way that the coding has been implemented. Is it possible for the program code to be read and understood by another programmer, perhaps at a later date when the program is being updated in some way?

52 The Software Development Process – Evaluation Robustness Robustness is the ability of the program to cope with errors during execution without failing. If, for example, a printer jams or runs out of paper when the program is running, then the program should not fail. In this example, the program should detect the printer error and make suggestions to the user about what action to take.

53 The Software Development Process – Evaluation Reliability Reliability is how well software operates without failing due to design faults Reliable software should be free form design and coding bugs and may be depended upon to give the correct results for the inputs given.

54 The Software Development Process – Evaluation Efficiency Efficiency means that the program does not require an excessive amount of storage space on the computers hard disk, nor does it use huge quantities of memory when running. Also, it should not make inappropriate demands on processor time

55 The Software Development Process – Evaluation Maintainability If a program is maintainable, then changes can be made to it easily. One factor of this is readability. Other factors affecting maintainability are: Meaningful names for variables and procedures Meaningful names for variables and procedures Structured listings Structured listings Internal documentation Internal documentation

56 Pupil Exercise Read New Higher Computing p188 -189 Do New Higher Computing p189 Outcome 1c All Questions Read Scholar p3.4 Do Review Questions 3.4.2

57 The Software Development Process – Maintenance This final phase happens after the program has been put into use. There are different types of maintenance that might be required. These are called corrective maintenance, perfective maintenance and adaptive maintenance.

58 The Software Development Process – Evaluation Corrective Maintenance Corrective maintenance is where faults not captured at the testing stage are fixed.

59 The Software Development Process – Evaluation Perfective Maintenance Perfective maintenance is where the program is improved in some way. This may be to help maintainability by putting in more internal documentation, or removing pieces of cade that are redundant.

60 The Software Development Process – Evaluation Adaptive Maintenance Adaptive maintenance is where the program is changed in response to an altered environment. For example, if the company using the piece of software suddenly changes their operating system, the program may require “tweaked” so it will continue to work.

61 Pupil Exercise Read New Higher Computing p188 -189 Read Scholar p2.10 Do Matching Definitions


Download ppt "Int 2 & Higher Computing Software Development in True Basic INTRODUCTION."

Similar presentations


Ads by Google