6 chap

25
Chapter No. 6 CASE TOOLS 1

description

 

Transcript of 6 chap

Page 1: 6 chap

Chapter No. 6

CASE

TOOLS 1

Page 2: 6 chap

Study Resources

• Reference Books 1. Analysis and design of information systems: James

A. Senn. Page no. 525, 260 2. Software Engineering : Summerville. Page No. 272 3. Modern systems analysis and design: Jeffrey

Hoffer. Page no .19-214. Software Engineering : W S Jawadekar. Page No.

96, 99, 120

2

Page 3: 6 chap

6.1. Introduction to CASE tools

• What are CASE tools

• Is a catchall term to describe virtually any software development tool.

• typically used to refer to software development tools that use diagrammatic representations of software design.

3

Page 4: 6 chap

Computer Aided Software Engineering

• What is a CASE Environment?– CASE is the use of computer-based support in the

software development process.

• What is a CASE Tool?– A CASE tool is a computer-based product aimed at

supporting one or more software engineering activities within a software development process.

– A set of tools to (optimally) assist in each step of software development.

4

Page 5: 6 chap

• Provides software engineers and programmers with software

based tools that help with some combination of:

– specifying requirements

– designing software to meet the requirements

– generate code automatically

– support documentation efforts

• A central repository to input, store, revise, and output work

done on a project.

• Provide ‘leverage’ (Control).

Purpose of CASE Tools

5

Page 6: 6 chap

• Supply basic functionality, do routine tasks automatically– Be able to support editing of code in the particular programming

language, supply refactoring tools.

• Enhance productivity– Generate code pieces automatically.

• Increase software quality

• Intuitive use (easy to use and understand)

• Integration with other tools

– For example, code editor works with code repository.

Purpose of CASE Tools

6

Page 7: 6 chap

To reinforce and support an engineering approach to software development and evolution by providing computer based assistance, which translates to low-defect solutions and enhanced productivity.

A CASE tool is any computer based system that may be used during the software development process.

A Computer Aided Software Engineering (CASE) tool is any computer based tool for software planning, development and evolution. This definition includes all examples of computer-based support for the managerial, administrative, or technical aspects of any part of a software development project.

Purpose of CASE Tools

7

Page 8: 6 chap

“ ... to automate the entire software life cycle process with a set of

integrated tools” -McClure (1989)

“CASE tools are used to facilitate greater standardisation of work

procedures and adherence with design discipline” -Orlikowski (1988)

“CASE tools are important because they speed development, automate

tedious tasks, and enforce standards and procedures.”

Purpose of CASE Tools

8

Page 9: 6 chap

System Development Items Stored in the CASE Repository

9

Page 10: 6 chap

CASE Tool Architecture

CENTRAL REPOSITORY

Local Repository (on a LAN

Server)Security and

Version Control

Tools

Inquiry and Reporting

Tools

Data Sharing Tools

House- keeping Tools

Graphics Tools

Decision Support

Tools

Quality Management

Tools

Design Generators

Code Generators

Document Tools

INPUTS: models,

descriptions and

prototypesOUTPUTS:

reports, problems,

and analyses

imported and

exported knowledgecheck-out/

check in knowledge

Repository Server

CASE Tool Facilities

(on a workstation)

Description Tools

Prototyping Tools

links links

10

Page 11: 6 chap

The Relationship between CASE Tools and the Systems Development Life Cycle

11

Page 12: 6 chap

Why CASE Tools Are Popular

• Support the need to develop and revise documentation.

• Support the need to trace requirements to design, and

requirements to test.

• Reduce systems development time.

• Produce more easily maintained code.

• Support the needs of IS professionals.

• Support the SDLC.

12

Page 13: 6 chap

Capabilities of CASE Tools

• Support graphics with drawing aids.

• Create and maintain data model and process specification

entries.

• Create documentation.

• Verify that rules are followed.

• Consistency checking.

• Create portions of computer programs.

• Allows IS developers to focus on important issues by freeing

them from “mechanics” issues.

13

Page 14: 6 chap

Organizational Benefits

• Improved quality of systems

• Faster development of systems

• Ease and improve testing

