Title: CSIS3600 Systems Analysis and Design
1CSIS3600 Systems Analysis and Design
2CASE Tools
- The term Computer Aided Software Engineering
(CASE) was born as a result of the need to
provide structure to systems development efforts.
(Many IS professionals thought that the software
development process needed an engineering
flavor that would help to establish the use of
common techniques, standard methodologies and
automated tools).
3CASE Tools
- The earliest commercial CASE tools date back to
1982. These tools were heavily focused on
supporting diagramming. By 1985, CASE became big
in software engineering circles. By 1990, it was
reported that there were over 470 CASE tool
vendors with an estimated market of 4.8 billion
with growth expected to exceed 13 billion by the
end of the decade.
4Need for CASE
- Computer technology is expanding rapidly.
- Software applications are proliferating.
- New applications are emerging and there exists a
need to maintain what is already in place. (More
efficient ways to develop software applications
are required.) - Software development methodologies began to
appear and formalized training and education was
initiated for following a methodology for
software development.
5Some Trivia
- Software Trivia It is estimated that there are,
today, almost 500 programming languages in active
use representing billions and billions of lines
of code. Conservative estimates put the number of
lines of COBOL in use at over 200 billion.
Languages such as C, Basic, Pascal, Ada, Fortran,
PL/1 and Jovial add another 200 billion lines to
the COBOL total. A host of other languages
including Algol, APL, CHILL, CMS2, CORAL, Forth,
Lisp, Modula, Mumps, Prolog, Ratfor, and RPG, to
name a few, account for the remainder. Even niche
programming languages such as Natural account for
over 10 billion lines of code in support of
enterprise computing. This estimate doesn't even
account for new programming environments such as
Java.
6Sample Lines of Code
7What about Linux?
8Why CASE
- The purpose of CASE is
- to make it simpler to enact a single design
philosophy with the goal to speed up the
development process. - to automate mundane tasks.
- to promote a central location for referencing
system development activities and documents.
9What is CASE
- CASE is a collection of tools used to support the
software development process. - CASE tools support a wide variety of activities
as identified in the SDLC. - Cross life cycle tools support those activities
that occur across multiple phases of the SDLC.
Examples are project management, time estimates
and creating documentation.
10Components of CASE
- A CASE environment contains a collection of
tools. Not all environments provide all tools. - CASE tools are divided into
- Upper CASE
- Lower CASE
- Cross Life Cycle CASE
11Components of CASE
- Upper CASE is focused in supporting project
identification and selection, project initiation,
project planning, analysis and design. - Lower CASE provides support for the
implementation and maintenance phases. - Cross Life Cycle CASE supports activities that
occur across multiple phases of the SDLC.
12Diagramming Tools
- Diagramming Tools provide the means for
representing the system visually. They are used
to show data flow, process flows,
entity-relationships, etc. - The diagramming tool provides a graphical tool
set that can be used to draw the diagrams and
most CASE tools even generate the database schema
(separate tables defined in the database to store
data) directly from the relationship diagrams. - Diagramming capabilities are considered the most
fundamental and indispensable component of a CASE
environment.
13Sample Diagramming Tool - DataFlow
14Sample Diagramming Tool Entity Relationship
15Form and Report Generator Tools
- Form and Report Generator Tools provide automated
tools for designing forms and developing report
formats. - These help to provide end users with prototypes
of how the system will look and feel.
16 Sample Form and Report Generator Tool
17Analysis Tools
- Analysis Tools generate reports that help to
identify possible inconsistencies, redundancies
and omissions in diagrams, forms and reports
previously created. - They help to insure that the data needed is
entered into the system, flows through the system
and can be reported out when needed. - These tools also check for such things as
redundancy, missing elements, incorrect flow of
data, etc.
18Repository
- The Repository provides a centralized database
that contains all diagrams, reports, forms, data
structures and other definitions of the system. - It serves as the nucleus of the system
development environment and is paramount to the
integration of the tools used at various stages
of the SDLC. - The repository can serve as the library of all
information related to the system development
project thereby providing means for facilitating
project management and project sharing.
19Repository
- Further, repositories provide a vehicle for
reusability because known development work is
located in a common place facilitating reuse of
resources for similar project.
20Sample Repository Reports Screen
21Documentation Generator Tools
- Documentation Generator Tools provide support for
the generation of standard reports that can be
maintained and shared throughout the development
process. - Enough said about documentation we all know how
important it is but how it often slips through
without being completed.
22Code Generators
- Code Generators automated systems that produce
high-level program source code from diagrams and
forms. - (CASE generated source code often has to be
edited by programmers.)
23CASE Usage Within the SDLC
SDLC Phase Key Activities CASE Tool Usage
Project identification and selection Display and structure high-level organizational information Diagramming and matrix tools to create and structure information
Project initiation and planning Develop project scope and feasibility Repository and documentation generators to develop project plans
24CASE Usage Within the SDLC
SDLC Phase Key Activities CASE Tool Usage
Analysis Determine and structure system requirements Diagramming to create process, logic and data models
Design Create new system designs Form and report generators to prototype designs analysis and documentation generators to define specifications
25CASE Usage Within the SDLC
SDLC Phase Key Activities CASE Tool Usage
Implementation Translate designs into an information system Code generators and analyzers, form and report generators documentation generators to develop system and user documentation
Maintenance Evolve information systems All tools are used (repeat life cycle)
26CASE and the SDLC
27Greatest Benefits of CASE
- The big benefits to using CASE come in the late
stages of the SDLC system construction,
testing, maintenance. - CASE often lengths the time to completion of the
early stages of the SDLC by 40 according to some
estimates. - This is because the design must be fully
completed before using such automated tools as
code generators, etc.
28Neat Features of CASE
- Reverse Engineering automated tools that read
program source code as input and create graphical
and textual representations of program
design-level information. - Reengineering Automated tools that read program
source code as input, perform an analysis of the
programs data and logic, and then automatically
or interactively alter an existing system.
29Constraining Factors of CASE
- Start-up costs can be high prices range from
5000 per analyst to 50,000 - Year cost estimate - 5,000-15,000 per year per
analyst - Learning curve is high Many CASE applications
are complex, with many sophisticated tools - CASE software dictates a way of doing things
- CASE tools cannot easily share information
between tools
30What is the use of CASE?
- Many organizations use varying tools or aspects
of CASE. - Most widely used features are the diagramming
tools - Next commonly used is the repository
- Provides integration of documentation
- Promotes consistency when changes are made
31Emerging Tools for Object Oriented Design
- Object Oriented Design is an extremely important
area of development and CASE tools for Object
Oriented Design are emerging and maturing.
32Tools for OOAD
- You are probably familiar with visual development
tools. These tools are extremely powerful. They
allow users to create new user interfaces,
reports and other features in a fraction of the
time previously required. Common visual
development tools include PowerBuilder by
Powersoft, Delphi by Borland International, Visio
(now owned by Microsoft) and Visual Basic by
Microsoft.
33CASE Tool Resources
- On-line resources for CASE tools
- Directory of CASE TOOLS http//www.qucis.queensu.
ca/Software-Engineering/tools.html - CASE Tools Listing and other CASE References
http//www.itmweb.com/case.htm - These sites will allow you to download an
evaluation (beware Rational is 51MB!! you might
prefer to try the demos!) http//www.rational.com/
products/rose/index.jtmpl - http//www.visible.com
34Unified Modeling Language
- Unified Modeling Language (UML) is an object
oriented modeling language. - UML is the culmination of the work of the three
leading experts in the field - Grady Booch, Ivar
Jacobson and James Rumbaugh. UML combined the
best from ER diagrams, business modeling
(workflow), object modeling and component
modeling. - Will be used in group projects
35UML Notation
- UML notation is useful for graphically depicting
object oriented analysis and design models. - Models system requirements
- Facilitates design decisions
- Promotes communications among key players
involved in the development effort - Integrates system views in a complete and
consistent fashion - Employs a simple notation set
36UML Example
37U M L S Y M B O L S
38Helpful tools for Diagramming
- RFFLow
- easy to use
- no limit time but number of symbols you can use
is limited - RFFLow - demo copy available at www.rff.com
- Tutorial is available at http//www.rff.com/tutori
al.htm - Samples are available at http//www.rff.com/sample
s.htm - Limited version available for demo (disallows new
objects on a model after about 20 have been used) - Smartdraw
- easy to use
- great collection of symbols
- 30 day free trial
- available at www.smartdraw.com
39Diagramming CASE Tool for OOAD
- Poseidon
- http//www.gentleware.com/
- http//www.gentleware.com/products/download.php3
- You must have the Java sdk installed on your
machine - http//java.sun.com/j2se/1.4.1/download.html
- Download the install anywhere version
40Poseidon
- Great tool to experiment with
- Community edition (the free one!) automatically
generates C and HTML code - Beware of its quirks!
41Quote of the Week
- "despite 50 years of progress, the software
industry remains years perhaps decades short
of the mature engineering discipline needed to
meet the demands of an information age society."
Scientific American, Sept 94