Chap 03
Chap 03
Developing Information
Systems
– Many variations
– Using a consistent process for system development:
Create efficiencies that allow management to shift
resources between projects
Produces consistent documentation that reduces
lifetime costs to maintain the systems
3-3
Promotes quality
CMM Process Management
Model
Capability Maturity Model (CMM) – a standardized
framework for assessing the maturity level of an
organization’s information system development and
management processes and products. It consists of five
levels of maturity:
• Level 1—Initial: System development projects follow no
prescribed process.
• Level 2—Repeatable: Project management processes and
practices established to track project costs, schedules, and
functionality.
• Level 3—Defined: Standard system development process
(methodology) is purchased or developed. All projects use a
version of this process.
• Level 4—Managed: Measurable goals for quality and
productivity are established.
• Level 5—Optimizing: The standardized system development
process is continuously monitored and improved based on
3-4 measures and data analysis established in Level 4.
Capability Maturity Model
(CMM)
3-5
Impact of System Development
“Process” on Quality
3-6
Life Cycle versus Methodology
3-8
Representative System
Development Methodologies
• Architected Rapid Application Development
(Architected RAD)
• Dynamic Systems Development Methodology
(DSDM)
• Joint Application Development (JAD)
• Information Engineering (IE)
• Rapid Application Development (RAD)
• Rational Unified Process (RUP)
• Structured Analysis and Design
• eXtreme Programming (XP)
3-9
Principles of System
Development
• Get the system users involved.
• Use a problem-solving approach.
• Establish phases and activities.
• Document through development.
• Establish standards.
• Manage the process and projects
• Justify systems as capital investments.
• Don’t be afraid to cancel or revise scope.
• Divide and conquer.
3-10
• Design systems for growth and change.
Use a Problem-Solving
Approach
Classical Problem-solving approach
1. Study and understand the problem, its
context, and its impact.
2. Define the requirements that must be meet
by any solution.
3. Identify candidate solutions that fulfill the
requirements, and select the “best” solution.
4. Design and/or implement the chosen
solution.
5. Observe and evaluate the solution’s impact,
and refine the solution accordingly.
3-11
Establish Phases and Activities
Overlap of System Development Phases
3-12
Manage the Process and
Projects
Process management – an ongoing activity that
documents, manages, oversees the use of, and
improves an organization’s chosen methodology (the
“process”) for system development. Process
management is concerned with phases, activities,
deliverables, and quality standards should be
consistently applied to all projects.
• Planned Projects
• An information systems strategy plan has
examined the business as a whole to identify those
system development projects that will return the
greatest strategic (long-term) value to the business
• A business process redesign has thoroughly
analyzed a series of business processes to eliminate
redundancy and bureaucracy and to improve
efficiency and value added. Not it is time to redesign
the supporting information system for those
redesigned business processes.
3-17
Where Do Systems Development
Projects Come From?
• Unplanned projects
• Triggered by a specific problem, opportunity, or
directive that occurs in the course of doing business.
• Steering committee – an administrative body of
system owners and information technology
executives that prioritizes and approves candidate
system development projects.
• Backlog – a repository of project proposals that
cannot be funded or staffed because they are a lower
priority than those that have been approved for
system development.
3-18
The PIECES Problem-Solving
Framework
P the need to improve performance
I the need to improve information (and
data)
E the need to improve economics, control
costs, or increase profits
C the need to improve control or security
E the need to improve efficiency of people
and processes
S the need to improve service to customers,
suppliers, partners, employees, etc.
Back
Project Phases
• FAST - (Framework for the Application of Systems
Thinking ) a hypothetical methodology used
throughout this book to demonstrate a representative
systems development process.
• Each methodology will use different project phases.
FAST Phases Classic Phases (from Chapter 1)
Project System System System
Initiation Analysis Design Implementation
Scope Definition X
Problem Analysis X X
Requirements Analysis X
Logical Design X
Decision Analysis (a system analysis transition phase)
Physical Design and Integration X
Construction and Testing X X
3-20
Installation and Delivery X
Scope Definition Phase
Problem statement – a statement and categorization of
problems, opportunities, and directives; may also include
constraints and an initial vision for the solution. Synonyms
include preliminary study and feasibility assessment.
3-22
Logical Design Phase
Logical design – the translation of business user requirements
into a system model that depicts only the business requirements
and not any possible technical design or implementation of
those requirements. Common synonyms include conceptual
design and essential design.
3-25
Construction and Testing Phase
3-26
Installation and Delivery Phase
3-27
System Operation &
Maintenance
System support – the ongoing technical
support for users of a system, as well as
the maintenance required to deal with any
errors, omissions, or new requirements
that may arise.
3-28
Cross Life-Cycle Activities
Cross life-cycle activity – activities that overlap
multiple phases
• Fact-finding - formal process of using research,
interviews, meetings, questionnaires, sampling, and
other techniques to collect information about system
problems, requirements,and preferences.
• Documentation and presentation
• Documentation – recording facts and specifications for a
systems for current and future reference.
• Presentation – communicating findings, recommendations,
and documentation for review by interested users and
mangers.
• Repository – database and/or file directory where system
developers store all documentation, knowledge, and
artifacts for information systems or project(s).
• Feasibility analysis
3-29 • Process and project management
FAST Project Phases
3-30
System Development Documentation,
Repository, and Presentations
3-31
Objectives
3-32
Sequential versus Iterative
Development
Waterfall development
approach an approach to
systems analysis and design
that completes each phase one
after another and only once .
Iterative development
approach an approach to
systems analysis and design
that completes the entire
information system in
successive iterations. Each
iterations does some analysis,
some design, and some
construction. Synonyms include
incremental and spiral.
3-33
A Taxonomy for System Development
Methodologies & Strategies
3-34
Model-Driven Development
Strategy
• Model-driven development – a system
development strategy that emphasizes
the drawing of system models to help
visualize and analyze problems, define
business requirements, and design
information systems.
• Process modeling – a process-
centered technique popularized by the
structured analysis and design
methodology that used models of
business process requirements to
derive effective software designs for a
system.
3-35
Model-Driven Development
Strategy
3-36
Rapid Application Development
Strategy
• Rapid application development
(RAD) – a system development
strategy that emphasizes speed of
development through extensive user
involvement in the rapid, iterative, and
incremental construction of series of
functioning prototypes of a system that
eventually evolves into the final
system.
• Prototype – a small-scale,
representative, or working model of
the users’ requirements or a proposed
design for an information system.
3-38
Commercial Application Package
Implementation Strategy
• Commercial application package – software
application that can be purchased and customized to
meet business requirements of a large number of
organizations or specific industry. A synonym is
commercial off-the-shelf (COTS) system.
• Request for proposal (RFP) – formal document that
communicates business, technical, and support
requirements for application software package to
vendors that may wish to compete for the sale of
application package and services.
• Request for quotation (RFQ) – formal document that
communicates business, technical, and support
requirements for an application software package to a
single vendor that has been determined as being able to
supply that application package and services.
• Gap analysis – comparison of business and technical
requirements for a commercial application package
against capabilities and features of a specific
commercial application package to define requirements
that cannot be met.
3-39
Commercial Application Package
Implementation Strategy
3-40
Hybrid Strategies
3-41
A System Maintenance
Perspective back
3-42
Automated Tools and
Technology
3-43
Computer-Assisted Software
Engineering (CASE)
Computer-aided systems engineering
(CASE) –automated software tools that
support the drawing and analysis of system
models and associated specifications. Some
CASE tools also provide prototyping and
code generation capabilities.
• CASE repository – system
developers’ database where
developers can store system
models, detailed descriptions and
specifications, and other products
of system development.
Synonyms: dictionary and
encyclopedia.
• Forward engineering – CASE tool
capability that can generate initial
software or database code directly
from system.
• Reverse engineering – CASE tool
capability that can generate initial
system models from software or
database code.
3-44
Application Development
Environments
Application development environments (ADEs) – an
integrated software development tool that provides all the
facilities necessary to develop new application software
with maximum speed and quality. A common synonym is
integrated development environment (IDE)
• ADE facilities may include:
• Programming languages or interpreters
• Interface construction tools
• Middleware
• Testing tools
• Version control tools
• Help authoring tools
• Repository links
3-45
Process and Project Managers
3-46
Using a CASE Tool for System
Development
3-47
CASE Tool Architecture
3-48
Building Blocks View of
System Development
3-49
Logical vs. Physical Models
3-50
Model-Driven Development
Strategy
Advantages Disadvantages
• Requirements often • Time consuming
more thorough • Models only as good
• Easier to analyze as users'
alternatives understanding of
• Design specifications requirements
often more stable and • Reduces users' role
flexible because pictures are
• Systems can be not software
constructed more • Can be Inflexible
3-51 correctly the first time
Rapid Application Development
Strategy
Advantages Disadvantages
• User requirements often • May encourage "code,
uncertain or imprecise implement, repair" mentality
• Encourages active user and • Can solve wrong problem
management participation since problem analysis is
• Projects get higher visibility abbreviated
and support • May discourage analysts from
• Stakeholders see working considering alternatives
solutions more rapidly • Stakeholders reluctant to
• Errors detected earlier throw away prototype
• Testing and training are • Emphasis on speed can
natural by-products adversely impact quality
• More natural process because
change is expected
3-52
Commercial Application Package
Implementation Strategy
Advantages Disadvantages
• Systems usually implemented • Dependent on long-term
more quickly viability of vendor
• Avoids staffing required to • Rarely reflects ideal solution
develop in-house solutions • Often resistance to changes
• Generally less expensive business processes to adapt
• Vendor assumes responsibility to software
for improvements and
corrections
• Many business functions more
similar than dissimilar for all
businesses in a given industry
3-53