6 chap
-
Upload
sujit-karande -
Category
Technology
-
view
665 -
download
5
description
Transcript of 6 chap
Chapter No. 6
CASE
TOOLS 1
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
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
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
• 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
• 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
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
“ ... 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
System Development Items Stored in the CASE Repository
9
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
The Relationship between CASE Tools and the Systems Development Life Cycle
11
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
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
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
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
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
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
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
Cost distribution during SI lifecycle
Methods based on
CASE tools
Traditional“ad hoc”methods
Planning Analysis Design Programming Deployment Maintenance time
cost
19
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
6.2. Types & Names of CASE tools
Project Management Tools
1. Green UML2. ESS-Model3. Gather Space4. MS - Project
21
Executive Support System
22
Analysis tools
1. Meta-Boss2. UML CASE Tools3. DMS Software Reengineering Toolkit
6.2. Types & Names of CASE tools
23
Design tools
1. Magic Draw2. ArchE – Is an Architecture Expert Design
Assignment 3. ER Studio
6.2. Types & Names of CASE tools
24
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