Learning Objectives

advertisement
Chapter 14
Building Information
Systems
1
Learning Objectives
 Explain the concept of a systems development life cycle (SDLC)
 Compare and contrast prototyping, rapid application
development (RAD), joint application design (JAD), and
traditional SDLC approaches to systems development
 Identify advantages and disadvantages of object-oriented (OO)
development
 Describe component-based development
 Evaluate alternatives to in-house systems development
 Discuss the major strategies, methods, and tools for building ecommerce applications
 Identify advantages and disadvantages of CASE tools
 Describe alternative approaches to software process quality
improvement
2
Case: Snap-On Sets up an EC Site
Problem:
 Snap-On, a tool and equipment maker in Washington state wanted
to set up an e-commerce site and went for the in-house option.
Solution:
 Snap-On hired application service provider (ASP) OnLink
Technologies to implement a catalog for the company's e-commerce
site.
Results:
 The creation of an in-house ASP consulting service for Snap-On.
 Skill transferring to other departments and subsidiaries that want to
put up catalogs on their own Web sites.
3
Systems Development Life Cycle
 SDLC represents a set of general categories that show the major
steps, over time, of an information systems development project.
 There is no universal, standardized version of the SDLC, but the
phrase has two distinct meanings.
 An SDLC can be a general conceptual framework for all the
activities involved in systems development or acquisition.
 An SDLC can also be a very structured and formalized design and
development process.
4
An Eight-Stage SDLC
5
Stages 1 & 2
 Stage 1: Project Initiation
 Stage 2: Systems Analysis & Feasibility Studies
 Systems Analysis - the investigation of the existing situation.
 Feasibility Studies - the major areas of feasibility investigation are;
• Technology
• Economics
• Organizational factors
• Legal, ethical, and other constraints
6
Stages 3 & 4
 Stage 3: Logical Analysis and Design
 Systems analysts determine 2 major aspects of the system:
(1) what it needs to do
(2) how it will accomplish these functions.
 Logical Design – the design of an IS from the user’s point of
view.
 Physical Design -translates the abstract logical model into
the specific technical design (the “blueprints”)
 Stage 4: Actual Acquisition or Development
 The logical design of the new system guides the actual development
or acquisition
7
Stages 5 & 6
 Stage 5: Implementation
 Approaches to conversion from a previous system include:
•
•
•
•
Parallel conversion
Direct cutover
Pilot conversion
Phased (or modular) conversion
 Stage 6: Operation
 After a successful conversion, the system will operate for an
indefinite period of time.
8
Stages 7 & 8
 Stage 7: Post-audit Evaluation
 An organization should evaluate all its larger system projects
after their completion.
 These post-audits introduce an additional element of
discipline into the development process.
 Stage 8: Maintenance
 Every system needs two kinds of maintenance:
• Fixing bugs
• Updating systems to accommodate changes in the
environment
9
Implementing SDLCs
IS groups considering the implementation of a formal SDLC
methodology should look for the following characteristics:
 Minimal overhead
 Flexibility and responsiveness
 Concurrent tasks
 Focused analysis
10
Alternatives to Conventional SDLCs
Four Possibilities:
1. Prototyping
2. Joint application design
3. Rapid application
development
4. Object-oriented
development
11
Prototyping
 Instead of spending a lot of time producing very detailed
specifications, the developers find out only what the users want.
 Developers quickly create a prototype.
 This contains portions of the system of most interest to the users,
or is a small-scale working model of the entire system.
 After reviewing the prototype with the users, the developers
refine & extend it.
 This approach is also known as evolutionary development.
12
Joint Application Design
 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 contrast to the SDLC requirements analysis, JAD has a group
meeting in which all users meet simultaneously with analysts.
 An electronic JAD session can be conducted offsite/online with
technology support.
 JAD may not be an easy task for Web site design since in some
cases the stakeholders may be outside of an organization.
13
Rapid Application Development
 Rapid application development
