case tools_se lect15 btech

56
CASE tools • CASE tools stand for Computer Aided Software Engineering tools. • As the name implies they are computer based programs to increase the productivity of analysts

Post on 19-Oct-2014

1.174 views

Category:

Education


0 download

DESCRIPTION

 

TRANSCRIPT

Page 1: CASE tools_Se lect15 btech

CASE tools

• CASE tools stand for Computer Aided Software Engineering tools.

• As the name implies they are computer based programs to increase the productivity of analysts

Page 2: CASE tools_Se lect15 btech

CASE tools

• Computer-aided software engineering (CASE) – Software to support software development and

evolution processes [Sommerville].– Automated software tool used by systems analysts to

develop information systems [Hoffer et al].

Page 3: CASE tools_Se lect15 btech

CASE tools

• They permit effective communication with users as well as other members of the development team.

• They integrate the development done during each phase of a system life cycle and also assist in correctly assessing the effects and cost of changes so that maintenance cost can be estimated.

Page 4: CASE tools_Se lect15 btech

Purpose of CASE is to facilitate a single design philosophy within an organization.

Page 5: CASE tools_Se lect15 btech

The Outlook for CASE• Functionality is increasing• Cost is decreasing• Extend life of existing systems• Reverse Engineering Tools

– Automated tools that read program source code as input and create graphical and textual representations of program design-level information

• Reengineering Tools– Automated software that reads program source code,

analyzes it and automatically or interactively alters an existing system to improve quality and/or performance

Page 6: CASE tools_Se lect15 btech

CASE tools

• CASE Classification [Sommerville]– Functional perspective

• Tools are classified according to their specific function.

– Process perspective

• Tools are classified according to process activities that are supported.

– Integration perspective

• Tools are classified according to their organisation into integrated units.

Page 7: CASE tools_Se lect15 btech

Tool classification

Specification Design Implementation Verificationand

Validation

Re-engineering tools

Testing tools

Debugging tools

Program analysis tools

Language-processingtools

Method support tools

Prototyping tools

Configurationmanagement tools

Change management tools

Documentation tools

Editing tools

Planning tools

Functional perspective

Process perspective

Page 8: CASE tools_Se lect15 btech

CASE integration• Tools

– Support individual process tasks such as design consistency checking, text editing, etc.

• Workbenches– Support a process

phase such as specification or design, Normally include a number of integrated tools.

• Environments– Support all or a

substantial part of an entire software process. Normally include several integrated workbenches.

Single-methodworkbenches

General-purposeworkbenches

Multi-methodworkbenches

Language-specificworkbenches

Programming TestingAnalysis and

design

Integratedenvironments

Process-centredenvironments

Filecomparators

CompilersEditors

EnvironmentsWorkbenchesTools

CASEtechnology

Page 9: CASE tools_Se lect15 btech

Taxonomy of CASE Tools

Page 10: CASE tools_Se lect15 btech

Components of CASE

• Upper CASE– CASE tools designed to support the information

planning and the project identification and selection, project initiation and planning, analysis and design phases of the SDLC

• Lower CASE– CASE tools designed to support the implementation

and maintenance phases of the SDLC

Page 11: CASE tools_Se lect15 btech

Components of CASE

• Cross life-cycle CASE– CASE tools designed to support activities that occur

across multiple phases of the SDLC

• Integrated CASE (I-CASE)– Automated systems development environment that

provides numerous tools to create diagrams, forms and reports, and code generation facilities, by using the central repository

Page 12: CASE tools_Se lect15 btech
Page 13: CASE tools_Se lect15 btech

Forces For and Against CASE Adoption

• Driving forces:– Short development

time– Improved productivity– Improved system

quality– Improved worker skills– Improved portability– Improved

management

• Resisting forces:– High purchase cost– High training cost– Low organizational

confidence in IS department (time & budget)

– Lack of standards– Perceived threat to job

security

Page 14: CASE tools_Se lect15 btech

Types of Case Tools used

Page 15: CASE tools_Se lect15 btech

Following types of tools are available:

• System requirements specification documentation tool • Data flow diagramming tool • System flow chart generation tool • Data dictionary creation • Formatting and checking structured English process logic • Decision table checking • Screen design for data inputting • Form design for outputs. • E-R diagramming • Data base normalization given the dependency

