Sie sind auf Seite 1von 6

AN OVERVIEW OF SYSTEM DEVELOPMENT

The system development process, also known as the system development life cycle,
is a term used in the development of software where a set of methodical processes,
activities, or phases are used to develop and implement a system. With the rapid
development and constant evolution of systems technology to date, different
development processes have been established and tried

Common System Development Steps


A software system seeks to solve a problem. The following steps are common to most
development processes and describe the general details of the steps taken to achieve
this. The steps are designed to develop a system characterized by quality and
accuracy, and one that reflects the client's requirements.

Information Gathering
In this important step, the problems, objectives, and resources needed are outlined.
Participating stakeholders such as clients, developers, consultants, and end-users
come together and engage in brainstorming. If the software is not brand new there will
be less information and data gathering and more focus on improvements.

Analysis
At this point, the end-user requirements have been clearly formulated. Feasibility
studies may be carried out to analyze the economic and technical impacts of the
project. Information on competitive products is also collected. Viability of the project is
established and the project is broken down into workable segments.

Design
With clearly defined workable segments, the system design is developed. Customer
requirements define the different elements of the system. Details on the functionality,
techniques, and logic of the process are formulated.

Implementation
This is the actual construction phase of the system. The logical part of the system is
formulated and the building of any hardware is accomplished. The programming
language is already decided and the codes are written.

Deployment
The logic of the system is completed and ready to be deployed with any accompanying
hardware. The customer's needs are vested and various installation procedures are
carried out. The time it takes for the system to actually go live will depend on its
complexity. End-user training is organized to ensure proper use of the system.

System Testing
The different workable parts of the system are brought together, making a whole
integrated system. Various inputs are collected, analyzed, and fed into the system. Real
users may be employed to carry out testing. The main aim of the testing phase is to
ensure that the customer's requirements are met and overall customer satisfaction
achieved. No technical expertise, knowledge of hardware or software are needed.
Specialized personnel may be brought in to conduct more in-depth and robust testing.

=============================

WHAT IS A FRAMEWORK? A system development methodology refers to the


framework that is used to structure, plan, and control the process of developing an
information system. A wide variety of such frameworks have evolved over the years,
each with its own recognized strengths and weaknesses. One system development
methodology is not necessarily suitable for use by all projects. Each of the available
methodologies is best suited to specific kinds of projects, based on various technical,
organizational, project and team considerations.

Ad-hoc Development
As the name depicts this is an unplanned process of systems development. Ad-hoc
system development (ASD) normally engages participants with some level of expertise
and familiarity with the problem. It depicts a rather chaotic process and is characterized
by constant changes and modifications as the process develops.

The Waterfall Development


The design process is characterized by a system of sequential steps. It is known for its
rigidity in following those steps. One completed step must precede the next. Design
results are only realized on the completion of the last step

Framework Type: Linear


Basic Principles:
1. Project is divided into sequential phases, with some overlap and splashback
acceptable between phases.
2. Emphasis is on planning, time schedules, target dates, budgets and implementation
of an entire system at one time.
3. Tight control is maintained over the life of the project through the use of extensive
written documentation, as well as through formal reviews and approval/signoff by the
user and information technology management occurring at the end of most phases
before beginning the next phase.
Strengths:
1. Ideal for supporting less experienced project teams and project managers, or project
teams whose composition fluctuates.
2. The orderly sequence of development steps and strict controls for ensuring the
adequacy of documentation and design reviews helps ensure the quality, reliability, and
maintainability of the developed software.
3. Progress of system development is measurable.
4. Conserves resources.
Weaknesses:
1. Inflexible, slow, costly and cumbersome due to significant structure and tight controls.
2. Project progresses forward, with only slight movement backward.
3. Little room for use of iteration, which can reduce manageability if used.
4. Depends upon early identification and specification of requirements, yet users may
not be able to clearly define what they need early in the project.
5. Requirements inconsistencies, missing system components, and unexpected
development needs are often discovered during design and coding.
6. Problems are often not discovered until system testing.
7. System performance cannot be tested until the system is almost fully coded, and
undercapacity may be difficult to correct.
8. Difficult to respond to changes. Changes that occur later in the life cycle are more
costly and are thus discouraged.
9. Produces excessive documentation and keeping it updated as the project
progresses is time-consuming.
10. Written specifications are often difficult for users to read and thoroughly appreciate.
11. Promotes the gap between users and developers with clear division of
responsibility.
12. Strict requirement exists for formal approvals at designated milestones.
================================
APPLYING INFORMATION TECHNOLY
 Information technologies provide the infrastructure and support to build an
information system.

Information Technologies
 Software technologies
 Including operating systems and DBMS
 MS Words improves the quality of management reports
 Window XP controls operation of a computer
 JDK provides platform for developing web application
 Hardware technologies
 Mobile phone support mobile data transfer
 802.11 provides the standard for wireless local area networks
 USB flash memory provides an alternative way to store information
 System development
 Object-oriented development
 Component-based development
 Unified modeling language
 Other technologies
 Artificial Intelligence
 Parallel processing architecture
 Optimization algorithm

EXAMPLES OF INFORMATION SYSTEM


 By management level (Conventional Approach)
 Transaction processing system (operational)
 Management information system
 Decision support system
 Executive information system (Strategic)
 Education levels and computer usage skills?

Figure 2-2
====================================
HIERARCHY & NETWORKS
Traditional business models have relied on a hierarchy – a model in which a steady
environment was created in order to maximise efficiency and productivity. However, in
the new age of ‘always on’, hierarchal models can often be a hindrance to a business’s
ability to be agile and innovate.

The network business model is a system for the digital age. Denoted by a flatter
management structure and a change in thinking and approach to business, the network
is about reaching as many people as possible in order to maximise collective knowledge
and information.

Whereas the traditional model relies on control, a networked model emphasises


adaptability and fluidity – prioritising the ability to change in order to survive.

Addressing the ‘always on’ customer requires a new type of business model which
emphasises collaboration and universal knowledge. Businesses need to develop
strategies that integrate siloed internal resources. This will trigger a collaborative
network of partners, thought leaders, brand ambassadors, and suppliers.

WHAT IS REENGINEERING?
Software Re-engineering is a process of software development which is done to
improve the maintainability of a software system. Re-engineering is the examination and
alteration of a system to reconstitute it in a new form. This process encompasses a
combination of sub-processes like reverse engineering, forward engineering,
reconstructing etc.
Re-engineering is the reorganizing and modifying existing software systems to make
them more maintainable.
Objectives of Re-engineering:
 To describe a cost-effective option for system evolution.
 To describe the activities involved in the software maintenance process.
 To distinguish between software and data re-engineering and to explain the
problems of data re-engineering.
Steps involved in Re-engineering:
1. Inventory Analysis
2. Document Reconstruction
3. Reverse Engineering
4. Code Reconstruction
5. Data Reconstruction
6. Forward Engineering
Diagrammatic Representation:

Re-engineering Cost Factors:


 The quality of the software to be re-engineered
 The tool support available for re-engineering
 The extent of the required data conversion
 The availability of expert staff for re-engineering
Advantages of Re-engineering:
 Reduced Risk:
As the software is already existing, the risk is less as compared to new software
development. Development problems, staffing problems and specification
problems are the lots of problems which may arise in new software development.
 Reduced Cost:
The cost of re-engineering is less than the costs of developing new software.

Das könnte Ihnen auch gefallen