(RAD) methodologies and tools
make it possible to develop
systems faster, especially
systems where the user
interface is an important
component.
 E.g., Blue Cross & Blue Shield
Develop an award-winning
application using RAD.
 Typical RAD packages include
the following:
 GUI development
environment
 Reusable components
 Code generator
 Programming language
14
Rapid Application Development
15
Object-Oriented Development
 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.
 Object technology enables the development of purchasable, sharable,
and reusable information assets (objects) existing in a worldwide
network of interorganizational information systems.
 The techniques and notations that are incorporated into a standard
object-oriented language are called unified modeling language or UML.
 The object-oriented approach is ideal for developing Web applications.
16
Component-based Development
 Components are self-contained packages of functionality that have
clearly defined, open interfaces with high-level application services.
 E.g., interface icons (small), online ordering (a business component)
 Components can be distributed dynamically for reuse across multiple
applications and heterogeneous computing platforms.
 The major reasons for using components-based development are:




Code reusability, which make programming faster, with fewer errors.
Support for heterogeneous computing infrastructure and platforms.
Rapid assembly of new business applications
Ability of an application to scale.
17
Systems Developed Outside the ISD


Many organizations are using approaches that shift the
construction task from the IS department to others.
Of the various ways of doing this, three are most common:
 Let users build their own systems
 Outsource the entire systems development process
 Let end-users and/or the ISD use packages
18
Trends Favoring End-User Development
The following list presents existing factors that lead to higher levels of
end-user development:.
 Increasingly powerful
desktop hardware
 Declining hardware costs
 Increasingly diverse
software capabilities
 Increasingly computerliterate population
 Backlog of IS projects
 Development speed
 Business orientation
 Small applications
 Control
 Apparent cost savings
19
Outsourcing
Firms that provide outsourcing
cite numerous benefits:
Outsourcing can also create
problems for companies:
 Hardware economies of scale
 Limited economies of scale
 Staffing economies of scale
 Specialization
 Tax benefits
 Staffing
 Lack of business expertise
 Contract problems
 Internal cost reduction
opportunities
20
External Acquisition of Software
 The choice between developing software in-house and
purchasing existing software is called the make-or-buy decision.
 The initial cost of off-the-shelf software is often lower and the
software should be of high quality, because many customers
have used and helped debug it.
 However, buying off-the-shelf software may mean that an
organization has to pay for features and functions that are not
needed.
21
External Acquisition of Software
The most prominent advantages of
buying off-the-shelf software are:
 On-time
 On-budget
 Full functionality
The following outcomes are also
important:







User acceptance
Favorable costs-to-benefits ratio
Low maintenance
Scalability
Integration with other systems
Minimal negative cross-impacts
Reusability
22
Managerial Considerations
 The traditional SDLC approach often works well for large projects with
well-defined requirements, where there is not a lot of time pressure.
 Prototyping requires effective management to make sure that the
iterations of prototyping do not continue indefinitely.
 RAD may be less appropriate than conventional programming
languages for larger projects, or those with a lot of real-time
processing.
 JAD is easy for senior management to understand, yet it is difficult and
expensive to get all people in the same place at the same time.
23
Managerial Considerations
 Object-Oriented development is becoming increasingly popular, but
usage is limited by a shortage of personnel with OO skills.
 A component-based application architecture provides several business
benefits, but the execution of component-based development requires
special training and skill.
 End-user development is also a possibility for larger projects whose
priorities are not high enough to lead to a timely response from the
central IS unit.
 Outsourcing should always be considered by large and complex
systems with a significant risk of failure, yet the disadvantages should
be reviewed carefully.
24
The Development of EC Applications
25
The Development of EC Applications
Step 1: System Analysis
Step 2: Select a Development Option
Step 3: Installation, Connection, and More
Step 4: Deployment
Step 5: Operation and Maintenance
26
Development Strategies for EC Applications
1. Buy the EC Applications
 The following are the major criteria for consideration in buying ecommerce applications:
