lecture-28 computer-aided software...

25
Lecture-28 Computer-Aided Software Engineering 1

Upload: others

Post on 18-Oct-2020

4 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Lecture-28 Computer-Aided Software Engineeringggn.dronacharya.info/CSEDept/Downloads/QuestionBank/Even/VI se… · Computer-Aided Software Engineering “Automating the process ...”

Lecture-28

Computer-Aided Software Engineering

1

Page 2: Lecture-28 Computer-Aided Software Engineeringggn.dronacharya.info/CSEDept/Downloads/QuestionBank/Even/VI se… · Computer-Aided Software Engineering “Automating the process ...”

Computer-Aided

Software Engineering

“Automating the process ...”

2

Page 3: Lecture-28 Computer-Aided Software Engineeringggn.dronacharya.info/CSEDept/Downloads/QuestionBank/Even/VI se… · Computer-Aided Software Engineering “Automating the process ...”

Lecture Objectives

To understand the role of automation in the software engineering process

To describe the different types of CASE tools

To discuss the importance of integration among the different CASE tools

3

Page 4: Lecture-28 Computer-Aided Software Engineeringggn.dronacharya.info/CSEDept/Downloads/QuestionBank/Even/VI se… · Computer-Aided Software Engineering “Automating the process ...”

What is CASE?

CAD/CAM - Computer-aided design & manufacturing

Automated support for software engineering process

Provides engineer with ability to automate manual activities and improve engineering insight and quality

Can be single tool or complete environment

4

Page 5: Lecture-28 Computer-Aided Software Engineeringggn.dronacharya.info/CSEDept/Downloads/QuestionBank/Even/VI se… · Computer-Aided Software Engineering “Automating the process ...”

Building Blocks for

CASE

5

Environment Architecture

Portability Services

Operating System

Hardware Platform

CASE Tools

Integration Framework

Page 6: Lecture-28 Computer-Aided Software Engineeringggn.dronacharya.info/CSEDept/Downloads/QuestionBank/Even/VI se… · Computer-Aided Software Engineering “Automating the process ...”

Taxonomy of CASE

Tools

Business Systems Planning

Information Engineering Tools

Process Modeling and Management Tools

Project Management

Project Planning Tools

Risk Analysis Tools

Project Management Tools

Requirements Tracing Tools

Metrics and Management Tools 6

Page 7: Lecture-28 Computer-Aided Software Engineeringggn.dronacharya.info/CSEDept/Downloads/QuestionBank/Even/VI se… · Computer-Aided Software Engineering “Automating the process ...”

Taxonomy of CASE

Tools (Continued)

Support Tools Documentation Tools

System Software Tools

Quality Assurance Tools

Database Management Tools

Software Configuration Management Tools

Analysis and Design Tools PRO/SIM Tools

Interface Design and Development Tools

Prototyping Tools

7

Page 8: Lecture-28 Computer-Aided Software Engineeringggn.dronacharya.info/CSEDept/Downloads/QuestionBank/Even/VI se… · Computer-Aided Software Engineering “Automating the process ...”

Taxonomy of CASE

Tools (Continued)

Programming Tools

Integration and Testing Tools

Static Analysis Tools

Dynamic Analysis Tools

Test Management Tools

Client/Server Testing Tools

Maintenance Tools

Reengineering Tools

8

Page 9: Lecture-28 Computer-Aided Software Engineeringggn.dronacharya.info/CSEDept/Downloads/QuestionBank/Even/VI se… · Computer-Aided Software Engineering “Automating the process ...”

Integration Options

Individual Tool (Point Solution)

Data Exchange

Tool Bridges & Partnerships

Consortium & Standards

Single Source

IPSE

9

Page 10: Lecture-28 Computer-Aided Software Engineeringggn.dronacharya.info/CSEDept/Downloads/QuestionBank/Even/VI se… · Computer-Aided Software Engineering “Automating the process ...”

Integration Options

Diagram

10

Point Solution Data Exchange Tool Bridges &

Partnerships

Consortium &

Standards Single Source IPSE

Page 11: Lecture-28 Computer-Aided Software Engineeringggn.dronacharya.info/CSEDept/Downloads/QuestionBank/Even/VI se… · Computer-Aided Software Engineering “Automating the process ...”

Integrated CASE (I-

CASE)

Integration of a variety of tools and information that enables closure of communication among tools, between people and across the software process

Combination of CASE tools in an environment where interface mechanisms are standardised

11

Page 12: Lecture-28 Computer-Aided Software Engineeringggn.dronacharya.info/CSEDept/Downloads/QuestionBank/Even/VI se… · Computer-Aided Software Engineering “Automating the process ...”

I-CASE Features

All tools sharing SE information

Change of one item tracked to other items

Provide version control and configuration management

Direct access to any tool

Automated support for integration of tools & data into standard WBS

12

Page 13: Lecture-28 Computer-Aided Software Engineeringggn.dronacharya.info/CSEDept/Downloads/QuestionBank/Even/VI se… · Computer-Aided Software Engineering “Automating the process ...”

