Professional Documents
Culture Documents
Information system is very important for any kind of organization to achieve the common goal.
Without a good information system communicating and decision taking tasks become difficult.
Systems development comprises the steps undertaken to create, modify, or maintain an
organization’s Information System.
System development is the process of defining, designing, testing and implementing a new
software application or program. It can include the internal development of customized systems,
the creation of database systems and acquisition of third party developed software.
Things have really changed in the software development arena over the last few years. One need
not to look back too far to remember a time when system development meant asking a
programmer to write some code in order to carry out a procedure or resolve an issue. However,
now times have changed. These days’ systems are highly complex and that means that many
large companies employ huge teams of programmers, analysts, testers, architects and more – they
have to collaborate and work together in order to produce the custom-written code which
ultimately drives companies to success.
As a result, the traditional interface can now be managed by a series of system development
lifecycle (SDLC) methodologies. We will explore the life cycle of system development and the
various approaches towards system development throughout the whole term paper.
Change is so constant and frequent that at any given time most organizations are involved in
some system improvement or change. Companies usually change their systems for one of the
following many reasons:
Some projects have clear objectives and goals while others’ end results are uncertain. Each type
of project has its own set of management challenges.
To implement different project development methodologies based on project conditions and team
size, organizations should not employ a “one size fits all” project development method, but tailor
their strategy to maximize quality and productivity.
Many factors can affect the chosen project development method of an organization or
project team. When evaluating which approach to take, consider whether the project is
familiar territory with a predictable path, or a new frontier with uncertain outcomes.
Known projects can usually rely upon a predictive method of planning. Predictive
planning provides a linear, specific development plan structured around producing a pre-
determined end result within a specific timeframe.
Evolving projects that face changing conditions are best suited for adaptive planning.
Adaptive planning involves breaking a project into small components over an
undetermined timeline to allow ultimate flexibility in directing the course.
The planning approach selected by an organization will lend itself to a specific project
development methodology. Whereas an organization with a predictive mindset might choose to
utilize a “waterfall” approach, adaptive teams may choose “agile” techniques.
Waterfall Approach:
The waterfall approach to project management is a useful approach when the variables and
outcomes of a project are known. In the waterfall method, a single episode of directive discussion
is followed by a lengthy production or development period, ending in the delivery of the resulting
project. The steps of the waterfall method include:
The waterfall method places a great deal of responsibility on the project team to understand and
implement provided objectives. If project representatives fail to provide the team with complete
and accurate information, the final product will not meet the needs of the organization.
Subsequent changes could be time-consuming and costly.
While clear knowledge of project objectives simplifies planning considerably, surprises are
almost inevitable. Time does not stand still during a lengthy project development process;
organizations may find that what suited their needs in January will not measure up in July. When
organizations are faced with developing new projects with unclear objectives, agile
methodologies provide the greatest flexibility.
The steps in agile techniques can vary somewhat based on the exact method employed. However,
agile steps generally include:
Although agile methodologies are more appropriate for small teams, they can be employed when
a large team is broken into sub-groups. If this is not possible, establish alternative communication
channels to enable broad input into a project from a variety of sources.
System Development Life Cycle (SDLC)
System Development Life Cycle (SDLC) is a series of seven main phases to create a hardware
system only, a software system only or a combination of both to meet or exceed customer’s
expectations.
Defining the problems, the objectives and the resources such as personnel and costs.
Studying the ability of proposing alternative solutions after meeting with clients,
suppliers, consultants and employees.
Studying how to make our product better than our competitors’.
After analyzing this data, we will have three choices:
develop a new system,
improve the current system or
leave the system as it is.
As organizations grow and change, management and employees recognize the need for more
or better information and request a new improved information system. During system analysis,
the information needed to purchase or develop a new system is gathered. The end-user’s
requirements should be determined and documented, what their expectations are for the system,
and how it will perform. A feasibility study will be made for the project as well, involving
determining whether it’s organizationally, economically, socially, technologically feasible. it’s
very important to maintain strong communication level with the clients to make sure we have
a clear vision of the finished product. Different requirement for system analysis are described
through chart, which is given below-
Approved User
Project Plan Requirements
The design phase comes after a good understanding of customer’s requirements, this phase
defines the elements of a system, the components, the security level, modules, architecture and
the different interfaces and type of data that goes through the system.
A general system design can be done with a pen and a piece of paper to determine how the
system will look like and how it will function, and then a detailed and expanded system design
is produced, and it will meet all functional and technical requirements, logically and physically.
Different types of requirement of system design are described below-
Approved User
System Design
Requirements
Requirements Component
Analysis Design Implementation
Determine Hardware
specifications.
Determine program
specification.
Design the database
Design procedure.
Create job definitions.
This phase comes after a complete understanding of system requirements and specifications,
it’s the actual construction process after having a completed and illustrated design for the
requested system.
In the Software Development Life Cycle, the actual code is written here, and if the
system contains hardware, then the implementation phase will contain configuration
and fine-tuning for the hardware to meet certain requirements and functions.
In this phase, the system is ready to be deployed and installed in customer’s premises, ready to
become running, live and productive, training may be required for end users to make sure they
know how to use the system and to get familiar with it, the implementation phase may take a
long time and that depends on the complexity of the system and the solution it presents.
Bringing different components and subsystems together to create the whole integrated system,
and then Introducing the system to different inputs to obtain and analyze its outputs and
behavior and the way it functions. Testing is becoming more and more important to ensure
customer’s satisfaction, and it requires no knowledge in coding, hardware configuration or
design.
Testing can be performed by real users, or by a team of specialized personnel, it can also be
systematic and automated to ensure that the actual outcomes are compared and equal to the
predicted and desired outcomes.
Implementation
The sixth phase is when the majority of the code for the program is written. Additionally,
system implementation is the process of installing, hardware and software and getting the new
system up and running. This process generally consists of installing and testing hardware,
selecting and training personnel, developing documentation and testing the system.
This step puts the project into production by moving the data and components from the old
system and placing them in the new system via a direct cutover. While this can be a risky (and
complicated) move, the cutover typically happens during off-peak hours, thus minimizing the
risk. Both system analysts and end-users should now see the realization of the project that has
implemented changes. Activities of implementation are illustrated in following figure-
Design
Components Implementation Users
System Maintenance
In this phase, periodic maintenance for the system will be carried out to make sure that the
system won’t become obsolete, this will include replacing the old hardware and continuously
evaluating system’s performance, it also includes providing latest updates for certain
components to make sure it meets the right standards and the latest technologies to face current
security threats.
Many models of system development life cycle came up from the idea of saving effort, money
and time, in addition to minimizing the risk of not meeting the customer’s requirement at the
end of project, some of these models are SDLC Iterative Model, and SDLC Agile Model.
System System
definition Maintenance Users
Several activities must be performed at various times throughout the SDLC. One such activity
is planning. The organization must have a long range plan, each systems development project
requires a plan, and each phase of each development plan must also be planned.
Importance of System Development Planning: System development planning is an
important step for the following reasons:
Consistency: Planning enables the system’s goals and objectives to correspond to the
organization’s overall strategic plan.
Efficiency: Systems are more efficient, subsystems are coordinated, and there is a sound
basis for selecting new applications for development.
Lower costs: Duplication, wasted efforts, and cost and time overruns are avoided.
Cutting edge: The company remains abreast of the ever present changes in IT.
Adaptability: Management is better prepared for future resource needs, and employees
are better prepared for the changes that will occur.
1. Project development plan: The basic building block of information systems planning
is the project development plan. Each project development plan contains a cost/benefit
analysis; development and operational requirements, including human resource,
hardware, software, and financial resource requirements.
2. The master plan: A master plan is a long-range planning document that specifies what
the system will consist of, how it will be developed, who will develop it, how needed
resources will be acquired, and where the AIS is headed. The master plan also should
provide the status of project in process, prioritize planned projects.
Feasibility Analysis:
A feasibility study (also called a “business case”) is prepared during system analysis and
updated as necessary during the remaining steps in the SDLC. The extent of these studies
varies, depending on the size and nature of the system.
Economic feasibility, the most important and frequently analyzed of the five aspects.
Conclusion:
we live a highly competitive and changing world, most of the organization continually face
the need for new faster and more reliable ways of obtaining information. An information
system must undergo changes, ranging from minor adjustments to major overhauls. Whether
system changes are major or minor, most company undergo through a systems development
life cycle. System development life cycle is a theoretical model which is used in project
management. The management of company must describe and execute suitable system
development life cycle that manage the process of developing, acquiring, implementing, and
maintaining computerized information system and associated technology.