Chapter 3: Information Systems Development

Download as pptx, pdf, or txt
Download as pptx, pdf, or txt
You are on page 1of 14

6/6/2018 12:44 AM

Chapter 3: Information Systems Development

1
6/6/2018 12:44 AM

PROCESS OF SYSTEM DEVELOPMENT


System development process – a set of activities, methods, best practices,
deliverables, and automated tools that stakeholders (Chapter 1) use to develop
and continuously improve information systems and software (Chapters 1 and 2).

– 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
– Promotes quality

2
6/6/2018 12:44 AM

THE 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 are established to
track project costs, schedules, and functionality.
 Level 3—Defined: A standard system development process (sometimes called a
“methodology”) is purchased or developed. All projects use a version of this process to
develop and maintain information systems and software.
 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 measures and data analysis established in Level 4.

3
6/6/2018 12:44 AM

CAPABILITY
MATURITY
MODEL
(CMM)

4
6/6/2018 12:44 AM

A SYSTEM LIFE CYCLE

5
6/6/2018 12:44 AM

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)

6
6/6/2018 12:44 AM

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.
 Design systems for growth and change.
7
6/6/2018 12:44 AM

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.

8
6/6/2018 12:44 AM

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.

9
6/6/2018 12:44 AM

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.

 Time box – the imposition of a nonextendable period of time, usually 60-90


days, by which the first (or next) version of a system must be delivered into
operation.

10
6/6/2018 12:44 AM

RAPID APPLICATION DEVELOPMENT STRATEGY

11
6/6/2018 12:44 AM

AUTOMATED TOOLS AND TECHNOLOGY


 Computer-aided systems engineering (CASE)
 Application development environments
(ADEs)
 Process and project managers

12
6/6/2018 12:44 AM

COMPUTER-ASSISTED SOFTWARE ENGINEERING (CAS)


Computer-aided systems engineering (CASE) – the use
of 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 – a system developers’ database where developers
can store system models, detailed descriptions and specifications,
and other products of system development. Synonyms include
dictionary and encyclopedia.
 Forward engineering – a CASE tool capability that can generate initial
software or database code directly from system.
 Reverse engineering – a CASE tool capability that can generate initial
system models from software or database code.

13
6/6/2018 12:44 AM

CASE TOOL ARCHITECTURE

14

You might also like