Tools of software development
This presentation is the property of its rightful owner.
Sponsored Links
1 / 29

Tools of Software Development PowerPoint PPT Presentation

  • Uploaded on
  • Presentation posted in: General

Tools of Software Development. 2 types of tools used by software engineers: Analytical tools Stepwise refinement Cost-benefit analysis Software metrics CASE tools. CASE (Computer-Aided Software Engineering) Tools. Software that is used to support software process activities

Download Presentation

Tools of Software Development

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript

Tools of software development

Tools of Software Development

  • 2 types of tools used by software engineers:

    • Analytical tools

      • Stepwise refinement

      • Cost-benefit analysis

      • Software metrics

    • CASE tools

Case computer aided software engineering tools

CASE (Computer-Aided Software Engineering) Tools

  • Software that is used to support software process activities

  • Provides software process support by

    • automating some process activities

    • providing information about the software being developed

  • Currently used in every phase/workflow of life cycle

Case tools

CASE Tools

  • Benefits

    • Improve software quality

      • Enforce discipline

      • Help communication between development team members

      • Information is illustrated through diagrams that are typically easier to understand

      • Development information is centralized

Case tools1

CASE Tools

  • Benefits

    • Reduction of time and effort

      • Tasks are much faster to complete and alter

      • Enhance reuse of models or models’ components

      • Can reduce maintenance costs

Case tools2

CASE Tools

  • Problems

    • Limitations in flexibility of documentation

    • Major danger: completeness and syntactic correctness does NOT mean compliance with requirements

    • Costs associated with the use of the tool

      • Purchase price

      • Training

3 categories of case tools

3 Categories of CASE Tools

  • Tools

  • Workbenches

  • Environments

3 categories of case tools1

3 Categories of CASE Tools

  • Tools

    • Support individual process tasks

    • Examples:

      • Checking the consistency of a design

      • Compiling a program

      • Comparing test results

Case tools3

CASE Tools

  • Upper-CASE tools (front-end tools)

    • Assist developer during requirements, analysis, and design workflows or activities

  • Lower-CASE tools (back-end tools)

    • Assist with implementation, testing, and maintenance workflows or activities

  • Integrated CASE tools (I-CASE)

    • provide support for the full life cycle


3 categories of case tools2

3 Categories of CASE Tools

  • Workbenches

    • Collection of tools that together support:

      • Process workflows (requirements, design, etc.)

      • One or two activities where an activity is a related collection of tasks

    • Commercial examples:

      • PowerBuilder

      • Software Through Pictures

      • Software Architect

3 categories of case tools3

3 Categories of CASE Tools

  • Environments

    • Support the complete software process or, at least, a large portion of the software process

    • Normally include several different workbenches which are integrated in some way

Taxonomy of case tools

Taxonomy of CASE Tools

Components of case



















Security and

Version Control

Screen and

Report Generator

Components of CASE

Components of case1

Components of CASE

  • CASE repository

    • Central component of any CASE tool

    • Also known as the information repository or data dictionary

Components of case2

Components of CASE

  • CASE repository

    • Centralized database

    • Allows easy sharing of information between tools and SDLC activities

    • Used to store graphical diagrams and prototype forms and reports during analysis and design workflows

    • Provides wealth of information to project manager and allows control over project

    • Facilitates reusability

Components of case3

Components of CASE

  • CASE repository acts as:

    • Information repository

      • Combines information about organization’s business information and application portfolio

      • Provides automated tools to manage and control access

    • Data dictionary

      • Used to manage and control access to information repository

      • Facilities for recording, storing and processing resources

      • Useful for cross-referencing

Components of case4

Components of CASE

  • Diagramming tools

    • 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

Components of case5

Components of CASE

  • Screen and report generators

    • 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

    • Some tools have templates

Components of case6

Components of CASE

  • Analysis tools

    • Generate reports that help identify possible inconsistencies, redundancies and omissions

    • Generally focus on

      • diagram completeness and consistency

      • data structures and usage

Components of case7

Components of CASE

  • CASE documentation generator tools

    • 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

Case workbenches

CASE workbenches

  • A coherent set of tools that is designed to support related software process activities such as analysis, design or testing.

  • Analysis and design workbenches support system modelling during both requirements engineering and system design.

  • These workbenches may support a specific design method or may provide support for a creating several different types of system model.

An analysis and design workbench

An analysis and design workbench

Analysis workbench components

Analysis workbench components

  • Diagram editors

  • Model analysis and checking tools

  • Repository and associated query language

  • Data dictionary

  • Report definition and generation tools

  • Forms definition tools

  • Import/export translators

  • Code generation tools

Computer aided software engineering

Computer-aided software engineering

  • Computer-aided software engineering (CASE) is software to support software development and evolution processes.

  • Activity automation

    • Graphical editors for system model development;

    • Data dictionary to manage design entities;

    • Graphical UI builder for user interface construction;

    • Debuggers to support program fault finding;

    • Automated translators to generate new versions of a program.

Case technology

Case technology

  • Case technology has led to significant improvements in the software process. However, these are not the order of magnitude improvements that were once predicted

    • Software engineering requires creative thought - this is not readily automated;

    • Software engineering is a team activity and, for large projects, much time is spent in team interactions. CASE technology does not really support these.

Case classification

CASE classification

  • Classification helps us understand the different types of CASE tools and their support for process activities.

  • 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.

Functional tool classification

Functional tool classification

Activity based tool classification

Activity-based tool classification

Case integration

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.

Tools workbenches environments

Tools, workbenches, environments

  • Login