Information Systems 1

Download Report

Transcript Information Systems 1

IMS2805 - Systems Design and
Implementation
Lecture 11
CASE tools
11.1
References
 Prescribed text:
Avison, D.E. & Fitzgerald, G. (2003). Information
Systems Development: Methodologies, Techniques
and Tools. (3rd ed), McGraw-Hill, London.
Chapters 17, 18,
 HOFFER, J.A., GEORGE, J.F. and VALACICH (2002) 3rd
ed., Modern Systems Analysis and Design, PrenticeHall, New Jersey, Chapter 4
11.2
Quality and productivity
“solutions” include:
 user participation
 JAD (Joint Application Design)
 prototyping
 automated and other tools
 RAD (Rapid Application Development)
 reuse
11.3
What are CASE tools?
 computer-aided software tools that provide automated
support for some portion of the systems development
process
 provide an engineering-type discipline to improve
productivity and increase the quality of information
systems
 CASE tools may run on various mini and mainframe
systems, but the PC is the dominant CASE workstation
11.4
CASE tools
 CASE (Computer Assisted Software Engineering) tools
Objective of CASE tool usage:
 higher quality systems, a less expensive and more
productive system development process
“automated and integrated software development tools,
techniques and methodologies that add significant value
by increasing the productivity of the application
development process and the quality of the applications
that they're used to develop”
Stone (1993) p.8
11.5
CASE tools
Objectives
 to improve the quality of the systems developed: e.g.
better and more complete specifications and designs
 to improve the productivity of systems development: less
people and faster
 to ease and improve consistency of specifications,
conformity of designs, and testing through automated
checking
 to improve the integration of development activities via
the use of common methodologies and techniques
 to improve the quality and completeness of
documentation
11.6
CASE tools
Objectives
 to improve the management and control of projects
 to promote consistency across projects within the
organisation
 to promote consistency and quality of systems across
the organisation
 to promote resuability
 to reduce maintenance effort
11.7
CASE tools
core CASE tool functionality:
 graphical facilities for diagrams and modelling
 data dictionary
 automated documentation
additional functionality:
 code generation from system specifications and models
 automatic audit trail of changes
 project management facilities
 enforced diagramming and documentation standards
11.8
Components of CASE Tools






diagramming tools
screen and report generators
analysis tools
a central repository
documentation generators
code generators
11.9
Components of CASE Tools
 diagramming tools
enable graphical representation of system data,
processes, and control structures
 screen and report generators
help to prototype how systems “look” and “feel” to users
help to identify data and process requirements
 analysis tools
automatic checking for correctness, completeness, and
consistency of specifications in diagrams, reports, forms
11.10
Components of CASE Tools
 a central repository
enables integrated storage of systems specifications
and project management information
 documentation generators
help to produce both technical and user documentation
in standard formats
 code generators
automatic generation of program and database definition
code directly from the design documents, diagrams,
reports and forms
11.11
CASE tools: the CASE repository
 the repository is central to the CASE tool for integration to
allow sharing between tools and SDLC activities
 a centralised database containing all form and report
definitions, diagrams, data definitions (data flows, entities
etc), process flows, functions, process logic, other
organisational and system components
 common terminology, notations, methods to support
integration
 potential benefits:
supports co-ordination of team members and effort
promotes reusability
11.12
Types of CASE tools
 Upper CASE
designed to support the earlier lifecycle phases:
IS planning, project identification and planning, systems analysis,
design
 Lower CASE
designed to support the implementation and maintenance phases of
systems development
 I-CASE (integrated CASE)
“seamless” integration of products and tools across lifecycle phases
via a common repository
(see Avison & Fitzgerald 2003, Chapter 18)
11.13
CASE tool usage
 Cross lifecycle CASE
CASE tools used to support activities that occur across
multiple phases of the SDLC
e.g.
 project management:
developing estimates of time and resources, scheduling,
monitoring project progress
 production of documentation
the repository and document generators are used
across multiple lifecycle phases
11.14
Implementing CASE tools
in organisations
 the adoption of CASE is closely related to the use of a
formal, standardized systems development process or
methodology:
many CASE tools force or encourage analysts to follow a specific
methodology
organizations without a widely used methodology or an approach
that is compatible with a CASE tool will have difficulties
 CASE adoption has been slower than expected due to
several factors including:
cost, training needs, front end lifecycle effort
11.15
Implementing CASE tools in
organisations
 startup costs
I-CASE costs per analyst: $5,000 to $50,000
only large-scale system builders can spend this
smaller organisations use tools with less functionality
 training
for every dollar spent on tools, half to double that spent on training
 front end lifecycle effort
the big benefits come in later lifecycle phases: construction, testing,
implementation, maintenance
early phases lengthened by up to 40%
(see Hoffer et al 2002, chapter 4)
11.16
Why organisations resist CASE tools
 common resisting organisational factors for
CASE adoption:
 high cost of purchasing
 high cost of training personnel
 low organisational confidence in the IT department to
deliver high quality systems on time and within budget
 lack of methodology and standards
 CASE seen as a threat to job security
 lack of confidence in CASE products
11.17
CASE tool implementation
critical success factors:
 the right tools
 a CASE implementation strategy
 a systems development methodology
 the methodology must be structured to
the use of CASE tools
facilitate
 a CASE-compatible culture
 appropriate human resources
 appropriate expectations
11.18
Selecting CASE tools
 compatible with systems development
methodology/approach
 compatible with technology architecture
 development and application environment
 organisational culture
 implementation strategy
 vendor support
11.19
Systems development using CASE
tools
 changes in work practices:
 focus on analysis and design
 “automatic” documentation generation
 maintain designs
 modifications to analysis and design products
 project management
 project team structures
 task structures
 differences between CASE-based vs manual versions of
SDMs
11.20
Evolution and future of
automated tools
 Visual development tools:
 rapidly build interfaces, reports etc using visual tools e.g.
Visual Basic, Powerbuilder and instantly test the look of
the design (development and programming
environments)
 Embed AI into development environments
 use of intelligent agents (programs) residing in a
computer to carry out developer’s instructions to create
new systems
11.21