Chapter Four

Download as pptx, pdf, or txt
Download as pptx, pdf, or txt
You are on page 1of 40

CHAPTER FOUR

MANAGING SYSTEM DEVELOPMENT


Systems Development
• The process of creating and maintaining information systems is called systems
development or systems analysis and design.
• The following diagram shows that it involves all five components of an
information system. In addition to technical knowledge, it requires business
knowledge and management skill.

Figure 4.1 Systems Development vs. Program Development


Information Systems Planning
• Planning an information system does not start with bits and bytes, or a Web
site. Rather, it starts with gaining a holistic perspective on what the firm aims to
achieve and how it will do so.
• Systems development is the entire set of activities needed to construct an
information systems solution to a business problem or opportunity.
• A key component is information systems planning, which begins with the
strategic plan of the organization.
Cont..

Figure 4.2 The Information Systems Planning Process.


Information Systems Strategic Plan

• The Information Systems strategic plan is a set of long-range goals that


describe the Information Technology architecture and major Information
Systems initiatives needed to achieve the goals of the organization.
• The Information Systems strategic plan must meet three objectives:
• It must be aligned with the organization’s strategic plan.
• It must provide for an Information Technology architecture that enables users,
applications, and databases to be seamlessly networked and integrated.
• It must efficiently allocate Information Systems development resources among
competing projects, so the projects can be completed on time, within budget,
and have the required functionality.
Cont..
• The Information Systems strategic plan states the mission of the Information Systems
department, which defines the department’s underlying purpose.
• The mission helps to answer questions relating to three major issues:
• Efficiency: Does the Information Systems function help the organization reach its goals with
minimum resources?
• Effectiveness: Does the IS function help the functional area managers (and executives) do
the right things?
• Competitiveness: Does the Information Systems function engage in projects that will
enhance the organization’s competitive position?
• The mission of the Information Systems department requires a great deal of input from all of
the organization’s functional area managers, and often from higher organizational officers as
well.
The Information Systems Operational Plan

A typical Information Systems operational plan contains the following elements:


• Mission: The mission of the Information Systems function
• Information Systems environment: A summary of the information needs of
the functional areas and of the organization as a whole
• Objectives of the Information Systems function: The Information Systems
function’s current best estimate of its goals
• Constraints on the IS function: Technological, financial, and personnel
limitations on the Information Systems function
• Long-term system’s needs: A summary of the systems needed by the company
and the Information Systems projects selected to reach organizational goals
• Short-range plan: An inventory of present projects, and a detailed plan of
projects to be developed or continued during the current year
Systems development difficult and risky
• Here are some of the challenges you might face in a system development
project:
• It’s very difficult to determine the requirements of a system which include data,
procedures, communications, and processing requirements.
• The requirements are always changing, even as the system is being developed.
The bigger the system, the longer the project, the more requirements change.
• Scheduling and budgeting are difficult to determine. In order to forecast labor
costs, you must forecast labor hours.
• Technology will change throughout the system development process. Should
you stop the project and incorporate new technology or continue on without it?
• As development teams become larger, the average contribution per worker
decreases and causes diseconomies of scale.
Systems Development Lifecycle (SDLC)
• A systems development lifecycle (SDLC) has three primary objectives:
1. Ensure that high quality systems are delivered
2. Provide strong management controls over the projects
3. Maximize the productivity of the systems staff.
• Systems Development Life Cycle (SDLC) emphasizes decision processes that
influence system cost and usefulness.
• These decisions must be based on full consideration of business processes,
functional requirements, and economic and technical feasibility in order to
produce an effective system.
Cont..
• The primary objectives of any SDLC are to deliver quality systems that:
1) Meet or exceed customer expectations promised and within cost estimates
2) Work effectively and efficiently within the current and planned information
technology infrastructure, and
3) They are inexpensive to maintain and cost-effective to enhance.
This SDLC establishes a logical order of events for conducting System
development that is controlled, measured, documented, and ultimately improved.
Systems Development Lifecycle (SDLC) Objectives

• An SDLC is developed to disseminate proven practices to system developers, project