• Improve quality and completeness of documentation

• Improves integration of development activities via common methodologies

• Standardize development

• Improve project management

• Promote reusability of modules and documentation

• Simplify maintenance

• Improve software portability

14

Page 15: 6 chap

Scope of CASE Technology• Business Systems Planning

– Provide a ‘meta-model’ from which specific systems are derived. The focus is not on the requirements of specific applications but rather on building a model of the business itself. Business information is modelled as it ‘flows’ through the different organisation units in a company.

• Project Management– Tools which focus on: software project effort and cost estimation project scheduling requirements tracing

• Support– Broad selection of tools applicable over the entire development process such as

Desk top publishing tools.• Integration and Testing

– Tools such as Static Analysis tools, Dynamic Analysers

15

Page 16: 6 chap

Scope of CASE Technology

• Analysis and Design

– Enable a software engineer to create models which describe a system which is being built.

Methodology Tools: Such tools support one or more software development methodology and provide consistency and quality checking on the constructed models.

Prototyping and Simulation Tools: Provide a means for creating functional and behavioural models of a system. Some also provide code generation facilities.

– Interface Design and Development Tools: Toolkits of program components such as buttons and windows and interface prototyping tools.

• Programming

– Tools such as compilers, debuggers, linkers and environments which integrate these tools.

16

Page 17: 6 chap

Scope of CASE Technology• Prototyping

– A broad range of tools which is applicable to many tools in other categories. These tools allow the developer to build scratch systems of differing functionality and performance. This can range from tools which allow mock-ups of users interfaces to be developed to tools which generate source code.

• Maintenance

– These tools aid in the maintenance of software. Reverse engineering tools which try to extract analysis and design

models corresponding to source code. Code restructuring tools. Re-engineering tools which perform a combination of reverse

engineering and restructuring.

• Framework

– Tools that provide an environment which supports the integration of other CASE tools.

17

Page 18: 6 chap

Benefits from CASE tools

Better quality of produced systems

Better communication between developers

Better productivity of developers

Formalized design methodology

Better maintenance of the product

Better project management

Other

% answers5 10 15 20 25 30 35 40

Source:CASE RESEARCH CORP.

18

Page 19: 6 chap

Cost distribution during SI lifecycle

Methods based on

CASE tools

Traditional“ad hoc”methods

Planning Analysis Design Programming Deployment Maintenance time

cost

19

Page 20: 6 chap

Sources of difficulties:

Too high expectations: CASE tools are only tools - they are not able to learn from experience and to think. “A fool with a tool is still a fool.” A CASE tool is able to reduce the cost of the software production at most on 30-50%.

People tend to treat CASE tools as code generators. A CASE tool is used only as a “very high level programming language”, without proper documentation of the analysis and design phases.

No analysis and design methodology.

Bad organization of software development processes, lack of order, lack of a plan, lack of good estimations and measures, lack of monitoring, etc.

Underestimating other costs induced by a CASE tool: education, deployment, organizational changes, improvement of discipline, etc. Effects of CASE tools usually appear after some time.

Why CASE tools are (sometimes) inefficient?

20

Page 21: 6 chap

6.2. Types & Names of CASE tools

Project Management Tools

1. Green UML2. ESS-Model3. Gather Space4. MS - Project

21

Page 22: 6 chap

Executive Support System

22

Page 23: 6 chap

Analysis tools

1. Meta-Boss2. UML CASE Tools3. DMS Software Reengineering Toolkit

6.2. Types & Names of CASE tools

23

Page 24: 6 chap

Design tools

1. Magic Draw2. ArchE – Is an Architecture Expert Design

Assignment 3. ER Studio

6.2. Types & Names of CASE tools

24

Page 25: 6 chap

Conclusion

A CASE tool makes it possible to improve software production processes, but

not in auto-magical way: it requires good project organization, well defined

project goals, and a disciplined methodology

CASE tools are sometimes expensive. There are two kinds of costs:

(1) the cost of software and installation

(2) education and changes in software manufacturing routines.

The ultimate benefit depends on good integration of a CASE tool with the

assumed A&D methodology, project management, software construction

routines and documentation standards.

25