information

Page 16: CASE tools_Se lect15 btech

When are tools used

Page 17: CASE tools_Se lect15 btech

When are tools used

• Tools are used throughout the system development phase.

Page 18: CASE tools_Se lect15 btech

Building Blocks for CASE

18

Environment Architecture

Portability Services

Operating System

Hardware Platform

CASE Tools

Integration Framework

Page 19: CASE tools_Se lect15 btech

CASE Building Blocks - 1

• CASE tools• Integration framework

– specialized programs allowing CASE tools to communicate with one another

• Portability services– allow CASE tools and their integration framework to

migrate across different operating systems and hardware platforms without significant adaptive maintenance

19

Page 20: CASE tools_Se lect15 btech

CASE Building Blocks - 2

• Operating system– database and object management services

• Hardware platform

• Environmental architecture– hardware and system support

20

Page 21: CASE tools_Se lect15 btech

A Taxonomy of CASE Tools

21

business systems planning

project management

support

analysis and design

integration &testing

re–engineering

prototyping/simulation tools

CASE

Database

programming

framework

Page 22: CASE tools_Se lect15 btech

CASE Tool Taxonomy - 1

• Business process engineering tools– represent business data objects, their relationships, and

flow of the data objects between company business areas

• Process modeling and management tools– represent key elements of processes and provide links to

other tools that provide support to defined process activities

• Project planning tools– used for cost and effort estimation, and project scheduling

22

Page 23: CASE tools_Se lect15 btech

CASE Tool Taxonomy - 2

• Risk analysis tools– help project managers build risk tables by providing

detailed guidance in the identification and analysis of risks

• Requirements tracing tools– provide systematic database-like approach to tracking

requirement status beginning with specification

23

Page 24: CASE tools_Se lect15 btech

CASE Tool Taxonomy - 3

• Metrics and management tools– management oriented tools capture project specific

metrics that provide an overall indication of productivity or quality, technically oriented metrics determine metrics that provide greater insight into the quality of design or code

• Documentation tools– provide opportunities for improved productivity by

reducing the amount of time needed to produce work products

24

Page 25: CASE tools_Se lect15 btech

CASE Tool Taxonomy - 4

• System software tools– network system software, object management services,

distributed component support, and communications software

• Quality assurance tools– metrics tools that audit source code to determine

compliance with language standards or tools that extract metrics to project the quality of software being built

25

Page 26: CASE tools_Se lect15 btech

CASE Tool Taxonomy - 5

• Database management tools– RDMS and OODMS serve as the foundation for the

establishment of the CASE repository

• Software configuration management tools– uses the CASE repository to assist with all SCM tasks

(identification, version control, change control, auditing, status accounting)

• Analysis and design tools– enable the software engineer to create analysis and

design models of the system to be built, perform consistency checking between models

26

Page 27: CASE tools_Se lect15 btech

CASE Tool Taxonomy - 6

• PRO/SIM tools– prototyping and simulation tools provide software

engineers with ability to predict the behavior of real-time systems before they are built and the creation of interface mockups for customer review

• Interface design and development tools– toolkits of interface components, often part environment

with a GUI to allow rapid prototyping of user interface designs

27

Page 28: CASE tools_Se lect15 btech

CASE Tool Taxonomy - 7

• Prototyping tools– enable rapid definition of screen layouts, data

design, and report generation

• Programming tools– compilers, editors, debuggers, OO programming

environments, fourth generation languages, graphical programming environments, applications generators, and database query generators

• Web development tools– assist with the generation of web page text,

graphics, forms, scripts, applets, etc.28

Page 29: CASE tools_Se lect15 btech

CASE Tool Taxonomy - 8

• Integration and testing tools– Data acquisition

• get data for testing

– static measurement• analyze source code without using test cases

– dynamic measurement• analyze source code during execution

– Simulation• simulate function of hardware and other externals)

– test management– cross-functional tools

29

Page 30: CASE tools_Se lect15 btech

CASE Tool Taxonomy - 9

• Static analysis tools– code-based testing tools, specialized testing