•
•
•
•
•
•
•
•
•
The functionalities of development packages & criteria of choice
User-friendliness
Information requirements
Hardware and software resources
Installation
Maintenance services
Security
Vendor quality
Cost
27
Development Strategies for EC Applications
2. Lease the EC Applications
Leasing is advantageous in cases where extensive maintenance is
required, or where the cost of buying is very high.
Two ways to lease:
Lease the application from an outsourcer and install it on the company’s
premises.
Lease from either an application service provider or a CSP.
3. Develop EC Applications In House: Insourcing
 Build from scratch.
 Build from components.
 Enterprise application integration.
28
Other Development Options
Join An E-Marketplace
Join An Auction or Reverse Auction Third-Party Site
Joint Ventures
Join a Consortium
Hybrid Approach
29
Application Service Provider
 An Application service provider (ASP)
is an agent who assembles
functionality needed by enterprises,
and packages it with outsourced
development, operation, maintenance,
and other services.
 The essential difference between an
ASP and an outsourcer is that an ASP
will manage application servers in a
centrally controlled location, rather than
on a customer’s site.
30
Benefits & Risks of ASP Leasing
Type
Benefit
Potential Risk
Business
Reduces the need to attract and
retain skilled IT professionals.
Loss of control and high level of
dependence on ASP.
Enables company to concentrate
on strategic use of IT.
Inability of ASP to deliver quality of
service: lack of skills and experience.
Fast and easy application
deployment.
Level of customization and legacy
application integration offered by ASP
may be insufficient.
Higher degree of application
standardization.
Reliability and speed of delivery due to
bandwidth limitations.
Low total cost of ownership.
Pricing changes by ASP unpredictable
for application updates and services.
Technical
Economic
31
Criteria for Selecting an ASP Vendor
 Track record
 Scope of service
 Application & data
storage
 Support services
 Integration
 Database format &
portability
32
Java Programming Language
 Java has established itself as the most important programming
language for putting extra features into Web pages.
 Java is an object-oriented language.
 The Java Web page programs, called applets, need to be relatively
small to avoid delays in transmitting them over the Internet.
 Prototyping is probably the most suitable approach for developing
Java applets.
33
CASE Tools
 Computer-aided software engineering (CASE) tools are
marketed as individual items or in a set (toolkit) that automates
various aspects of the development process.
 CASE can be used in two different ways:
 To automate certain SDLC activities on a piecemeal basis.
 To provide an integrated (I-CASE) package for IS groups.
 The relatively high turnover rate among systems personnel
creates problems for use of I-CASE systems as new employees
will need to take the time to learn the integrated package.
34
Software Quality

The International Organization for Standardization (ISO) first published its
quality standards in 1987, and then republished an updated version in 2000.

The ISO allows organizations to use any SDLC that includes the following:
 Contract review
 Testing and validation
 Purchaser’s requirements
specification
 Acceptance
 Development planning
 Replication, delivery, and
installation
 Quality planning
 Maintenance
 Design and implementation
35
Project Planning
 Project planning provides an
overall framework with which
the systems development life
cycle can be planned,
scheduled, and controlled.
 Milestones, or checkpoints,
are established to allow a
periodic review of progress.
36
Project Planning
 Critical Path Method (CPM), PERT, and Gantt Charts.
 These generic project management tools are suitable for
systems development projects.
 Project Properties and Priorities
 The following five properties most significantly influence the
overall nature of an IT project:
• Predefined structure
• Stability of technology
• Size
• User proficiency
• Developer proficiency
37
Managerial Issues
 Importance. Functional managers
must participate in the development
process and should understand all
the phases.
 Ethical and legal issues.
Developing systems across
organizations and countries could
result in problems in any phase of
system development.
 Building interorganizational and
international information systems
can be very complicated.
38
Managerial Issues
 User involvement is
important.
 Quality assurance vs.
schedules.
 Behavior problems.
 Traditional approaches vs.
prototyping.
 Perpetual development.
 Tool use by developers.
39
Download