WITH ANSWERS RATED A+
✔✔Feasibility Study - ✔✔The main purpose of this is to examine an existing system to
find out whether or not it is worthwhile replacing it with a different system. Replacing a
system has certain costs:
Money for software developers, hardware etc.
Time, designing and installing the new system is time consuming.
Human resources, specialist staff are needed to design and install the system and
existing staff would need to be retrained to operate it.
Benefits of replacing a system:
May be possible to do a job faster.
May be cheaper to operate, requiring less staff.
✔✔Analysis - ✔✔The main purpose is to understand the existing system as well as the
requirements of the proposed system. The following steps may be taken:
Using the current system as a current user might use it.
Studying system documentation.
Interviews/questionnaires of customers/staff to seek their opinion.
Observing the current system in use.
Exploring data requirements.
Producing diagrams showing processing and entities.
✔✔Design - ✔✔Designing a new system is split into a number of sections. A design is
simply a detailed plan for the proposed system.
Designing algorithms - They must be well designed otherwise it can affect the speed of
a process, such as searching or sorting.
Designing HCI - Involves the design of how the computer and human will interact with
each other, involving hardware and software.
Designing data structures - Records, arrays, variables etc. need to be decide upon.
✔✔Testing - ✔✔Is the point at which the program is checked to address two main
questions:
Does the program do what it was intended to do?
Does the program function correctly?
✔✔Changeover - ✔✔Is the point where at which the user moves from the old system to
the new system. There are several ways in which this can take place:
Direct - Where the changeover is sudden and complete.
Parallel - Both systems run at the same time for a while, this is beneficial because in the
event of a problem, the old system is still available for use.
Phased - Elements of the new system as introduced one at a time.
Pilot - A single department may change to the new system in a company, and then the
rest of the organisation would follow later.
When choosing, it is important to consider the cost of implementing it and the disruption
that could be caused.
, ✔✔Maintenance - ✔✔When the changeover is complete, the work of the developer is
not complete. Maintenance means ensuring the product continues to be beneficial to
the customer.
Perfective maintenance - Making the system easier to use or adding new features,
making the system as good as it can be for the purpose.
Adaptive maintenance - Making changes to the system as the needs of the customer
change.
Corrective maintenance - Solving problems that occurred during the creation of the new
system that wee not discovered at the time.
✔✔Documentation - ✔✔At various points during the life cycle, documentation needs to
be provided by the developer for a variety of purposes:
Design documentation, of the interface and the processes, are needed by the end user
as soon as possible to check what is going to be produced is what is required.
Program documentation, including annotated code and design of data structures, must
be available to the developer during testing and maintenance.
During testing, a log of results will be produced in an ongoing cycle, until the system is
deemed to be working correctly.
User manuals must be available to the customer to provide details on how to operate
the system.
Technical manuals are also needed to detail things such as security procedures,
backup procedures and system recovery procedures.
✔✔Prototyping - ✔✔One way of developing solutions in which a basic version of the
finished product is created quickly.
End user uses prototype --> Feedback from end user is obtained --> Prototype is
updated.
+ Because the end user is always involved, time spent on unnecessary features is
minimized.
+ There are multiple opportunities for errors to be detected, so they are usually detected
sooner.
+ Testing of the solution can begin far sooner than in the cyclical development model,
allowing more time to find errors.
- It is quite easy for the solution to become more complex than initial plans.
- Beginning the process by producing a prototype might mean the analysis stage is not
completed as thoroughly as it should be.
- Lots of opportunities exist for the end user to change their minds, which can result in
higher costs in terms of money and time.
✔✔Unit/Modular Testing - ✔✔Solutions can be broken down into modules. This makes
the solution easier to understand and allows straightforward distribution of tasks among
a team of programmers.
✔✔Alpha Testing - ✔✔Carried out by the developer. Individual algorithms tested, with
the values of variables being traced through the program, often line by line. This type of