languages, requirements-based testing tools

• Dynamic analysis tools– intrusive tools modify source code by inserting

probes to check path coverage, assertions, or execution flow, non-intrusive tools use a separate hardware processor running in parallel with processor containing the program being tested

30

Page 31: CASE tools_Se lect15 btech

CASE Tool Taxonomy - 10

• Test management tools– coordinate regression testing, compare actual

and expected output, conduct batch testing, and serve as generic test drivers

• Client/server testing tools– exercise the GUI and network communications

requirements for the client and server

31

Page 32: CASE tools_Se lect15 btech

CASE Tool Taxonomy - 11

• Reengineering tools– reverse engineering to specification tools

• generate analysis and design models from source code, where used lists, and other design information

– code restructuring and analysis tools• analyze program syntax, generate control flow

graph, and automatically generates a structured program

– on-line system reengineering tools• used to modify on-line DBMS

32

Page 33: CASE tools_Se lect15 btech

Types of CASE TOOLS

Page 34: CASE tools_Se lect15 btech

SYSTEM FLOWCHART AND ER-DIAGRAM GENERATION TOOL

• Name of the tool: SMARTDRAW

• URL: http://www.smartdraw.com.

• Requirements to use the tool: PC running Windows 95, 98 or NT. The latest versions of Internet Explorer or Netscape Navigator, and about 20MB of free space.

Page 35: CASE tools_Se lect15 btech

SMARTDRAW

• What the tool does: Smartdraw is a perfect suite for drawing all kinds of diagrams and charts: Flowcharts, Organizational charts, Gantt charts, Network diagrams, ER-diagrams etc.

Page 36: CASE tools_Se lect15 btech

DATA FLOW DIAGRAM TOOL

• Name of the tool: IBMS/DFD

• URL: http://viu.eng.rpi.edu

• Requirements to use the tool: The following installation instructions assume that the user uses a PC running Windows 95, 98 or NT. Additionally, the instructions assume the use of the latest versions of Internet Explorer or Netscape Navigator.

Page 37: CASE tools_Se lect15 btech

Name of the tool: IBMS/DFD

• What the tool does: The tool helps the users draw a standard data flow diagram (a

• process-oriented model of information systems) for systems analysis.

Page 38: CASE tools_Se lect15 btech

TOOL TO CONVERT DECISION TABLE TO STRUCTURED ENGLISH

• Name of the tool: COPE

• URL: This is a free tool and should be worked online at

• http://www.cs.adelaide.edeu.au/users/dwyer/examples.html

• What the tool does: Cope is a program that converts decision tables to Cobol source statements

Page 39: CASE tools_Se lect15 btech

IV. SYSTEM REQUIREMENTS SPECIFICATION DOCUMENTATION TOOL

• Name of the tool: ARM

• URL: The tool can be downloaded without cost at

• http://sw-assurance.gsfc.nasa.gov/disciplines/quality/index.php

Page 40: CASE tools_Se lect15 btech

ARM

• What the tool does: ARM or Automated Requirement Measurement tool aids in writing the System Requirements Specifications right.

• The user writes the SRS in a text file, the ARM tool scans this file that contains the requirement specifications and gives a report file with the same prefix name as the user’s source file and adds an extension of “.arm”.

• This report file contains a category called INCOMPLETE that indicate the words and phrases that are not fully developed.

Page 41: CASE tools_Se lect15 btech

ARM

• Requirements to use the tool : PC running Windows 95, 98 or NT. The latest versions of Internet Explorer or Netscape Navigator, and about 8MB of free space.

Page 42: CASE tools_Se lect15 btech

A TOOL FOR SCREEN DESIGN AND DATA INPUTTING

• Name of the tool: Visual Basic

• URL:http://www.microsoft.com/downloads/details.aspx?FamilyID=bf9a24f9-b5c5-

48f4-8edd-cdf2d29a79d5&displaylang=en

• What the tool does: This tool is used to create the graphical user interface (GUI) to describe the appearance and location of interface elements, you simply add prebuilt objects into place on screen.

Page 43: CASE tools_Se lect15 btech

A TOOL FOR DESIGNING AND MANIPULATING DECISION TABLES