managers, program/account analysts and system owners/users throughout any
organization. The specific objectives expected include the following:
• To reduce the risk of project failure
• To consider system and data requirements throughout the entire life of the system
• To identify technical and management issues early
• To disclose all life cycle costs to guide business decisions
• To foster realistic expectations of what the systems will and will not provide
• To provide information to better balance programmatic, technical, management, and cost
aspects of proposed system development or modification
• To encourage periodic evaluations to identify systems that are no longer effective
• To measure progress and status for effective corrective action
• To support effective resource management and budget planning
• To consider meeting current and future business requirements.
Purpose, Scope, and Applicability
4.9.1. Purpose
• This SDLC methodology establishes procedures, practices, and guidelines
governing the initiation, concept development, planning, requirements analysis,
design, development, integration and test, implementation, and operations,
maintenance and disposition of management information systems (MIS) within
the organization.
• It should be used in conjunction with existing policy and guidelines for
acquisition and procurement.
4.9.2 Scope
• This methodology should be used for all organizational IS and applications. It is
applicable across all IT environments (e.g., mainframe, client, and server) and
applies to contractually develop as well as in-house developed applications.
• The specific participants in the life cycle process, and the necessary reviews and
approvals, vary from project to project.
Management Activities
• Project management is the process of planning, organizing, staffing, directing,
coordinating and controlling a project.
• These activities are as much a part of the SDLC as the technical tasks
identified in the prior section.
• Specifically, the SDLC must contain tasks and guidance on the following
topics: • Step Wise Commitment
• Setting Priorities • Cost/Benefit Analysis
• Defining Objectives • Risk Assessments
• Planning and Estimating • Interacting with Users
• Tracking/Status Reporting • Managing Vendors
• Post Implementation Reviews
• Change Control • Quality Assurance Reviews
Systems Development Life Cycle (SDLC) Phases
• The SDLC includes phases, for example ten phases in this model; during which
defined IT work products are created or modified.
• The phases occur when the system is disposed of and the task performed is
either eliminated or transferred to other systems.
• The tasks and work products for each phase are described in subsequent
chapters.
• Not every project will require that the phases be sequentially executed; however,
the phases are interdependent.
• Depending upon the size and complexity of the project, phases may be
combined or may overlap.
The Traditional Systems Development Life Cycle (SDLC)
• The systems development life cycle (SDLC) is the traditional systems
development method used by most organizations today.
• The SDLC is a structured framework that consists of sequential processes by
which information systems are developed.
• As shown in Figure 4.3, these include systems investigation, systems analysis,
systems design, programming, testing, implementation, operation, and
maintenance.
• Development teams typically include users, systems analysts, programmers,
and technical specialists.
• Users are employees from all functional areas and levels of the organization
who will interact with the system, either directly or indirectly.
• Direct interaction means that users will make hands-on use of the system, and
indirect interaction means that users will use the outputs from the system.
Cont..
• Systems analysts are information systems professionals who specialize in
analyzing and designing information systems.
• Programmers are information systems professionals who modify existing
computer programs or write new computer programs to satisfy user
requirements.
• Technical specialists are experts on a certain type of technology, such as
databases or telecommunications.
• All people who are affected by changes in information systems (users and
managers, for example) are known as systems stakeholders, and are typically
involved by varying degrees and at various times in the systems development.
Cont..

Figure 4.3 Systems development phase


Cont..
1. Systems Investigation:
• Systems development professionals agree that the more time invested in understanding the
business problem to be solved, in understanding technical options for systems, and in
understanding problems that are likely to occur during development.
• Systems investigation begins with the business problem.
Feasibility studies: . The feasibility study determines the probability of success of the
proposed systems development project and assesses the project’s technical, economic, and
behavioral feasibility.
• The feasibility study is critically important to the systems development process because,
done properly, the study can prevent organizations from making costly mistakes.
Technical feasibility: Technical feasibility determines if the hardware, software, and
communications components can be developed and/or acquired to solve the business problem.
• Technical feasibility also determines if the organization’s existing technology can be used
to achieve the project’s performance objectives.
Cont..

