© Holmes Miller 1999
System Development
Why Learn About Systems Development?
Important to learn how to: Initiate systems development processAnalyze your needs with help of IS personnel
Learn how a project can be:PlannedAligned with corporate goalsRapidly developed
An Overview of Systems Development
Managers and employees in all functional areas work together in a business information system
Users help and often lead the way with development process
Participants in systems development: Determine when a project failsAre critical to systems development success
Participants in Systems Development
Development team consists of the following: Project managers: coordinate system development effort Stakeholders: directly or indirectly benefit from the
project Users: interact with the system regularly Systems analysts: analyze and design business systems Programmers: modify or develop programs to satisfy
user requirements Various support personnel: specialists, vendors
Information Systems Planning and Aligning Corporate and IS Goals
Information systems planning: translating strategic and organizational goals into systems development initiatives
Aligning organizational goals and IS goals is critical for any successful systems development effort
Determining whether organizational and IS goals are aligned can be difficult
Systems Development Life Cycles
The systems development process is also called a systems development life cycle (SDLC)
Common SDLCsTraditional systems development life cycle PrototypingRapid application development (RAD)End-user development
The Traditional Systems Development Life Cycle
Figure 8.3: The Traditional Systems Development Life Cycle
Prototyping
An iterative approach to systems development
Figure 8.4: Prototyping
Rapid Application Development, Agile Development, Joint Application Development, and Other Systems Development Approaches
Rapid application development (RAD) Systems development approach that employs tools,
techniques, and methodologies designed to speed application development
Some iterative development approaches allow the system to change as it is being developed Agile development: frequent face-to-face meetings
between systems developers and users XP programming: pairs of programmers work together to
develop robust systems quickly Joint application development (JAD)
Process for data collection and requirements analysis in which users, stakeholders, and IS professionals work together to analyze existing systems, propose possible solutions, and define the requirements of a new or modified system
Used extensively by RAD Often utilizes group support systems (GSS) software to
foster positive group interactions
The End-User Systems Development Life Cycle
End-user systems development: any systems development project in which the primary effort is undertaken by a combination of business managers and users
End-user-developed systems can be structured as complementary to, rather than in conflict with, existing and emerging information systems
Outsourcing and On Demand Computing
An outside consulting firm or computer company that specializes in systems development can take over some or all of the development and operations activities
Reasons for using outsourcing and on demand computingReducing costs, obtaining state-of-the-art
technology, eliminating staffing and personnel problems, and increasing technological flexibility
Use of Computer-Aided Software Engineering (CASE) Tools
Computer-aided software engineering (CASE): tools that automate many of the tasks required in a systems development effort and encourage adherence to the SDLC Instill a high degree of rigor and standardization to
the entire systems development processUpper-CASE tools focus on investigation, analysis,
and designLower-CASE tools focus on implementation
Use of Computer-Aided Software Engineering (CASE) Tools
(continued)
Table 8.2: Advantages and Disadvantages of CASE Tools
Object-Oriented Systems Development
Object-oriented systems development (OOSD) Approach to systems
development that combines the logic of the systems development life cycle with the power of object-oriented modeling and programming
Object-oriented systems development typically involves: Identifying potential problems
and opportunities within the organization that would be appropriate for the OO approach
Defining the kind of system users require
Designing the system Programming or modifying
modules Evaluation by users Periodic review and
modification
Systems Investigation
What primary problems might a new or enhanced system solve?
What opportunities might a new or enhanced system provide?
What new hardware, software, databases, telecommunications, personnel, or procedures will improve an existing system or are required in a new system?
What are the potential costs (variable and fixed)?
What are the associated risks?
Initiating Systems Investigation Systems request form:
document filled out by someone who wants the IS department to initiate systems investigation
Helps rationalize and prioritize the activities of the IS department
Includes the following information:
Problems in and opportunities for system
Objectives in investigation Overview, costs, and
benefits of proposed system
Feasibility Analysis
Technical feasibility: hardware, software, and other system components
Economic feasibility: predicted benefits vs. cost and time
Legal feasibility: limitations of laws and regulations on project
Operational feasibility: logistical and motivational considerations
Schedule feasibility: completion of project in reasonable amount of time
The Systems Investigation Report
Systems investigation report Summary of the results of
the systems investigation and the process of feasibility analysis
Recommendation of a course of actionContinue systems
analysisModify the projectAbandon the project
Reviewed by steering committee of senior management and users
Systems Analysis
Answers the question “What must the information system do to solve the problem?”
Overall emphasis of systems analysis is:Gathering data on the existing systemDetermining the requirements for the new systemConsidering alternatives within these constraints Investigating the feasibility of the solutions
Primary outcome: prioritized list of systems requirements
Data Collection
Identifying sources of data Internal sources External sources
Collecting data Interviews: structured and
unstructured Direct observation Questionnaires: structured
or unstructuredUsed when data sources
are spread over a wide geographic area
Data Analysis
Data analysisManipulation of collected data so that systems
development team can use the data
Data modelingEntity-relationship (ER) diagrams: objects, attributes,
and associations
Activity modelingData-flow diagrams (DFDs): objects, associations,
and activities
Data Analysis (continued)
Figure 8.12: Data and Activity Modeling (a) An entity-relationship diagram
Data Analysis (continued)
Figure 8.12: Data and Activity Modeling (b) A data-flow diagram
Requirements Analysis
Determines user, stakeholder, and organizational needs through the following techniques: Asking directly: best for
stable systems Critical success factors:
asks for critical factors in interviewee’s area
IS plan: translates strategic plan into initiatives
Requirements analysis tools: CASE tools
Object-Oriented Systems Analysis
Identifying problems or potential opportunities Identifying key participants and collecting dataUses classes and generalization/specialization
hierarchies instead of data-flow diagrams and flowcharts
The Systems Analysis Report
Systems analysis report should cover:Strengths and weaknesses of the existing system
from a stakeholder’s perspectiveUser/stakeholder requirements for the new system
(also called the functional requirements)Organizational requirements for the new systemDescription of what the new information system
should do to solve the problem
Systems Design
Answers the question “How will the information system solve a problem?”
Has two dimensions: logical and physicalLogical design: description of the functional
requirements of a systemPhysical design: specification of the
characteristics of the system components necessary to put the logical design into action
Object-Oriented Design
Design key objects and classes of objects in the new or updated system Consideration of the problem
domain, the operating environment, and the user interface
Consideration of the sequence of events that must happen for the system to function correctly
Scenario: sequence of events Can be diagrammed in a
sequence diagram
Generating Systems Design Alternatives
Request for proposal (RFP): document that specifies in detail required resources such as hardware and software
Financial options Purchasing Leasing Renting
Evaluating and Selecting a Systems Design Preliminary evaluation
To dismiss unwanted proposals
Begins after all proposals have been submitted
Final evaluationDetailed investigation of
the proposals offered by the vendors remaining after the preliminary evaluation
The Design Report
Design report: primary result of systems design, reflecting the decisions made and preparing the way for systems implementation
System specifications include technical description of the following:System outputs, inputs, and user interfacesHardware, software, databases, telecommunications,
personnel, and procedure components and the way these components are related
Systems Implementation
Figure 8.19: Typical Steps in Systems Implementation
Acquiring Hardware from an IS Vendor
IS vendor: company that offers hardware, software, telecommunications systems, databases, IS personnel, and/or other computer-related resources
Buying computer hardwareLeasing computer hardware Renting computer hardware“Pay-as-you-go,” “on-demand,” or “utility”
computing
Acquiring Software: Make or Buy?
Make-or-buy decision: decision regarding whether to obtain software from external or internal sources
Choices include: Purchase software externallyDevelop software in-house Used a blend of external and internal software
developmentRent software
Acquiring Database and Telecommunications Systems
Databases and telecommunications systems require a blend of hardware and software
New hardware is acquired from an IS vendorNew or upgraded software might be purchased
or developed in-house
User Preparation
Process of readying managers, decision makers, employees, other users, and stakeholders for new systems
Provide users with proper training
IS Personnel: Hiring and Training
Personnel that might be needed for the new system IS managerSystems analystsComputer programmersData-entry operators
Training programs should be conducted for the IS personnel who will be using the computer system
Site Preparation
Preparation of the location of a new systemMaking room for equipmentSpecial wiring and air conditioningSpecial floorSecurity systemAdditional power circuits
Data Preparation
Also called data conversionEnsures all files and databases are ready to be
used with new computer software and systems
Installation
Physically placing the computer equipment on the site and making it operational
Normally the manufacturer is responsible for installing computer equipment
Someone from the organization (usually the IS manager) should oversee the process
Testing
Unit testing: testing of individual programsSystem testing: testing the entire system of
programsVolume testing: testing the application with a
large amount of data Integration testing: testing all related systems
togetherAcceptance testing: conducting any tests
required by the user
Start-Up
Process of making the final tested information system fully operational
ApproachesDirect conversion (plunge, direct cutover): stopping
the old system and starting the new one on a given date
Phase-in approach (piecemeal): slowly replacing old system components with new system components
Pilot start-up: run new system with one group of users
Parallel start-up: running old and new systems together for a period of time
User Acceptance
User acceptance document: formal agreement signed by the user that states that a phase of the installation or the complete system is approvedLegal document that removes or reduces IS vendor’s
liability
Systems Operation and Maintenance
Systems operation: use of a new or modified systemHelp desk provides support
Systems maintenance: checking, changing, and enhancing the system to make it more useful in achieving user and organizational goalsDifficult and costly for legacy systems
Systems Review Process of analyzing systems to make sure that they are operating
as intended Often compares the performance and benefits of the system as it was
designed with the actual performance and benefits of the system in operation
Event-driven review: triggered by a problem or opportunity such as an error, a corporate merger, or a new market for products
Time-driven review: performed after a specified amount of time