41
CSIS3600 Systems Analysis and Design Class 6 - CASE Tools

CSIS3600 Systems Analysis and Design

  • Upload
    iona

  • View
    39

  • Download
    0

Embed Size (px)

DESCRIPTION

CSIS3600 Systems Analysis and Design. Class 6 - CASE Tools. CASE Tools. - PowerPoint PPT Presentation

Citation preview

Page 1: CSIS3600 Systems Analysis and Design

CSIS3600 Systems Analysis and Design

Class 6 - CASE Tools

Page 2: CSIS3600 Systems Analysis and Design

CASE 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).

Page 3: CSIS3600 Systems Analysis and Design

CASE 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.

Page 4: CSIS3600 Systems Analysis and Design

Need 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.

Page 5: CSIS3600 Systems Analysis and Design

Some 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.

Page 6: CSIS3600 Systems Analysis and Design

Sample Lines of Code

Page 7: CSIS3600 Systems Analysis and Design

What about Linux?

Page 8: CSIS3600 Systems Analysis and Design

Why 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.

Page 9: CSIS3600 Systems Analysis and Design

What 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.

Page 10: CSIS3600 Systems Analysis and Design

Components 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

Page 11: CSIS3600 Systems Analysis and Design

Components 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.

Page 12: CSIS3600 Systems Analysis and Design

Diagramming 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.

Page 13: CSIS3600 Systems Analysis and Design

Sample Diagramming Tool - DataFlow

Page 14: CSIS3600 Systems Analysis and Design

Sample Diagramming Tool – Entity Relationship

Page 15: CSIS3600 Systems Analysis and Design

Form 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.’

Page 16: CSIS3600 Systems Analysis and Design

Sample Form and Report Generator Tool

Page 17: CSIS3600 Systems Analysis and Design

Analysis 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.

Page 18: CSIS3600 Systems Analysis and Design

Repository

• 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.

Page 19: CSIS3600 Systems Analysis and Design

Repository

• Further, repositories provide a vehicle for reusability because known development work is located in a common place facilitating reuse of resources for similar project.

Page 20: CSIS3600 Systems Analysis and Design

Sample Repository Reports Screen

Page 21: CSIS3600 Systems Analysis and Design

Documentation 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.

Page 22: CSIS3600 Systems Analysis and Design

Code 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.)

Page 23: CSIS3600 Systems Analysis and Design

CASE Usage Within the SDLCSDLC 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

Page 24: CSIS3600 Systems Analysis and Design

CASE Usage Within the SDLCSDLC 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

Page 25: CSIS3600 Systems Analysis and Design

CASE Usage Within the SDLCSDLC 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)

Page 26: CSIS3600 Systems Analysis and Design

CASE and the SDLC

Page 27: CSIS3600 Systems Analysis and Design

Greatest 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.

Page 28: CSIS3600 Systems Analysis and Design

Neat 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 program’s data and logic, and then automatically or interactively alter an existing system.

Page 29: CSIS3600 Systems Analysis and Design

Constraining 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

Page 30: CSIS3600 Systems Analysis and Design

What 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

Page 31: CSIS3600 Systems Analysis and Design

Emerging 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.

Page 32: CSIS3600 Systems Analysis and Design

Tools 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.

Page 33: CSIS3600 Systems Analysis and Design

CASE 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

Page 34: CSIS3600 Systems Analysis and Design

Unified 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

Page 35: CSIS3600 Systems Analysis and Design

UML 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

Page 36: CSIS3600 Systems Analysis and Design

UML Example

Page 37: CSIS3600 Systems Analysis and Design

UML

SYMBOLS

Page 38: CSIS3600 Systems Analysis and Design

Helpful 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/tutorial.htm – Samples are available at http://www.rff.com/samples.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

Page 39: CSIS3600 Systems Analysis and Design

Diagramming 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

Page 40: CSIS3600 Systems Analysis and Design

Poseidon

• Great tool to experiment with

• Community edition (the free one!) automatically generates C++ and HTML code

• Beware of its quirks!

Page 41: CSIS3600 Systems Analysis and Design

Quote 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