Uploaded by Sofia Iqbal

CASE Tools & Applications L1

advertisement
CASE Tools & Applications
(5718)
Credit Hours: 3(3-0)
Lecture 1
Course Introduction
 CASE tools are the software engineering tools
that permit collaborative software development
and maintenance.
 Almost all the phases of the software
development life cycle are supported by them
such as analysis; design, etc., including umbrella
activities such as project management,
configuration management etc.
 Standard software development
Course Prerequisite: (Software Engineering)
Course Learning Outcomes
 A comprehensive study and use of computer-aided
software development tools for data modeling,
process modeling and UI modeling; evolution and
reuse of software components in domain analysis; and
the creation of large-scale information systems.
 At the end of the course the students will be able to
provide an overview of CASE Tools and their types.
 Use CASE Tools for data modeling, process modeling,
and UI modeling.
 Textbook:
 Principles of CASE Tool Integration by Alan W. Brown,
Oxford University Press, USA; 1stEdition, ISBN-10:
0195094786
Overview
 CASE stands for Computer Aided
Software Engineering.
 It means, development and maintenance of
software projects with help of various
automated software tools.
 CASE is a term covering a whole range of
tools and methods that SUPPORT
SOFTWARE SYSTEM DEVELOPMENT.
CASE Tools
 CASE tools are set of software application programs, which are
used to automate SDLC activities. CASE tools are used by software
project managers, analysts and engineers to develop software
system.
 There are number of CASE tools available to simplify various
stages of Software Development Life Cycle such as Analysis tools,
Design tools, Project management tools, Database Management
tools, Documentation tools are to name a few.
 Use of CASE tools accelerates the development of project to
produce desired result and helps to uncover flaws before moving
ahead with next stage in software development.
CASE Tools
 In other words,
1. Software that is used to support software process activities .
2. Provides software process support by
- automating some process activities
- providing information about the software being developed
Reasons for using CASE tools
 The primary reasons for employing a CASE tool are:
 to extend productivity
 to assist turn out higher quality code at a lower price
CASE environment
 Although individual CASE tools square measure helpful, the true
power of a toolset is often completed only this set of tools square
measure integrated into a typical framework or setting.
 CASE tools square measure characterized by the stage or stages of
package development life cycle that they focus on.
 Since totally different tools covering different stages share
common data, it’s needed that they integrate through some central
repository to possess an even read of data related to the package
development artifacts.
 This central repository is sometimes information lexicon
containing the definition of all composite and elementary data
things.
 Through the central repository, all the CASE tools in a very
CASE setting share common data among themselves.
 Therefore a CASE setting facilities the automation of the stepwise methodologies for package development.
 A schematic illustration of a CASE setting is shown in the next
slide diagram:
Components of CASE Tools
 CASE tools can be broadly divided into the following parts
based on their use at a particular SDLC stage:
 Central Repository
 CASE tools require a central repository, which can serve as a
source of common, integrated and consistent information.
 Central repository is a central place of storage where
product specifications, requirement documents, related
reports and diagrams, other useful information regarding
management is stored.
 Central repository also serves as data dictionary.
 Report Generator
 Used to Create, modify and test prototypes of computer displays and
reports.
 Identify which data items to display or collect for each screen
or report
 Diagramming Tool
Allow you to represent a system and its components visually.
Allows higher level processes to be easily decomposed.
Can examine processes or data models at high or low level.
 Analysis tools
 Generate reports that help identify possible inconsistencies,
redundancies and omissions.
Generally focus on diagram completeness and consistency.
data structures and usage.
 5. Documentation Tool
 Create standard reports based on contents of repository.
Need textual descriptions of needs, solutions, trade-offs,
diagrams of data and processes, prototype forms and
reports, program specifications and user documentation.
 High-quality documentation leads to 80% reduction in
system maintenance effort in comparison to average
quality documentation.
 6. Code Generation Tool
 Create code for the custom feature in object model.
Code Generation Tool helps in:
 Connect to the Repository.
 Select the Object Model.
 Select the custom features to generate code for.
 Define properties for each custom feature.
 Specify the output of the project.
Layers of CASE Tools
Components of CASE Tools
 Upper Case Tools - Upper CASE tools are used in planning,
analysis and design stages of SDLC.
 Lower Case Tools - Lower CASE tools are used in
implementation, testing and maintenance.
 Integrated Case Tools - Integrated CASE tools are helpful in
all the stages of SDLC, from Requirement gathering to Testing
and documentation.
Data Dictionaries
 Data Dictionary is the major component in the
structured analysis model of the system.
 It lists all the data items appearing in DFD.
 A data dictionary in Software Engineering means a file
or a set of files that includes a database’s metadata
(hold records about other objects in the database), like
data ownership, relationships of the data to another
object, and some other data.
 Example a data dictionary entry: GrossPay = regular
pay + overtime pay
 Case Tools is used to maintain data dictionary as it
captures the data items appearing in a DFD
automatically to generate the data dictionary.
Components of Data Dictionary
 n Software Engineering, the data dictionary contains
the following information:
 Name of the item: It can be your choice.
 Aliases: It represents another name.
 Description: Description of what the actual text is
all about.
 Related data items: with other data items.
 Range of values: It will represent all possible
answers.
Features of Data Dictionary
 It helps in designing test cases and designing
the software.
 It is very important for creating an order list
from a subset of the items list.
 It is very important for creating an order list
from a complete items list.
 The data dictionary is also important to find
the specific data item object from the list.
Uses of Data Dictionary
 Used for creating the ordered list of data items
 Used for creating the ordered list of a subset of
the data items
 Used for Designing and testing software in
Software Engineering
 Used for finding data items from a description
in Software Engineering
Importance of Data Dictionary
 It provides developers with standard
terminology for all data.
 It provides developers to use different
terms to refer to the same data.
 It provides definitions for different data
 Query handling is facilitated if a data
dictionary is used in RDMS.
CASE Tools
 The application of a set of tools and methods to a software system
with the desired end result of high-quality, defect-free, and
maintainable software products.
 Purpose of CASE Tools:
 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.
 To get accuracy and increase the speed of the tasks.
CASE Tools USES
1. Increasing costs of software development
due to the extreme intensive labor
required.
2. Avoid simple human errors in software
development.
3. CASE offers an important opportunity to
alleviate the problems of application
development and maintenance.
Advantages of the CASE approach
 It provides better documentation.
 It improves accuracy.
 It provides intangible benefits.
 It reduces lifetime maintenance.
 It is an opportunity to non-programmers.
 It impacts the style of working of the company.
 It reduces the drudgery in software engineer’s work.
 It increases the speed of processing.
 It is easy to program software.
Disadvantages of the CASE approach
 Cost: Using a case tool is very costly. Most firms engaged in
software development on a small scale do not invest in CASE
tools because they think that the benefit of CASE is justifiable
only in the development of large systems.
 Learning Curve: In most cases, programmers’ productivity
may fall in the initial phase of implementation, because users need
time to learn the technology. Many consultants offer training and
on-site services that can be important to accelerate the learning
curve and to the development and use of the CASE tools.
 Tool Mix: It is important to build an appropriate selection tool
mix to urge cost advantage CASE integration and data integration
across all platforms is extremely important.
Download