CSIS3600 Systems Analysis and Design - PowerPoint PPT Presentation

About This Presentation
Title:

CSIS3600 Systems Analysis and Design

Description:

CSIS3600 Systems Analysis and Design Class 6 - CASE Tools CASE Tools The term Computer Aided Software Engineering (CASE) was born as a result of the need to provide ... – PowerPoint PPT presentation

Number of Views:352
Avg rating:3.0/5.0
Slides: 42
Provided by: TheM188
Category:

less

Transcript and Presenter's Notes

Title: CSIS3600 Systems Analysis and Design


1
CSIS3600 Systems Analysis and Design
  • Class 6 - CASE Tools

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

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

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

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

6
Sample Lines of Code
7
What about Linux?
8
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.

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

10
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

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

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

13
Sample Diagramming Tool - DataFlow
14
Sample Diagramming Tool Entity Relationship
15
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.

16
Sample Form and Report Generator Tool
17
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.

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

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

20
Sample Repository Reports Screen
21
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.

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

23
CASE 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
24
CASE 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
25
CASE 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)
26
CASE and the SDLC
27
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.

28
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
    programs data and logic, and then automatically
    or interactively alter an existing system.

29
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

30
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

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

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

33
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

34
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

35
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

36
UML Example
37
U M L S Y M B O L S
38
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/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

39
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

40
Poseidon
  • Great tool to experiment with
  • Community edition (the free one!) automatically
    generates C and HTML code
  • Beware of its quirks!

41
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
Write a Comment
User Comments (0)
About PowerShow.com