IS Development and Acquisition

advertisement
Information Systems
Development and Acquisition
J. S. Chou
Assistant Professor
1
Developing Systems
Systems Analysis and Design
A traditional term used to describe the process of
designing, building, and maintaining information
systems performed by analysts and programmers
Software Engineering
A newer term given to acknowledge the movement of
systems building from art to discipline by professionals
using common methods, techniques, and tools for
constructing information systems
Problem Decomposition
Systems building is a process of decomposing large
complex problems to discover and design solutions to
support the organization
Problem Decomposition
Options for Acquiring System Capabilities
The Systems Development Life Cycle
The System Development Life Cycle (SDLC) is a structured
method complete with techniques developed to manage
the life cycle of an information system
System Identification, Selection, and
Planning
System Identification, Selection, and Planning
System Identification
A process used to identify opportunities for developing
systems projects to solve problems. This process varies
greatly from organization to organization
Selection
The process of applying evaluation criteria to possible
projects to select those that are critical to enabling the
organization’s mission, goals, and objectives
Systems Planning
Developing formal plans for creating the information
systems project selected. Some organizations call
their periodic process of identification, selection, and
planning “Information Systems Planning (ISP)”
System Identification, Selection, and Planning
Criteria for evaluating and selecting a systems project
Systems Analysis
Systems Analysis
Collecting System Requirements (Traditional)
A combination of methods are used:
• Interviews – discussions with stakeholders (i.e. users)
• Questionnaires – surveys to assess use and attitudes
• Observations – watch process and systems use
• Document Analysis – reviewing current documents
Collecting System Requirements (Alternative)
A combination of traditional methods are used:
• Critical Success Factors (CSF’s) – a process of
interviewing, recoding, and analyzing, and merging
factors defined as critical by personnel at all levels of an
organization
• Joint Application Design (JAD) - a method that brings
together users and analysts in a room together to define
requirements. This method greatly reduces time
Systems Analysis - Critical Success
Factors
Systems Analysis - Joint Application Design
• JAD is a special type of a group meeting in which all (most)
users meet with an analyst at the same time
• Users jointly define and agree upon system requirements or
design dramatically reducing the design time
System Analysis – Modeling Organizational Data
The ERD Diagram
A tool used to identify the relationships between entities to
assist in developing applications and databases
Requirements, Data, Data Flows, Processing Logic
System Design
System Design - Designing Forms and Reports
Forms - a business document with predefined data and
places to fill in information that is used for system input
Reports – an output of a system that contains only
predefined data usually in a tabular format (see below)
System Design - Designing Interfaces and Dialogues
An Example of a User Interface - Google
System Design - Designing Databases and Files
System Design – Designing Processing Logic
Processing Logic
The processing and logic operations of an information
system are the steps and procedures that transform raw
data inputs into new or modified information
Processing Logic Example
Describes the steps for calculating a GPA
1. Obtain the prior grade point average, credits hours
earned, and list of prior courses
2. Obtain the list of each current course, final grade, and
course credit hours
3. Combine the prior and current credit hours into
aggregate sums
4. Calculate the new grade point average
System Implementation
System Implementation – Programming and Testing
Software Programming – creating the instructions from the
programming logic design using a variety of programming
languages assisted many times by language editors
Software Testing – a series of tests designed to identify
errors and validate logic in parallel with programming. There
are multiple types of testing (see below)
System Implementation – System Conversion
Conversion Approaches – the process of taking information
from an old system to populate a new system. This is
accomplished through manual and/or automated methods
System Implementation – System Documentation
System Documentation
The collection of materials produced with an information
system to support the ongoing operation and
development
Documentation Types
• User and reference guides – step-by-step instructions for
using the system features and functions
• User training and tutorials – manuals and exercises
designed to educate users and build competence in system
use. These training manuals and tutorials can be supported
by a database that utilizes realistic data
• Installation procedures and trouble-shooting
suggestions – manuals and procedures designed to
support technical personal in installing and problem solving
during system operation
System Implementation – System Training
Training Approaches – the processes used to educate
users in new business processes and system features
and functions with the goal of building competence to
ensure operational success (see possible methods below)
System Maintenance
System Maintenance - Maintenance Types
System Maintenance
The process by which a system is kept in working order
and minor enhancements are completed. Some types of
system maintenance are shown below
Alternative Development Methods - Prototyping
Prototyping
A systems development method
that uses a “trial-and-error”
approach for discovering how a
system should operate. Steps
include:
• Collecting requirements
• Develop/Refine Prototype
• Review Prototype with Users
(Repeat the previous steps until
correct design is created)
• Implement and Use System
Alternative Development Methods – RAD
Rapid Application Development (RAD)
A rapid four-step iterative systems development method
utilizing: prototyping, computer-based development tools,
special management practices, and close user involvement
RAD Phases
The following phases are
iterated until the
requirements and design
are completed and
approved
• Requirements Planning
• User Design
• Construction
• Move to the New System
Alternative Development Methods – ObjectOriented
Object-Oriented Analysis and Design (OOAD)
Similar to SDLA approaches except that it relies on the
tight coupling between data and methods and between
the conceptual design of a system and its actual
implementation.
OOAD Characteristics
• The role of analyst and programmer are combined
while thinking about data and the operations to
define the relevant objects
• The design and implementation of these objects
happen quickly and simultaneously
• It uses a more integrative prototyping process than
the SDLC
Alternative Development Methods – A
Comparison
Needs for Alternatives to Internal
Systems Building
Many times it is not feasible to consider building an information
system internally. Below are four situations that discourage the
idea of developing a system internally
Limited IS
Staff
The IS organization does not have the
capability to build the system itself
Limited IS
Skill Sets
The IS organization does not have personnel
with the correct skill sets to build the system
IS Staff is
Overworked
Current IS organization staff demands and
priorities make it impossible to build a system
Problem IS
Performance
The IS organization does not have the
appropriate performance level to build a system
Alternatives to Internal Development
External Acquisition
The purchasing of an existing system (hardware,
software, databases, network) from an outside
vendor such as IBM, EDS, or Accenture
Outsourcing
Turning over some or all responsibility for an
organization’s information systems development and
operations to an outside firm
End-user Development
Capitalizing on the sophistication of current users, this
technique allows the system users to develop their
system functions using a variety of tools
External Acquisition – Steps to Proceed
Steps in External Acquisition
• System identification, selection, and planning (same as
internal method)
• Systems analysis (same as internal method)
• Development of a request for proposal (RFP) – a report
that is used to tell vendors what the requirements are and
how they might be able to meet those requirements
(hardware and software)
• Proposal evaluation – may include viewing system
demonstrations, evaluating the performance of those
systems, and examining criteria important to the
organization and judging how the proposed systems
respond to those criteria
• Vendor selection – using a scoring system devised to
evaluate the competing proposal and then selecting the
proposal that best fits the organization’s needs
External Acquisition – The RFP
(Request for Proposal)
External Acquisition - Proposal
Evaluation Criteria
Outsourcing – Why Consider?
A firm might outsource some (or all) of its information system
service for many reasons:
• Cost and quality concerns – current cost and quality of
information systems is unacceptable
• Problems in IS performance – IS is having trouble meeting
acceptable service standards
• Supplier pressures – aggressive sales tactics
• Simplifying, downsizing, and reengineering – having a
need to focus on core processes
• Financial factors – turning over IS systems can strengthen a
balance sheet
• Organizational culture – political or organizational problems
that are difficult for IS to overcome
• Internal Irritants – tension between the IS staff and users
Outsourcing – Types of Arrangements
Outsourcing Arrangements
Not all outsourcing arrangements are the same, they can
vary based on the need of the firm and the supplier
Arrangement Types
• Basic – A “cash and carry” relationship in which products
and services are purchased on the basis of price and
convenience
• Preferred – relationships with a few suppliers where the
buyer and supplier set preferences and prices based to
the benefits of each other (e.g. volume pricing)
• Strategic – a relationship where the firm and a vendor
are each concerned with, and perhaps have a direct
stake in, the success of each other
Outsourcing – Relationship
Management
Managing the IS Relationship
Ongoing management of the outsourcing alliance is the
single most important aspect of the outsourcing project’s
success. The following are recommendations for the best
management:
• A strong CEO and CIO should continually manage the
legal and professional relationship with the outsourcer
• Clear, realistic performance measurements of the
systems and of the out sourcing arrangement (e.g.
tangible and intangible costs)
• The interface between the customer and outsourcer
should have multiple levels (i.e. the links to deal with
policy and relationship issues)
End-User Development – Tools
Tools
Many tools can be used by end-users for business
applications including some of the following:
• Personal Computer Tools – tools common to PCs (e.g.
speadsheets) that allow the creation of macros or automated
routines by users
• Query languages/report generators – tools that utilize
SQL to extract information from databases and generate
reports in user-specified formats
• Graphics generators – tools that can extract relevant
information from databases and create graphs, charts, etc.
• Decision Support and Modeling Tools – tools that support
complex decision making utilizing multidimensional models
• Application Generators – tools that allow users to specify
what is to be done and the application decides how it is to be
done and generates the program code
End-User Development – Benefits
End-User Development Benefits
Embracing end user development can help address some
common issues with IS development including:
• Cost of labor – IS managers can substitute hardware
and the systems for users to develop systems for IS
staff
• Long development time – allowing users to develop,
shortens development lead times
• Slow modification – users can react to their own
needs
• Work overload – leveraging the talent of the end user
staff, in effect, increases the size of the IS staff
End-User Development – The Benefits
End-User Development – Pitfalls
Pitfalls
End-user development is not a panacea, common issues
arises as it use become for prevalent including:
• Lack of Standards – if users do not adopt standards used
by IS professionals (documentation, error checking, testing
procedures), the IS staff can experience problems when
supporting users, or troubleshooting data integrity and
security problems when enterprise systems are involved
• Lack of continuity – as users leave the organization or
department, new employees may not understand existing
programs and lose productivity learning or developing new
applications or “reinventing the wheel”
• Appropriate Use of Time – there is debate whether it is
appropriate for skilled users and managers to be spending
time on systems development
Download