• Name of the tool: Prologa V.5 • URL: http://www.econ.kuleuven.ac.be/prologa • What the tool does: The purpose of the tool is to

allow the decision maker to construct and manipulate (systems of) decision tables.

Page 44: CASE tools_Se lect15 btech

Prologa V.5

• In this construction process, the features available are automatic table contraction, automatic table optimization, (automatic) decomposition and composition of tables, verification and validation of tables and between tables, visual development, and rule based specification.

Page 45: CASE tools_Se lect15 btech

UML Tools for Reverse Engineering

Page 46: CASE tools_Se lect15 btech

Evaluation of Reverse Engineering Capabilities

• Basic reverse engineering steps (in general)– Decompilation of executables to get

the source code– Analysis of software components to

produce the models

• Evaluation of CASE tools capable of source code analysis– Analysis of application Bank,

described in Rational Application Developer V6 Programming Guide, available at ftp://www.redbooks.ibm.com/redbooks/SG246449/6449code.zip

Page 47: CASE tools_Se lect15 btech

Candidate ToolsTool URL License

Operating systems

Supported languages

AmaterasUML Eclipse plugin

1.2.2 http://amateras.source.jp free

Microsoft Windows Linux

Mac OS X Java

ArgoUML 0.24 http://argouml.tigris.org free

Microsoft Windows

Linux Mac OS X

Java

IBM Rational Software

Architect 7.0

http://www-306.ibm.com/software/ awdtools/architect/swarchitect/index.

html comm

Microsoft Windows

Linux Java

JGrasp 1.8.6 http://www.jgrasp.org/ free Microsoft Windows Mac OS X

Java

Microsoft Visio 2007

http://office.microsoft.com/en-us/visio/default.aspx

comm Microsoft Windows

C++ C#

Visual Basic

NetBeans 5.5 http://www.netbeans.org/ free

Microsoft Windows Linux

Mac OS X Solaris

Java

StarUML 5.0 http://staruml.sourceforge.net/en free Microsoft Windows

Java C++ C#

VisualParadigm for UML 6.0

Enterprise Edition

http://www.visual-paradigm.com comm Microsoft Windows

Java C++ Ada PHP

Page 48: CASE tools_Se lect15 btech

Examples of CASE Tools

• With Class - object-oriented design and code generation

• Eiffelbench - object-oriented programming and debugging

• Oracle Designer/2000 - integrated CASE environment

48

Page 49: CASE tools_Se lect15 btech

With Class

• Design objects - identifying attributes and operations

• Specifying relationships

• Diagramming for various methodologies

• Code generation for various languages

49

Page 50: CASE tools_Se lect15 btech

Eiffelbench

• Based on Eiffel language (an object-oriented language)

• For development and debugging of program

• Consists of tools such as:– Project Tool– System Tool– Class Tool– Feature Tool– Object Tool

50

Page 51: CASE tools_Se lect15 btech

Oracle Designer/2000

• Repository Administration

• Process Modeler

• Entity Relationship Diagrammer

• Function Hierarchy Diagrammer

• Dataflow Diagrammer

• System Designer

• Utilities

51

Page 52: CASE tools_Se lect15 btech

CASE Workbenches

• Set of tools which supports a particular phase of the software process e.g. design

• Advantage - tools can work together to provide more comprehensive support

• Common services can be implemented and called by all the tools

• Integration possible through shared files, shared repository, or shared data structures

52

Page 53: CASE tools_Se lect15 btech

An Analysis and Design Workbench

Page 54: CASE tools_Se lect15 btech

Programming workbenches

• Language compiler

• Structured editor

• Linker

• Loader

• Cross-referencer

• Prettyprinter

• Static & Dynamic analyser

• Interactive debugger

54

Page 55: CASE tools_Se lect15 btech

Analysis and Design Workbenches

• Diagram editors

• Design analysis and checking tools

• Repository

• Repository query language

• Report definition and generation tools

• Forms definition

• Import/export facilities

• Code generators

55

Page 56: CASE tools_Se lect15 btech

Testing workbenches

• Test manager

• Test data generator

• Oracle - generates predicted results

• File comparator

• Report generator

• Dynamic analyser

• Simulator

56