Docsity
Docsity

Prepare for your exams
Prepare for your exams

Study with the several resources on Docsity


Earn points to download
Earn points to download

Earn points by helping other students or get them with a premium plan


Guidelines and tips
Guidelines and tips

Case tools for engineering, Essays (university) of Software Engineering

Case tools details is fully given in the above books

Typology: Essays (university)

2018/2019

Uploaded on 05/15/2019

Ramgrd
Ramgrd ๐Ÿ‡ฎ๐Ÿ‡ณ

4.7

(3)

2 documents

1 / 48

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
David Garmire 15-413 Software Engineering Fall 1998 1
2
15-413
Lecture Notes on
CASE-Tools: Together/J
David Garmire
Carnegie Mellon University
Slides developed by Geunter Teubner
Technische Universitaet Muenchen
Institut fuer Informatik
23 September 1999
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b
pf1c
pf1d
pf1e
pf1f
pf20
pf21
pf22
pf23
pf24
pf25
pf26
pf27
pf28
pf29
pf2a
pf2b
pf2c
pf2d
pf2e
pf2f
pf30

Partial preview of the text

Download Case tools for engineering and more Essays (university) Software Engineering in PDF only on Docsity!

David Garmire 15-413 Software Engineering Fall 1998 2 15-

Lecture Notes on

CASE-Tools: Together/J

David Garmire

Carnegie Mellon UniversitySlides developed by Geunter Teubner

Technische Universitaet Muenchen Institut fuer Informatik

23 September 1999

David Garmire 15-413 Software Engineering Fall 1998

Outline of the lecture

โ–

What is CASE?

Typical components of CASE tools โ–

Major goals and concepts

Lifecycle support  Roundtrip engineering โ–

Working with Together/J

The windows of Together/J  Creating and modifying class diagrams  Handling complexity with packages  Code and documentation generation

David Garmire 15-413 Software Engineering Fall 1998

Typical components of CASE tools

โ–

Typical functionality

browsing and editing with a graphical user interface  automatic code generation  documentation generation โ–

Project repository

persistent storage of all development documents  integrated version control system  concurrent, distributed modeling โ–

Interface to other tools

software development tools  process and workflow modeling tools  offering a scripting language

David Garmire 15-413 Software Engineering Fall 1998

The goal: Full lifecycle support

โ–

The goal behind CASE is to support all the activities ofsoftware development with a single tool.

Analysis Design Implementation Testing Maintenance

David Garmire 15-413 Software Engineering Fall 1998

Quality of CASE support today

Poor Moderate Good Excellent Activity Requirements definition Formal specification Quality of support (according to Ian Sommerville) Functionoriented design Data modeling Object-oriented design Programming Testing Maintenance Management

David Garmire 15-413 Software Engineering Fall 1998

Level of integration

โ–

not integrated

separate CASE tools exist for different parts of the softwareengineering activities  each tool has its own set of project documents and a uniqueuser interface  the user works with multiple tools โ–

integrated

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

David Garmire 15-413 Software Engineering Fall 1998

Problems and disadvantages of CASE Tools

โ–

Long learning curves

complex functionality  confusing user interfaces โ–

Limited to

one notation  one language โ–

Multi-User support is weak

โ€œmergingโ€ of models is poorly automated โ–

Costs

CASE tools belong to the most expensive tools in SE  CASE tools require high administration effort

David Garmire 15-413 Software Engineering Fall 1998

Impact of CASE technology

โ–

CASE technology has resulted in significantimprovements in quality and productivity.

โ–

However, the scale of these improvements is less thanwas initially predicted by early technology developers

Many project management problems are not amenable toautomation.  CASE systems are still not integrated.  Adopters of CASE technology underestimated the trainingand process adaptation costs.

David Garmire 15-413 Software Engineering Fall 1998

Reverse Engineering

โ– Reverse engineering is therecreation of an analysis ordesign model from existingcode. โ– Typical flow of events  Scan a set of already existingsource code files  Generate the object modelfor these files  Allow now modifications onthis object model public class Staff extends Employee { ....... } public class Professor extends Employee { ....... } Employee Staff Professor

David Garmire 15-413 Software Engineering Fall 1998

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

David Garmire 15-413 Software Engineering Fall 1998

Reverse engineering vs. Reengineering

โ–

Reverse Engineering

means analyzing existing software with the purpose ofunderstanding its design and specification.  may be part of a reengineering project but may also be used torespecify a system for reimplementation. โ–

Reengineering

means restructuring or rewriting parts or all of a legacysystem without changing its functionality.  involves adding effort to make it easier to maintain. Thesystem may be restructured and redocumented.

David Garmire 15-413 Software Engineering Fall 1998

David Garmire 15-413 Software Engineering Fall 1998

Working with Together/J (continued)

โ–

Together/J supports

class diagrams  sequence diagrams  collaboration diagrams  use case diagrams  state transition diagrams โ–

Diagrams can be modified in two ways:

Graphically: by drawing lines (associations, ...), rectangles(classes, packages, ...) in the diagram pane.  Menu-based: by selecting an entity in the diagram pane andusing the options in the inspector pane to change itsproperties.

David Garmire 15-413 Software Engineering Fall 1998

Model management in 15-

โ–

Many models will be created during 15-

โ–

Together/J doesn

t have a configuration management

system

A model management strategy and has to be defined forPAID to avoid conflicts. This is to be done by thearchitecture team and includes the following topics:

which models should be created for PAID  how are the models organized (e.g. by subsystems)  where are the models stored  who is allowed to access different models  selection of a configuration management system