Question 1: Describe the System Development Life Cycle (SDLC) that suits the above
specifications. Also, evaluate the systems requirement.
SOFTWARE DEVELOPMENT LIFECYCLE (SDLC):
From the inception of an idea for software system, until it is implemented and delivered to the
customer and even after that the system undergoes the several changes. The software is said to
have a lifecycle known as Software Lifecycle composed of several phases. Each of these phases
results in the development of either a part of the system or something associated with the
system, such as a test plan or user manual.
In the traditional and most common lifecycle model called WATERFALL MODEL, each
phase has well defined starting and ending points with clearly identifiable inputs to the very next
phase attached to it. In practice basically very simple and meaningful to visualize and understand
clearly as depicted in the figure: = = = = = =
CODING & MODULE
Fig: WATER FALL MODEL
A simple waterfall Lifecycle Model comprises the following phases:
Requirements Analysis & specification
Requirements Analysis is usually the very first phase of large-scale software development
project. It is undertaken after a feasibility study has been performed to define the precised cost
and benefits of the software system. The purpose of this particular phase is to identify and
obtained the exact requirements of the system.
The customer, the developer, a marketing organization or any combination of ever three
may perform such study. In cases where the requirements are not clear e.g. for a system which
has never been done before, much interaction is required between the user and the developer.
The requirements at this stage are hence in end user terms. Various software engineering
methodologies advocate that this phase must also produce user manuals and system test plans.
Design & Specification
Once the requirements for the system have been documented, software engineers design
a software system to meet them. This phase is sometimes split into two sub-heads such as
architectural or high level design and detailed design.
The high level design deals with the overall module structure and origin rather than the details of
the module. tHe high level design is defined by designing each module in detail known as detailed
design. Separating the requirements analysis phase from the design phase is an instance of a
fundamental what/how dichotomy that we encounter quite often in computer science.
The general principle involves making a clear distinction between what the problem is and
how to solve the problem. The purpose of the design phase is to specify the particular system,
which will meet the stated requirements.
Coding & Module Testing
This is the phase, which will be delivered to the customer as the running system. Th other
phase of the lifecycle may also develop code such as prototypes, tests and test drivers but these
are for the use of the developers. Individual modules develop in this particular phase are also
being tested known as module testing before being delivered to the next phase.
Integration & System Testing
This is the next phase in the traditional Waterfall Model. IN this phase all the modules that
have been developed before and tested are basically linked and put together that is been
integrated as a whole in the capacity of a complete software system and then the whole system
is being tested known as system testing.
Delivery & maintenance
Once the system posses all the test and its subsequent activities then after that only it is
delivered to the outside world to its destination that is the customer known as delivery stage.
After the successful completion fo the delivery stage it enters into the maintenance field. As a
result of this any modifications made to the system after initial delivery is usually attributed to
this particular phase. The above-mentioned figure gives the graphical representation and view of
the software development lifecycle, which provides a usual explanation of the term Waterfall
being used to denote. Here each phase yields certain results that flow into the next phase and
the proceeds in an orderly and linear fashion.
Perform and evaluate feasibility studies like cost-benefit analysis, technical feasibility, time
feasibility and operational feasibility for the project. Project Scheduling should be made using
both GANTT and PERT charts.
Feasibility study is carried out t decide whether the proposed system is feasible for the
company. The feasibility study is to serve as a decision document it must answer three key
1. Is there a new and better way to do the job that will benefit the user?
2. What are the cost and the savings of the alternative(s)?
3. What is recommended?
Technical feasibility centers on the existing computer system i.e. Hardware, Software etc.
Travel Agency requires SQL database management that are all easily available with extensive
development support through manuals and blogs. So development of Travel Agency is technically
Economical Feasibility is the most frequently used method for evaluating the effectiveness
of a candidate system. More commonly know as Cost/ Benefit analysis, the procedure is to
determine the benefits and savings that are expected from the candidate system and compare
them with costs. If th benefits outweigh costs, then the decision is made to design and implement
With Travel Agency, administrator will get rid of editing configuration files to manage the
same. This makes travel agency operationally feasible.
Computing Platform Installation Testing Implementation
10 12 9 15
Begin 2 4 5 6
1 12 Prepare Site 35
Time in month
Design and draw the data flow diagrams(DFD’s) up to the required levels, entity-
relationship (ER) diagram and also produce a data dictionary. [20 marks]
Off_id Name Address
Booking officer Management Passengers
Administration Staff members
DATABASE Debit Search
Create System flow chart and state transition diagrams.
Storing result in
Result is produced Features modify
Result to be generated