Tools of software development
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

I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.

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

  • 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

  • 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

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

  • Tools

  • Workbenches

  • Environments

3 Categories of CASE Tools

  • Tools

    • Support individual process tasks

    • Examples:

      • Checking the consistency of a design

      • Compiling a program

      • Comparing test results

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



















Security and

Version Control

Screen and

Report Generator

Components of CASE

Components of CASE

  • CASE repository

    • Central component of any CASE tool

    • Also known as the information repository or data dictionary

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

  • 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

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 (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 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

  • 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

Activity-based tool classification

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

  • Login