csis3600 systems analysis and design
DESCRIPTION
CSIS3600 Systems Analysis and Design. Class 6 - CASE Tools. CASE Tools. - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: CSIS3600 Systems Analysis and Design](https://reader036.vdocuments.us/reader036/viewer/2022070402/5681394e550346895da0eb47/html5/thumbnails/1.jpg)
CSIS3600 Systems Analysis and Design
Class 6 - CASE Tools
![Page 2: CSIS3600 Systems Analysis and Design](https://reader036.vdocuments.us/reader036/viewer/2022070402/5681394e550346895da0eb47/html5/thumbnails/2.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022070402/5681394e550346895da0eb47/html5/thumbnails/3.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022070402/5681394e550346895da0eb47/html5/thumbnails/4.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022070402/5681394e550346895da0eb47/html5/thumbnails/5.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022070402/5681394e550346895da0eb47/html5/thumbnails/6.jpg)
Sample Lines of Code
![Page 7: CSIS3600 Systems Analysis and Design](https://reader036.vdocuments.us/reader036/viewer/2022070402/5681394e550346895da0eb47/html5/thumbnails/7.jpg)
What about Linux?
![Page 8: CSIS3600 Systems Analysis and Design](https://reader036.vdocuments.us/reader036/viewer/2022070402/5681394e550346895da0eb47/html5/thumbnails/8.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022070402/5681394e550346895da0eb47/html5/thumbnails/9.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022070402/5681394e550346895da0eb47/html5/thumbnails/10.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022070402/5681394e550346895da0eb47/html5/thumbnails/11.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022070402/5681394e550346895da0eb47/html5/thumbnails/12.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022070402/5681394e550346895da0eb47/html5/thumbnails/13.jpg)
Sample Diagramming Tool - DataFlow
![Page 14: CSIS3600 Systems Analysis and Design](https://reader036.vdocuments.us/reader036/viewer/2022070402/5681394e550346895da0eb47/html5/thumbnails/14.jpg)
Sample Diagramming Tool – Entity Relationship
![Page 15: CSIS3600 Systems Analysis and Design](https://reader036.vdocuments.us/reader036/viewer/2022070402/5681394e550346895da0eb47/html5/thumbnails/15.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022070402/5681394e550346895da0eb47/html5/thumbnails/16.jpg)
Sample Form and Report Generator Tool
![Page 17: CSIS3600 Systems Analysis and Design](https://reader036.vdocuments.us/reader036/viewer/2022070402/5681394e550346895da0eb47/html5/thumbnails/17.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022070402/5681394e550346895da0eb47/html5/thumbnails/18.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022070402/5681394e550346895da0eb47/html5/thumbnails/19.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022070402/5681394e550346895da0eb47/html5/thumbnails/20.jpg)
Sample Repository Reports Screen
![Page 21: CSIS3600 Systems Analysis and Design](https://reader036.vdocuments.us/reader036/viewer/2022070402/5681394e550346895da0eb47/html5/thumbnails/21.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022070402/5681394e550346895da0eb47/html5/thumbnails/22.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022070402/5681394e550346895da0eb47/html5/thumbnails/23.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022070402/5681394e550346895da0eb47/html5/thumbnails/24.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022070402/5681394e550346895da0eb47/html5/thumbnails/25.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022070402/5681394e550346895da0eb47/html5/thumbnails/26.jpg)
CASE and the SDLC
![Page 27: CSIS3600 Systems Analysis and Design](https://reader036.vdocuments.us/reader036/viewer/2022070402/5681394e550346895da0eb47/html5/thumbnails/27.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022070402/5681394e550346895da0eb47/html5/thumbnails/28.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022070402/5681394e550346895da0eb47/html5/thumbnails/29.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022070402/5681394e550346895da0eb47/html5/thumbnails/30.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022070402/5681394e550346895da0eb47/html5/thumbnails/31.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022070402/5681394e550346895da0eb47/html5/thumbnails/32.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022070402/5681394e550346895da0eb47/html5/thumbnails/33.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022070402/5681394e550346895da0eb47/html5/thumbnails/34.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022070402/5681394e550346895da0eb47/html5/thumbnails/35.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022070402/5681394e550346895da0eb47/html5/thumbnails/36.jpg)
UML Example
![Page 37: CSIS3600 Systems Analysis and Design](https://reader036.vdocuments.us/reader036/viewer/2022070402/5681394e550346895da0eb47/html5/thumbnails/37.jpg)
UML
SYMBOLS
![Page 38: CSIS3600 Systems Analysis and Design](https://reader036.vdocuments.us/reader036/viewer/2022070402/5681394e550346895da0eb47/html5/thumbnails/38.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022070402/5681394e550346895da0eb47/html5/thumbnails/39.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022070402/5681394e550346895da0eb47/html5/thumbnails/40.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022070402/5681394e550346895da0eb47/html5/thumbnails/41.jpg)
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