Beruflich Dokumente
Kultur Dokumente
LESSON 12 to upward
Planning for System Development
The management should prefer to have a plan for IT development so as to help it to take various software development projects
in a structured way. At the very start, planning is done by the management regarding following issues
• Scope of software development – certain selected areas or the entire organization.
• How to get the project done – in-house committee or hired consultants.
• How much resource and time commitment can be made.
• Any written policy on which model is needed to be followed for software development.
IT planning provides a structured means of addressing the impact of technologies, including emerging technologies, on an
organization. Through the planning process, relevant technologies are identified and evaluated in the context of broader business
goals and targets. Based on a comparative assessment of relevant technologies, the direction for the organization can be
established. Business planning is an accepted responsibility of management. Plans provide a direction and framework for action.
Phases of IT planning
Although information technology plans are unique, the planning process and the underlying activities are similar.
• Orientation -- This start-up phase is required to establish the scope of the plan and the methodology and techniques to be
applied
• Assessment -- Major steps in this phase are
• Confirm business direction and drivers;
• Review technology trends; outline future requirements;
• Inventory (list or record) existing information systems; and
• Develop an assessment of what is needed.
• In the concluding step of this phase there should be a well-developed assessment of the current and future business needs,
• Strategic Plan -- This phase commences with developing the vision and desired future positioning of information technology
within the organization.
• Tactical Plan -- The selected strategies are divided into a series of projects which are scheduled for implementation depending
upon relative priorities and resource availability. The planning process is concluded by recommending a monitoring and control
mechanism.
What is System Development?
System development refers to the structuring of hardware and software to achieve the effective and efficient processing of
information. Information systems are developed keeping in view the needs to be met. There can be two reasons for system
development.
• A manual information system is to be computerized.
• An already computerized information system is to be replaced with a system that addresses the growing and changing needs of
the organization or the old system has become too slow or there are newer more efficient and user friendly development tools are
available.
In both the above mentioned situations, the phases followed for system development would be the same.
The extent of system study, analysis & design may depend on the fact whether the existing system is manual or computerized. To
develop systems, various development models or techniques are deployed. Let us understand why these development models are
used.
Models Used for System Development
2
Initially software development consisted of a programmer writing code to solve a problem or automate a procedure. Nowadays,
systems are so big and complex that teams of architects, analysts, programmers, testers and users must work together to create the
millions of lines of custom-written code that drive our enterprises. To manage this, a number of models for system development
have been created. The most famous of these models is the system development lifecycle model (SDLC) or Lifecycle Models.
Often, several models are combined into some sort of hybrid methodology. Documentation is crucial regardless of the type of
model chosen or devised (set up, develop, create) for any application, and is usually done in parallel with the development
process. Some methods work better for specific types of projects, but in the final analysis, the most important factor for the
success of a project may be how closely the particular plan was followed.
1. If there is an existing system, its deficiencies are identified. This is accomplished by interviewing users and consulting
with support personnel.
2. The new system requirements are defined including addressing any deficiencies in the existing system with specific
proposals for improvement.
3. The proposed system is designed. Plans are created detailing the hardware, operating systems, programming, and
security issues.
4. The new system is developed. The new components and programs must be obtained and installed. Users of the system
must be trained in its use, and all aspects of performance must be tested. If necessary, adjustments must be made at this
stage.
5. The system is put into use. This can be done in various ways. The new system can phased in, according to application
or location, and the old system gradually replaced. In some cases, it may be more cost-effective to shut down the old
system and implement the new system all at once.
6. Once the new system is up and running for a while, it should be exhaustively evaluated. Maintenance must be kept up
rigorously at all times. Users of the system should be kept up-to-date concerning the latest modifications and
procedures.
Need Assessment
Information systems are usually developed on need-basis, that is, problems and opportunities arise and render system
development necessary. In this phase the stakeholders must attempt to come to some understanding of the nature of the problem
or opportunity they are addressing.
Should formal terms of reference be prepared and approved by the steering committee or project committee? This depends on the
size, impact and cost of the system being prepared. The TOR usually covers following aspects.
• Investigation on existing system
• Definition of system requirements
3
• Specifying performance criteria for the system
• Detailed cost budget
• Draft plan for implementation
If the problem is decided to be addressed and the level of acceptance that exists among the stakeholders on the need of change,
the level of technological uncertainty the proposed solution to the problem/opportunity has. The most critical phase is the
agreement of the stakeholders on the definition of problem and parameters of solution.
The following are some basic popular models that are adopted by many software development firms
A. Waterfall Model
B. Incremental Model
C. Prototyping Model
D. Spiral Modal
E. Rapid Application Development Model
F. Component Assembly Model
There are various software development approaches defined and designed which are used/employed during development process
of software, these approaches are also referred as "Software Development Process Models". Each process model follows a
particular life cycle in order to ensure success in process of software development.
6
One such approach/process used in Software Development is "The Waterfall Model". Waterfall approach was first Process Model
to be introduced and followed widely in Software Engineering to ensure success of the project. In "The Waterfall" approach, the
whole process of software development is divided into separate process phases. The phases in Waterfall model are: Requirement
Specifications phase, Software Design, Implementation and Testing & Maintenance. All these phases are cascaded (Rush down
in big quantities, like a cascade) to each other so that second phase is started as and when defined set of goals are achieved for
first phase and it is signed off, so the name "Waterfall Model". All the methods and processes undertaken in Waterfall Model are
more visible.
System & Software Design: Before a starting for actual coding, it is highly important to understand what we are going to
7
create and what it should look like? The requirement specifications from first phase are studied in this phase and system design is
prepared. System Design helps in specifying hardware and system requirements and also helps in defining overall system
architecture. The system design specifications serve as input for the next phase of the model. This phase includes the designing
of following elements:
User/Accountant uses chart of accounts to access the relevant accounts in order to prepare different vouchers according to
requirements. The purpose behind this entire activity is to record various transactions. The next step is posting of all these
transactions in the system. This process updates the general ledger.
Entity Relationship Diagram (ERD)
Another diagrammatical tool used in system design is ERD. ERD as shown below indicates simple relationships. These
relationships can be read as follows.
• One department has one supervisor
• A department may have more than one employee
Or
• An employee may be in more than one department
• An employee may not be working on any project but a project must have at least one employee working on it
8
The above figure shows a hotel booking system. Various records have been kept for each entity.
However each entity shares a relationship with for logical purpose. For instance, the field for room however link has been made
to reservation, session and logs by making user ID common to all three tables. Such kind of relationship helps in keeping
Implementation & Unit Testing: On receiving system design documents, the work is divided in modules/units and
actual coding is started. The system is first developed in small programs called units, which are integrated in the next phase. Each
unit is developed and tested for its functionality; this is referred to as Unit Testing. Unit testing mainly verifies if the
modules/units meet their specifications.
Integration & System Testing: As specified above, the system is first divided in units which are developed and tested
for their functionalities. These units are integrated into a complete system during Integration phase and tested to check if all
modules/units coordinate between each other and the system as a whole behaves as per the specifications. After successfully
testing the software, it is delivered to the customer.
Operations & Maintenance: This phase of "The Waterfall Model" is virtually never ending phase (Very long).
Generally, problems with the system developed (which are not found during the development life cycle) come up after its
practical use starts, so the issues related to the system are solved after deployment (use or operation) of the system. Not all the
problems come in picture directly but they arise time to time and needs to be solved; hence this process is referred as
9
Maintenance.
• As the requirements of the customer goes on getting added to the list, not all the requirements are fulfilled, this
results in development of almost unusable system. These requirements are then met in newer version of the system; this
increases the cost of system development.
• Produces excessive documentation and keeping it updated as the project progresses is time-consuming.