Economic feasibility:
• Economic feasibility determines if the project is an acceptable financial risk and if the
organization can afford the expense and time needed to complete the project.
• Economic feasibility addresses two primary questions: Do the benefits outweigh the costs
of the project? Can the project be completed as scheduled?
• Three commonly used methods to determine economic feasibility are breakeven analysis,
return on investment (ROI), and net present value (NPV).
• Breakeven analysis determines the amount of time required for the cumulative cash flow
from a development project to equal its initial and ongoing investment.
• Return on investment is the ratio of the net cash inflows from a project divided by the cash
outflows of the project.
• The net present value is the net amount by which project savings exceed project expenses,
after allowing for the cost of capital and the time value of money.
• The cost of capital is the minimum desired rate of return on an investment and is the
average cost of funds used to finance the operations of the business
Cont..

2. Systems Analysis
• Systems analysis is the examination of the business problem that the
organization plans to solve with an information system.
• This stage defines the business problem, identifies its causes, specifies the
solution, and identifies the information requirements that the solution must
satisfy.
• Understanding the business problem requires understanding the various
processes involved.
• These can often be quite complicated and interdependent.
• Analysts have a variety of tools that support this analysis. E.g. Modern process
modeling tool.
Cont..
• Organizations have three basic solutions to any business problem:
(1) Do nothing and continue to use the existing system unchanged.
(2) Modify or enhance the existing system.
(3) Develop a new system.
• The main purpose of the systems analysis stage is to gather information about the
existing system, to determine which of the three basic solutions to pursue, and to
determine the requirements for an enhanced or new system.
• The end product (the “deliverable”) of this stage is a set of systems requirements.
• Arguably the most difficult task in systems analysis is to identify the specific
information requirements that the system must satisfy.
• Information requirements specify what information, how much information, for
whom, when, and in what format.
Cont..
• Systems analysts use many different techniques to obtain the information
requirements for the new system.
• These techniques include structured and unstructured interviews with users, and
direct observation.
• Structured interviews have questions written in advance.
• In unstructured interviews, the analyst does not have predefined questions but
uses experience to elicit the problems of the existing system from the user. With
direct observation, analysts observe users interacting with the existing system.
• In developing information requirements, analysts must be careful not to let any
preconceived ideas they have interfere with their objectivity and analysts must be
unobtrusive
• There are problems associated with eliciting information requirements, regardless
of the method used by the analyst.
• First, the business problem may be poorly defined.
Cont..
• Second, the users may not know exactly what the problem is, what they want, or
what they need.
• Third, users may disagree with each other about business procedures or even
about the business problem.
• Finally, the problem may not be information related, but may require other
solutions, such as a change in management or additional training.
• The systems analysis stage produces the following information:
Strengths and weaknesses of the existing system
Functions that the new system must have to solve the business problem
User information requirements for the new system
• Armed with this information, systems developers can proceed to the
systems design stage.
Cont..
Systems Design
• Systems analysis describes what a system must do to solve the business
problem, and systems design describes how the system will accomplish this task.
• The deliverable of the systems design phase is the technical design that specifies
the following:
System outputs, inputs, and user interfaces
Hardware, software, databases, telecommunications, personnel, and procedures
How these components are integrated?
• This output is the set of system specifications.
• Systems design encompasses two major aspects of the new system:
Logical systems design states what the system will do, with abstract specifications.
Physical systems design states how the system will perform its functions, with actual
physical specifications.
Cont..
• Logical design specifications include the design of outputs, inputs, processing,
databases, telecommunications, controls, security, and IS jobs.
• Physical design specifications include the design of hardware, software, database,
telecommunications, and procedures.
Programming
• Systems developers utilize the design specifications to acquire the software
needed for the system to meet its functional objectives and solve the business
problem. These structured programming techniques include the following
restrictions:
Each module has one, and only one, function.
Each module has only one entrance and one exit. That is, the logic in the computer
program enters a module in only one place and exits in only one place.
There are no GO TO statements allowed.
Cont..
Testing
• Thorough and continuous testing occurs throughout the programming stage.
• Testing checks to see if the computer code will produce the expected and desired results under
certain conditions.
• Testing requires a large amount of time, effort, and expense to do properly. However, the costs of
improper testing, which could possibly lead to a system that does not meet its objectives, are
enormous.
• Testing is designed to detect errors (“bugs”) in the computer code. These errors are of two types:
syntax errors and logic errors.
• Syntax errors (e.g., a misspelled word or a misplaced comma) are easier to find and will not
permit the program to run.
• Logic errors permit the program to run, but result in incorrect output. It is more difficult to
detect, because the cause is not obvious.
• The programmer must follow the flow of logic in the program to determine the source of the
error in the output.
• As software increases in complexity, the number of errors increases, making it almost impossible
to find them all.
Cont..
Implementation
• Implementation is the process of converting from the old system to the new
system.
• Organizations use four major conversion strategies: parallel, direct, pilot, and
phased.
• In a parallel conversion process, the old system and the new system operate
simultaneously for a period of time.
• That is, both systems process the same data at the same time, and the outputs are
compared.
• This type of conversion is the most expensive, but also the least risky.
• Most large systems have a parallel conversion process to lessen the risk.
Cont..
• In a direct conversion process, the old system is cut off and the new system is turned
on at a certain point in time.
• This type of conversion is the least expensive, but the riskiest if the new system
doesn’t work as planned.
• Few systems are implemented using this type of conversion, due to the risk involved.
• The pilot conversion process introduces the new system in one part of the
organization, such as in one plant or in one functional area.
• The new system runs for a period of time and is assessed.
• After the new system works properly, it is introduced in other parts of the
organization.
• The phased conversion process introduces components of the new system, such as
individual modules, in stages.
• Each module is assessed, and, when it works properly, other modules are introduced,
until the entire new system is operational.
Cont..
Operation and Maintenance
• Once the new system’s operations are stabilized, audits are performed during
operation to assess the system’s capabilities and determine if it is being used
correctly.
• Systems need several types of maintenance.
• The first type is debugging the program, a process that continues throughout the
life of the system.
• The second type is updating the system to accommodate changes in business
conditions.
• These corrections and upgrades usually do not add any new functionality; they
are necessary in order for the system to continue meeting its objectives.
• The third type of maintenance adds new functionality to the system.
• This process involves adding new features to the existing system without
disturbing its operation.
Cont..
Prototyping
• Prototyping is the process of building model for a system.
• Using the prototyping approach, systems developers first obtain only a general idea of user
requirements.
• That is, the developers do not try to obtain a complete set of user specifications for the system
and do not plan to develop the system all at once.
• Instead, they quickly develop a prototype, which either contains parts of the new system of
most interest to the users, or is a small-scale working model of the entire system.
• The prototype is given to the users, who are able to use it and make suggestions for improving
it.
• The developers review the prototype with the users and use the suggestions to refine the
prototype.
• This process continues through several iterations until either the users approve the system or
it becomes apparent that the system cannot meet users’ needs.
• If the system is viable, the developers can use the prototype on which to build the full system.
• Developing screens that a user will see and interact with is a typical use of prototyping.
Cont..
• The main advantage of prototyping is that this approach speeds up the development
process.
• In addition, prototyping gives users the opportunity to clarify their information
requirements as they review iterations of the new system.
• Prototyping is useful in the development of decision support systems and executive
information systems, where user interaction is particularly important.
• Prototyping also has disadvantages.
• It can largely replace the analysis and design stages of the SDLC in some projects.
• As a result, systems analysts may not produce adequate documentation for the
programmers.
• This lack of documentation can lead to problems after the system becomes
operational and needs maintenance.
• In addition, prototyping can result in an excess of iterations, which can consume
the time that prototyping should be saving.
Cont..
Joint application design (JAD)
• Joint application design (JAD) is a group-based method for collecting user
requirements and creating system designs.
• JAD is most often used within the systems analysis and systems design stages of the
SDLC.
• In the traditional SDLC, systems analysts interview or directly observe potential
users of the new information system individually to understand each user’s needs.
• The analysts will obtain many similar requests from users, but also many conflicting
requests.
• The analysts must then consolidate all requests and go back to the users to resolve the
conflicts, a process that usually requires a great deal of time.
• In contrast to the SDLC requirements analysis, JAD has a group meeting in which all
users meet simultaneously with analysts.
• During this meeting, all users jointly define and agree upon systems requirements.
This process saves a tremendous amount of time.
Cont..
• The JAD approach to systems development has several advantages:
• The group process involves more users in the development process while still
saving time.
• This involvement leads to greater support for, and acceptance of, the new system
and can produce a system of higher quality.
• This involvement also may lead to easier implementation of the new system and
lower training costs.
• The JAD approach also has disadvantages.
• First, it is very difficult to get all users to the JAD meeting.
• Second, the JAD approach has all the problems caused by any group process.
• To alleviate these problems, JAD sessions usually have a facilitator, who is
skilled in systems analysis and design as well as in managing group meetings and
processes.
Cont..
Rapid application development (RAD)
• Rapid application development (RAD) is a systems development method that can combine JAD,
prototyping, and integrated CASE tools to rapidly produce a high-quality system.
• RAD is an iterative approach similar to prototyping, in which requirements, designs, and the system
itself are developed with sequential refinements.
• RAD and prototyping are iterative and emphasize speed of development.
• However, prototyping typically uses specialized languages, such as fourth-generation languages
(4GLs) and screen generators, whereas RAD packages include different tools with similar capabilities.
• With RAD tools, developers enhance and extend the initial version through multiple iterations until it
is suitable for operational use.
• The tools work together as part of an integrated package.
• RAD produces functional components of a final system, rather than limited-scale versions. With RAD,
users are intensively involved early in the development process.
• Initially, JAD sessions are used to collect system requirements.
• ICASE tools (discussed next) are then used to quickly structure requirements and develop prototypes.
• As the prototypes are developed and refined, users review them in additional JAD sessions.
Cont..
• RAD methods and tools enable systems developers to build applications faster,
such as systems where the user interface is important or systems that involve
rewriting legacy applications. Typical RAD packages include:
• Graphical user development environment: The ability to create many aspects
of an application by drag-and-drop applications.
• Reusable components: A library of common, standard “objects” such as buttons
and dialog boxes. The developer drags and drops these items into the application.
• Code generator: After the developer drags and drops components into the
design, the package automatically writes computer programs to implement the
reports, input screens, buttons, and dialog boxes.
• Programming language: Such as Visual Basic or C++. This package includes an
integrated development environment (IDE) for creating, testing, and debugging
computer code.
Cont..

