resources. Computer software is also known as code, because it is written in specialized languages by trained programmers. Of course, as well as knowing how to write code, programmers have to know what they are writing it for; in other words the functional specification of the program. Once this is known, decisions on system design can be made. In this case, system design considerations will include the choice of operating system or platform it will run on, the type of back end or database technology which will be used, and what technical standards will be used by the front end. And then, finally, as we saw previously, once the system design decisions have been made, resource and scheduling issues will need to be considered.
Unit 7, Lesson 2, Exercise E≤1.30
Part 3 Now, an important concept in software development is defining user requirements – the need to ensure that a statement of requirements is agreed with the client before any work starts. What do I mean by client requirements? Well, to help you understand this idea clearly, can you look for a moment at the leaflet I have given you from the Small Web Development Company? As you can see, the first stage is agreeing a statement of requirements, after which there are several stages before a decision is made on what web design will be produced. Looking at it another way, it is only when agreement has been reached with the client on the functionality of the software that the developers can begin to work. It is also important that the agreement on functionality is clearly documented, as otherwise problems can occur when more and more functionality is added to the project at the request of the client. In project management terms, this is called ‘feature creep’, where the project gets bigger and bigger as the client asks for more and more functions to be added to the software. When a web development company produces a number of mock-ups for a client, they are lowering the risk that the site which is put into production will not meet the client’s requirements. Let’s look at an example of this. Say the developers go ahead and build a website without taking into account all of the client’s requirements. They show it to the client and he doesn’t like it. The difference between the cost of the total development and the cost of developing a prototype is likely to be quite significant. Why is agreeing client requirements so important? Well, the point is that unless the
124
developers know exactly what they have to do, then they can’t choose the best development technologies or decide on a timescale which will deliver the project on time. In this way, resources can be allocated to enable the project to be delivered on time.
Unit 7, Lesson 2, Exercise F≤1.31
Part 4 Now … er … let’s see … oh dear, I see we’re running short of time … but perhaps I should just say something about models used for developing software.
There are four main models which I will outline.
To start with, model one is the waterfall model. In this type of model, each stage directly follows the other. It is called a waterfall model because each stage is dependent on the results which flow on from the previous stage. It is particularly useful for simple problems which can be clearly defined. The iterative model adds functionality in stages to software. Examples of this type of software are things like end-user applications or operating system versions. The first iteration usually provides the core functionality for the program, and each successive increment adds new functionality and fixes anything that hasn’t worked properly in the previous iteration.
So the third model is called the prototyping model. What’s important about prototyping is that clients have an opportunity to see a model before it is fully developed. It sometimes happens that clients are not totally sure what they want the software to do, but they feel they will recognize it when they see it. It is suitable for projects which are relatively small, such as website development. The web development company whose brochure we looked at uses this model. It means that full development only goes ahead when the client can see what the outcome will be. At the same time, the disadvantage, I think, of this system is that the design process can take much longer than with other models.
Lastly, there is the spiral model. What’s different
in the spiral model is that it combines elements of the waterfall and prototyping models. This means that the overall project is broken down into stages, as in the waterfall model. However, within each of these stages, the prototyping model is used to produce prototype software. The spiral model is particularly good for large, expensive and complicated projects.
Page 1 |
Page 2 |
Page 3 |
Page 4 |
Page 5 |
Page 6 |
Page 7 |
Page 8 |
Page 9 |
Page 10 |
Page 11 |
Page 12 |
Page 13 |
Page 14 |
Page 15 |
Page 16 |
Page 17 |
Page 18 |
Page 19 |
Page 20 |
Page 21 |
Page 22 |
Page 23 |
Page 24 |
Page 25 |
Page 26 |
Page 27 |
Page 28 |
Page 29 |
Page 30 |
Page 31 |
Page 32 |
Page 33 |
Page 34 |
Page 35 |
Page 36 |
Page 37 |
Page 38 |
Page 39 |
Page 40 |
Page 41 |
Page 42 |
Page 43 |
Page 44 |
Page 45 |
Page 46 |
Page 47 |
Page 48 |
Page 49 |
Page 50 |
Page 51 |
Page 52 |
Page 53 |
Page 54 |
Page 55 |
Page 56 |
Page 57 |
Page 58 |
Page 59 |
Page 60 |
Page 61 |
Page 62 |
Page 63 |
Page 64 |
Page 65 |
Page 66 |
Page 67 |
Page 68 |
Page 69 |
Page 70 |
Page 71 |
Page 72 |
Page 73 |
Page 74 |
Page 75 |
Page 76 |
Page 77 |
Page 78 |
Page 79 |
Page 80 |
Page 81 |
Page 82 |
Page 83 |
Page 84 |
Page 85 |
Page 86 |
Page 87 |
Page 88 |
Page 89 |
Page 90 |
Page 91 |
Page 92 |
Page 93 |
Page 94 |
Page 95 |
Page 96 |
Page 97 |
Page 98 |
Page 99 |
Page 100 |
Page 101 |
Page 102 |
Page 103 |
Page 104 |
Page 105 |
Page 106 |
Page 107 |
Page 108 |
Page 109 |
Page 110 |
Page 111 |
Page 112 |
Page 113 |
Page 114 |
Page 115 |
Page 116 |
Page 117 |
Page 118 |
Page 119 |
Page 120 |
Page 121 |
Page 122 |
Page 123 |
Page 124 |
Page 125 |
Page 126 |
Page 127 |
Page 128 |
Page 129 |
Page 130 |
Page 131 |
Page 132 |
Page 133 |
Page 134 |
Page 135 |
Page 136 |
Page 137 |
Page 138 |
Page 139 |
Page 140