I-CASE Features

(Continued)

Consistent look & feel for each tool

Support communication among engineers

Collect management & technical metrics

13

Page 14: Lecture-28 Computer-Aided Software Engineeringggn.dronacharya.info/CSEDept/Downloads/QuestionBank/Even/VI se… · Computer-Aided Software Engineering “Automating the process ...”

Benefits of I-CASE

Smooth transfer of information from a tool to another and one SE step to the next

Reduction in effort to perform umbrella activities such as SCM, SQA and document production

increase in project control

Improved coordination among staff members in a large software project 14

Page 15: Lecture-28 Computer-Aided Software Engineeringggn.dronacharya.info/CSEDept/Downloads/QuestionBank/Even/VI se… · Computer-Aided Software Engineering “Automating the process ...”

Integration Framework

Diagram

15

User interface layer

- interface tool kit

- presentation protocol

Tools management services

Object management layer

- integration services

- configuration management services

Shared repository layer

- CASE database

- access control functions

CASE

tool Tools layer

Page 16: Lecture-28 Computer-Aided Software Engineeringggn.dronacharya.info/CSEDept/Downloads/QuestionBank/Even/VI se… · Computer-Aided Software Engineering “Automating the process ...”

Integration Framework

User interface layer

incorporates standardised interface toolkit with common presentation protocol

human-computer interface, display objects, guidelines for same look & feel

Tools layer

tools management - control behaviour of tools

coordination of tasks, e.g. multitasking

16

Page 17: Lecture-28 Computer-Aided Software Engineeringggn.dronacharya.info/CSEDept/Downloads/QuestionBank/Even/VI se… · Computer-Aided Software Engineering “Automating the process ...”

Integration Framework

(Continued)

Object management layer

configuration management functions

integration services - standard modules that couple tools with repository

Shared repository layer

CASE database

access control functions - enable object management layer interact with database

17

Page 18: Lecture-28 Computer-Aided Software Engineeringggn.dronacharya.info/CSEDept/Downloads/QuestionBank/Even/VI se… · Computer-Aided Software Engineering “Automating the process ...”

Process Integration

18

CASE

Tools Activities

Results

Users

Process

Interpreter

Process

model

advises calls

support carry out

generate

Page 19: Lecture-28 Computer-Aided Software Engineeringggn.dronacharya.info/CSEDept/Downloads/QuestionBank/Even/VI se… · Computer-Aided Software Engineering “Automating the process ...”

CASE Workbenches

Set of tools which supports a particular phase of the software process e.g. design

Advantage - tools can work together to provide more comprehensive support

Common services can be implemented and called by all the tools

Integration possible through shared files, shared repository, or shared data structures

19

Page 20: Lecture-28 Computer-Aided Software Engineeringggn.dronacharya.info/CSEDept/Downloads/QuestionBank/Even/VI se… · Computer-Aided Software Engineering “Automating the process ...”

Programming

workbenches

Language compiler

Structured editor

Linker

Loader

Cross-referencer

Prettyprinter

Static & Dynamic analyser

Interactive debugger 20

Page 21: Lecture-28 Computer-Aided Software Engineeringggn.dronacharya.info/CSEDept/Downloads/QuestionBank/Even/VI se… · Computer-Aided Software Engineering “Automating the process ...”

Analysis and Design

Workbenches

Diagram editors

Design analysis and checking tools

Repository

Repository query language

Report definition and generation tools

Forms definition

Import/export facilities

Code generators

21

Page 22: Lecture-28 Computer-Aided Software Engineeringggn.dronacharya.info/CSEDept/Downloads/QuestionBank/Even/VI se… · Computer-Aided Software Engineering “Automating the process ...”

Testing workbenches

Test manager

Test data generator

Oracle - generates predicted results

File comparator

Report generator

Dynamic analyser

Simulator

22

Page 23: Lecture-28 Computer-Aided Software Engineeringggn.dronacharya.info/CSEDept/Downloads/QuestionBank/Even/VI se… · Computer-Aided Software Engineering “Automating the process ...”

Examples of CASE Tools

With Class - object-oriented design and code generation

Eiffelbench - object-oriented programming and debugging

Oracle Designer/2000 - integrated CASE environment

23

Page 24: Lecture-28 Computer-Aided Software Engineeringggn.dronacharya.info/CSEDept/Downloads/QuestionBank/Even/VI se… · Computer-Aided Software Engineering “Automating the process ...”

With Class

Design objects - identifying attributes and operations

Specifying relationships

Diagramming for various methodologies

Code generation for various languages

24

Page 25: Lecture-28 Computer-Aided Software Engineeringggn.dronacharya.info/CSEDept/Downloads/QuestionBank/Even/VI se… · Computer-Aided Software Engineering “Automating the process ...”

Eiffelbench

Based on Eiffel language (an object-oriented language)

For development and debugging of program

Consists of tools such as:

Project Tool

System Tool

Class Tool

Feature Tool

Object Tool 25