• The main advantage of RAD is the active involvement of users in the development
process.
• Active user involvement means that the new system has a better chance of meeting
user needs, eases implementation of the new system, and can reduce training costs.
• RAD also speeds the development process, reduces development costs, and can
create applications that are easier to maintain and modify.
• RAD have disadvantages. The method’s accelerated approach to systems analysis
may result in systems with limited functionality and flexibility for change.
• RAD’s accelerated development process may produce systems that are not of the
highest quality.
• RAD packages can result in an endless iterative process.
• RAD packages do provide features that enable developers to document the system,
but developers may ignore these features in the accelerated process.
Cont..
Object-oriented development
• Object-oriented development is based on a fundamentally different view of computer
systems than that found in traditional SDLC development approaches.
• Traditional approaches provide specific step-by-step instructions in the form of computer
programs, in which programmers must specify every procedural detail.
• An object-oriented (OO) system begins not with the task to be performed, but with the
aspects of the real world that must be modeled to perform that task.
• The OO approach to software development offers many advantages:
• It reduces the complexity of systems development and leads to systems that are easier and
quicker to build and maintain, because each object is relatively small and self-contained.
• It improves programmers’ productivity and quality.
• Once an object has been defined, implemented, and tested, it can be reused in other systems.
• Systems developed with the OO approach are more flexible.
• These systems can be modified and enhanced easily, by changing some types of objects or
by adding new types.
Cont..
• The OO approach allows the systems analyst to think at the level of the real-
world systems (as users do) and not at the level of the programming language.
• The basic operations of an enterprise change much more slowly than the
information needs of specific groups or individuals.
• Therefore, software based on generic models (which the OO approach is) will
have a longer life span than programs written to solve specific, immediate
problems.
• The OO approach is also ideal for developing Web applications.
• The OO approach depicts the various elements of an information system in user
terms (i.e., business or real-world terms), and therefore, the users have a better
understanding of what the new system does and how it meets its objectives.
Cont..
• The OO approach does have disadvantages.
• OO systems, especially those written in Java, generally run more slowly than
those developed in other programming languages.
• Also, many programmers have little skill and experience with OO languages,
necessitating retraining.
THANK YOU

You might also like