Title: Building and Managing Systems
1Building and Managing Systems
2Overview of Systems Development
- Systems development - activities that go into
producing an information systems solution to an
organization problem or opportunity - structured type of problem solving with distinct
activities - These activities are present to some extent for
all of the different ways of developing systems
described later
3System Development Process
- Systems analysis
- System design
- Programming
- Testing
- Conversion
- Production maintenance
4Phases of the Systems Development
Analysis Design Programming Testing Conversion Prod Maintenance
Investigation Requirements to components Training Prod Maintenance
Feasibility Evaluate alternatives Conversion
Requirements definition
5Systems Analysis
- Definition - analysis of problem to be solved
with an information system - Major tasks
- Understand the problem
- Define the problem
- Identify causes
- Specify solutions
- Feasibility study can problem be solved within
constraints? - Establishing information requirements for end
users - Deliverables include system proposal, feasibility
study, user requirements - Approval by management to proceed
- Role of the end user
6Feasibility
- Technical assess hardware, software, technical
resources - Economic will benefits outweigh costs
- Operational Is solution desirable within
existing conditions?
7Systems Design
- Definition - details how a system will meet the
information requirements determined by systems
analysis - Designer responsibilities
- consider alternate technologies
- manage and control the technical realization of
the system - Translate the system requirements into
specifications that will deliver a system that
solves the problems determined in systems
analysis - Role of end users in systems design
8Examples of Translation of Requirements into
Specifications in the Design Phase
- Design of input files (usually database tables)
- Procedures (the formulas or algorithms that will
be used to process the inputs into outputs) - Output files (the files that will contain the
processed data, or the files that record input
from customers, employees, suppliers, etc.) - User interface (the design of windows, menus,
icons, drop down lists, etc.) - Interfaces (determination of how the system will
interact with other systems inputs from other
systems, outputs to other systems)
9Additional Design Specifications
- OUTPUT
- MEDIUM CONTENT TIMING
- INPUT
- ORIGINS FLOW DATA ENTRY
- USER INTERFACE
- SIMPLICITY EFFICIENCY LOGIC
- FEEDBACK ERRORS
- DATABASE DESIGN
- LOGICAL DATA RELATIONS
- VOLUME, SPEED REQUIREMENTS
- FILE ORGANIZATION DESIGN
- RECORD SPECIFICATIONS
10Designer Specifications
- PROCESSING
- COMPUTATIONS
- PROGRAM MODULES
- REQUIRED REPORTS
- TIMING OF OUTPUTS
- MANUAL PROCEDURES
- WHAT ACTIVITIES
- WHO PERFORMS THEM
- WHO PERFORMS THEM
- HOW
- WHERE
11Designer Specifications
- CONVERSION
- TRANSFER FILES
- INITIATE NEW PROCEDURES
- SELECT TESTING MODULES
- CUT OVER TO NEW SYSTEM
- TRAINING
- SELECT TRAINING TECHNIQUES
- DEVELOP TRAINING MODULES
- IDENTIFY TRAINING FACILITIES
- ORGANIZATIONAL CHANGES
- TASK REDESIGN
- JOB DESIGN
- PROCESS DESIGN
- OFFICE / ORGANIZATION STRUCTURE DESIGN
- REPORTING RELATIONSHIPS
12Role Of End Users in Analysis and Design
- Users drive systems effort
- Must have sufficient control to ensure system
reflects business priorities and needs - Functional users drive system information
requirements - Users can play an important role in the design
effort (see preceding slides)
13Completing System Development Process
- Programming Translating needs to Program Code
- Testing Does System Produce Desired Results?
- Unit testing Tests Each Unit Separately
- System testing Do Modules Function as planned?
- Acceptance testing Final Certification
- Test plan Preparations for Tests to be Performed
- Role of the end user in testing
14Conversion
- Strategies for conversion
- Parallel Old New Run Same Problems. Give Same
Results? - Direct Risky Conversion to New System
- Pilot Introduce Into One Area. Does it Work?
Yes Introduce into Other Area - Phased Introduce in Stages
- Training and Documentation
- Role of end users in conversion
15Production Maintenance
- Production Constant Review by Users
Operators. Does the system meet its goals? - Maintenance Upkeep Update Corrections Over
Time - Fix problems not discovered during earlier stages
- Make changes to the system dictated by new
requirements
16SYSTEMS DEVELOPMENT
CORE ACTIVITY
DESCRIPTION
IDENTIFY PROBLEM(S)
SYSTEMS ANALYSIS
SPECIFY PROBLEM
ESTABLISH INFORMATION REQUIREMENTS
SYSTEMS DESIGN
CREATE LOGICAL DESIGN SPECIFICATIONS
CREATE PHYSICAL DESIGN SPECIFICATIONS
MANAGE TECHNICAL REALIZATION OF SYSTEM
PROGRAMMING
TRANSLATE DESIGN INTO CODE
TESTING
UNIT
SYSTEMS
ACCEPTANCE
CONVERSION
PLAN
PREPARE DOCUMENTATION
TRAIN USERS TECHNICAL STAFF
PRODUCTION MAINTENANCE
OPERATE
EVALUATE
MODIFY
17Five Methods to Build Systems
- Five methods
- Systems Life Cycle
- Prototyping
- Application Software
- End-user Development
- Outsourcing
- Each method has the six general steps described
in the systems development process
18Stages of the Systems Life Cycle
- Oldest method
- Stages correspond to the stages of systems
development described earlier - Birth, maturity, death (the cycle repeats)
- Used for TPS, MIS, or large complex systems
- Formal process, controls, deliverables
- Limitations
- Resource intensive (time and money)
- Inflexible and inhibits change (freezing of
specifications) - Ill-suited for decision-oriented applications or
situations where system requirements are vague
19Prototyping
- Definition - process of building an experimental
system quickly and inexpensively for
demonstration and evaluation so that end users
can better determine information requirements - Iterative design
- Very informal compared to SLC
- requirements are determined dynamically instead
of frozen in advance - No distinct phases
- No distinct intermediate deliverables for
management
20Identify user needs
1.
Develop a prototype
2.
N
Prototype acceptable ?
3.
Y
Use the prototype
4.
Development of a Prototype
21The Attraction of Prototyping
- Prototyping is useful when user requirements are
uncertain, developing user interfaces, or
developing interactive applications with multiple
screens - Communications between the systems analyst and
user are improved. - The user plays a more active role in system
development. - Implementation is much easier because the user
knows what to expect.
22Potential Pitfalls of Prototyping
- The haste to deliver the prototype may produce
shortcuts in problem definition, alternative
evaluation, and documentation. - The users may get so excited about the prototype
that they have unrealistic expectations of the
operational system. - The computer-human interface provided by certain
prototyping tools may not reflect good design
techniques.
23Applications Software Packages
- Definition - set of programs that are available
for sale or lease - Packages eliminate the need for writing programs
when building systems also reduces design,
programming, testing, conversion and maintenance
work - When are they appropriate?
- common functions
- limited resources for in-house development
- desktop applications for end users
24Types of Prepackaged Software
- Accounts payable
- Accounts receivable
- Check processing
- Document imaging
- Forecasting and modeling
- General ledger
- Health insurance
- Hotel management
- Human resources
- Job accounting
- Inventory control
- Job costing
- Mailing labels
- Order entry
- Payroll
- Process control
- Route scheduling
- Sales and distribution
- Stock management
- Tax accounting
25Advantages/Disadvantages of Packages
- Advantages
- Speed up of systems development phases
- Periodic enhancements/updates from the vendor
(reduced maintenance) - External work is often perceived as superior
- Software costs appear to be fixed
- Disadvantages
- Packages never satisfy all user requirements (70
is very good) - costs of customization
26End-User Development
- Definition - the development of information
systems by end users with little or no formal
assistance from technical specialists - End user tools - query languages, report
generators, graphics languages, applications
generators, or microcomputer tools
27End-User Development
- Definition - the development of information
systems by end users with little or no formal
assistance from technical specialists - End user tools - query languages, report
generators, graphics languages, applications
generators, or microcomputer tools
28Historical Factors That Encouraged End User
Application Development
- The programming backlog
- The widespread use of PCs
- The emergence of 4GLs (spreadsheets, query
languages, and report generators) - Increasing popularity of client/server
architecture
29Typical End User Applications
- Use of spreadsheets
- Management graphics
- Word processing (mail merge)
- Queries and report generation
- Desktop publishing
- Email
- Creating local databases
- Using external databases
- Calendaring, meeting management, and personal
support
30Benefits and Risks of EUC
- Benefits
- Quicker development
- Good fit to needs
- Efficient utilization
- Acquisition of skills
- Free IS staff time
- Risks
- Poor documentation
- Lack of quality assurance standards and controls
- Islands of information
- Duplication of effort
- Security problems
31Outsourcing Information Systems
- Definition - the practice of contracting computer
center operations, telecommunications networks,
or application development to external vendors.
Older usage of this term meant hiring an outside
firm to develop a custom system. - Outsourcing is big business IBM, ATT, EDS, big
accounting firms are all major outsourcers
32Newer Methodologies
- Newer methodologies
- Joint application development (JAD)
- Rapid application development (RAD)
- Characteristics
- Attempts to speed development by reducing
documentation involved in SDLC - Large amounts of prototyping
- Heavy involvement of end users throughout project
- End users often take leadership roles
- Does not skip analysis stage like prototyping
- Lots of team meetings where users and IS
professionals work together - Use of many new tools (e.g., Visual Basic, Java,
C, collaborative software, reusable software)