Lecture Notes on CASE-Tools: Together Christoph Vilsmeier - - PowerPoint PPT Presentation

lecture notes on case tools together
SMART_READER_LITE
LIVE PREVIEW

Lecture Notes on CASE-Tools: Together Christoph Vilsmeier - - PowerPoint PPT Presentation

Software Engeneering Lecture Notes on CASE-Tools: Together Christoph Vilsmeier Technische Universitt Mnchen Institut fr Informatik 2 (based on slides from Gnter Teubner) Friday, 10 th Nov. 2000 Christoph Vilsmeier Component based


slide-1
SLIDE 1

Christoph Vilsmeier Component based Software Engineering 1

2

Software Engeneering

Lecture Notes on CASE-Tools: Together

Christoph Vilsmeier Technische Universität München Institut für Informatik

(based on slides from Günter Teubner)

Friday, 10th Nov. 2000

slide-2
SLIDE 2

Christoph Vilsmeier Component based Software Engineering 2

Outline of the lecture

O What is CASE?

The acronym Typical components of CASE tools

O Major goals and concepts

Lifecycle support Roundtrip engineering

O Working with Together

Analysis Design Implementation Documentation

slide-3
SLIDE 3

Christoph Vilsmeier Component based Software Engineering 3

What does CASE mean?

O The acronym CASE stands for

Computer Aided Software Engineering

O CASE is the use of computer-based support in the

software development process

slide-4
SLIDE 4

Christoph Vilsmeier Component based Software Engineering 4

What is a CASE Tool ?

O A CASE tool is a computer-based product aimed at

supporting one or more software engineering activities within a software engineering process.

O In reality, often even tools which support only one

particular part of this process (such as compilers, editors, UI generators) are called CASE tools.

O Our definition is: CASE tools are browsers and editors for

models in graphical and textual form.

slide-5
SLIDE 5

Christoph Vilsmeier Component based Software Engineering 5

What is a CASE Environment ?

O A CASE environment is a collection of CASE tools with

an integration approach that supports the interactions that occur among the tools

O The interaction may be done by

a shared database a repository (checkin, checkout) a message broadcast system

slide-6
SLIDE 6

Christoph Vilsmeier Component based Software Engineering 6

Functionality of CASE tools

O Typical functionality

browsing and editing of models with a graphical user interface automatic code generation documentation generation

O Ideal functionality

consistency checks between diagrams support of the whole software life cycle

slide-7
SLIDE 7

Christoph Vilsmeier Component based Software Engineering 7

Typical components of CASE tools

O Project repository

persistent storage of all development documents

– Mockups, RAD, SDD, ODD, Meeting Protocols, Source Code

integrated version control system concurrent, distributed modeling

O Interface to other tools

software development tools process and workflow modeling tools

  • ffering a scripting language
slide-8
SLIDE 8

Christoph Vilsmeier Component based Software Engineering 8

Analysis Design Implementation Testing Maintenance

slide-9
SLIDE 9

Christoph Vilsmeier Component based Software Engineering 9

Current situation: Quality of support differs

Not all aspects of the software engineering process are supported by today’s CASE-tools !

O Good support for

requirements analysis (class diagrams, use cases, etc.) implementation

O Moderate support for

system design testing maintenance

O Poor support for

requirements elicitation

slide-10
SLIDE 10

Christoph Vilsmeier Component based Software Engineering 10

Level of integration

O not integrated

separate CASE tools exist for different parts of the software engineering activities each tool has its own set of project documents and a unique user interface the user works with multiple tools

O integrated

all tools are working on the same project documents a tool can trigger activities of other tools (e.g. start an formal integrity check after a model has been changed) the tools share one common user interface the user has the feeling of working with one tool

slide-11
SLIDE 11

Christoph Vilsmeier Component based Software Engineering 11

Forward Engineering

O Forward engineering is the

generation of skeleton code

  • ut of the analysis or design

models. The developer still has to write the bodies of the methods.

O Typical flow of events

Create or modify an object model for a system Generate the code for this model Allow external modification

  • f this code

Employee Staff Professor

public class Staff extends Employee { ....... } public class Professor extends Employee { ....... }

slide-12
SLIDE 12

Christoph Vilsmeier Component based Software Engineering 12

Reverse Engineering

O Reverse engineering is the

recreation of an analysis or design model from existing code.

O Typical flow of events

Scan a set of already existing source code files Generate the object model for these files Allow now modifications on this object model

public class Staff extends Employee { ....... } public class Professor extends Employee { ....... }

Employee Staff Professor

slide-13
SLIDE 13

Christoph Vilsmeier Component based Software Engineering 13

Roundtrip Engineering

Reverse Engineering Forward Engineering

Object Model Code

public class Staff extends Employee { ....... } public class Professor extends Employee { ....... }

Employee Staff Professor

public class Slave extends Employee { ....... } public class Master extends Employee { ....... }

Slave Master

slide-14
SLIDE 14

Christoph Vilsmeier Component based Software Engineering 14

slide-15
SLIDE 15

Christoph Vilsmeier Component based Software Engineering 15

Together

O supports UML 1.3 O supports Java, C++, CORBA-IDL O supports cvs integration O supports forward and reverse engineering O supports generation of documentation from the model O written in Java (Windows, Linux, Mac, …) O A free version (whiteboard edition) is available at

www.togethersoft.com

slide-16
SLIDE 16

Christoph Vilsmeier Component based Software Engineering 16

Online Demo