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

Related documents


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 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 David Garmire 15-413 Software Engineering Fall 1998 2 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 5 The goal: Full lifecycle support ❖ The goal behind CASE is to support all the activities of software development with a single tool. Analysis Design Implementation Testing Maintenance David Garmire 15-413 Software Engineering Fall 1998 6 Current situation: Quality of support differs ❖ Not all aspects of the software engineering process are supported by today’s CASE-tools ! ❖ Good support for  requirements analysis (class diagrams, use cases, etc.)  implementation ❖ Moderate support for  system design  testing  maintenance ❖ Poor support for  requirements elicitation David Garmire 15-413 Software Engineering Fall 1998 7 Quality of CASE support today Poor Moderate Good Excellent Activity Requirements definition Formal specification Quality of support (according to Ian Sommerville) Function oriented design Data modeling Object-oriented design Programming Testing Maintenance Management David Garmire 15-413 Software Engineering Fall 1998 10 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 11 Impact of CASE technology ❖ CASE technology has resulted in significant improvements in quality and productivity. ❖ However, the scale of these improvements is less than was initially predicted by early technology developers  Many project management problems are not amenable to automation.  CASE systems are still not integrated.  Adopters of CASE technology underestimated the training and process adaptation costs. David Garmire 15-413 Software Engineering Fall 1998 12 Forward Engineering ❖ Forward engineering is the generation of skeleton code out of the analysis or design models. The developer still has to write the bodies of the methods. ❖ Typical flow of events Create or modify an object model for a system  Generate the code for this model  Allow external modification of this code Employee Staff Professor public class Staff extends Employee { ....... } public class Professor extends Employee { ....... } David Garmire 15-413 Software Engineering Fall 1998 15 Why roundtrip engineering? ❖ Automatic code generation out of the models developed during the design phase is easier, faster and error free than doing it manually. ❖ Developers can use specialized tools for editing and debugging that allow faster and easier editing and shorter turnaround cycles during debugging. ❖ With reverse engineering, existing code can be discussed and modified on a better manageable basis. Reverse engineering also allows developers to create models for old, never modeled systems. David Garmire 15-413 Software Engineering Fall 1998 16 Reverse engineering vs. Reengineering ❖ Reverse Engineering  means analyzing existing software with the purpose of understanding its design and specification.  may be part of a reengineering project but may also be used to respecify a system for reimplementation. ❖ Reengineering  means restructuring or rewriting parts or all of a legacy system without changing its functionality.  involves adding effort to make it easier to maintain. The system may be restructured and redocumented. David Garmire ogether’ 15-413 Software Engineering Fall 1998 7 David Garmire 15-413 Software Engineering Fall 1998 20 Model management in 15-413 ❖ Many models will be created during 15-413 ❖ Together/J doesn’t have a configuration management system ➭ A model management strategy and has to be defined for PAID to avoid conflicts. This is to be done by the architecture 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 David Garmire 15-413 Software Engineering Fall 1998 21 Skills expected from you ❖ Handling the windows of Together/J ❖ Creating and modifying classes ❖ Creating and modifying attributes ❖ Creating and modifying associations ❖ Creating and using packages ❖ Creating and using logical packages ❖ Handling the other diagram types ❖ Creating documentation ❖ Code-Generation David Garmire 15-413 Software Engineering Fall 1998 22 Together/J’s windows ❖ After starting Together/J, the main window appears  it contains all project-wide commands such as “Open ...”, “Save...” and “Exit” as well as the menus for creating documentation or calling scripts. ➭ There is exactly one main window for the project.  When you open a project, a browser window appears  it shows one diagram from the project. The user can modify this diagram in the browser window.  the first browser window always displays the top-level object model of the project. ➭ The user can then open and work with multiple browser windows for different diagrams simultaneously. David Garmire 15-413 Software Engineering Fall 1998 25 Elements of a browser window Navigation paneNavigation pane Inspector paneInspector pane Text paneText pane Diagram paneDiagram pane ToolbarToolbar David Garmire 15-413 Software Engineering Fall 1998 26 Starting or opening a project ❖ Select “New Project ...” or “Open Project ...” from the “File” menu of the main window. ❖ Give your project a name and enter a path for all the files which are produced while you are modeling your system. ❖ When you click on the “Advanced” option, two text areas appear where you can specify additional paths for your class files (sourcepath) and directories with Java classes (classpath) which you want to use in your project. David Garmire 15-413 Software Engineering Fall 1998 27 Starting a new project You can specify alternative source paths and additional classpaths for your project. You can specify alternative source paths and additional classpaths for your project. Every project must have a name and a directory where all project files and the Java sources are stored. Every project must have a name and a directory where all project files and the Java sources are stored. David Garmire 15-413 Software Engineering Fall 1998 30 Adding and editing attributes ❖ To add an attribute  right click on the class in the diagram pane  select “New attribute ...” from the context menu  enter the name of the attribute ❖ To modify an attribute  click on the attribute in the diagram pane  use the inspector pane to change to change to properties of the attribute David Garmire 15-413 Software Engineering Fall 1998 31 Adding and editing attributes Click on the attribute in the diagram pane and use the inspector pane to modify the attribute. Click on the attribute in the diagram pane and use the inspector pane to modify the attribute. David Garmire 15-413 Software Engineering Fall 1998 32 Generalization (Inheritance) ❖ To define a generalization  click on the “Generalization” button in the toolbar  draw a line from the subclass to the superclass. You don’t have to hit certain points of the rectangles; it’s enough when you start the line within the subclass and release the mouse button in the superclass. ❖ To change a generalization  click on one end of the arrow and drag it to the new subclass respective superclass. David Garmire 15-413 Software Engineering Fall 1998 35 verschiedene Systeme Server beim Händler falls vorhanden Zentrale Abfrage registrierter Applikationen, Nutzung Dienste Service Manager holen User Login (=Startapplet) StarManager & Dienste (Druckdienst, Copy & Paste) Start Übergabe Userinfo,Startkonfiguration Authentifizierung & Startkonfiguration User überprüfen, Startkonfiguration Lizenzkontroll Service DataBus Service Tools Anwendungen im StarNetwork Start, Integration in OberflächeStart der Startklassen und Übergabe der Lizenzinfo Nutzung StarBus DataBus Server Bookmark- verwaltungs- service Verwaltung Bookmarks Shopping-Liste(n) Service StarParts StartParts Service StarWorkshop StarWorkshop Service Händlersystem Client Auslesen Auftragsinfo Auslesen Shoppingliste übergabe Werkstatt ID StarIdent StarFeedback StarNavigator Teilerecherche Service (ISBI++) Feedback Service FDK Service manuelles Feedback (vom Benutzer ausgelöst) FDK auslesen über FIN, Daten manuelle Identifikation StarBusNutzung StarBus Start,Übergabe BenutzerNutzung StarBus, Koordination der Datenbeschaffung Navigationsdaten Service Navigations- information auslesen Feedback automatisches Feedback Shoppinglistlesen/schreiben Teilerecherche ISBI-Backend "Voyager" Feedback- Backend FDK-Backend (Fdok) Registration am GUI, Applikationswechsel Nutzung von Diensten, Zugang zu StarBus, Paßwort überprüfen HändlersystemAnstoß bestimmter Aktionen mittels Kommandoschnittstelle Händlersystem "Backend" Konfigurations- frontend in Zentrale Konfigurations- service Konfigurationsdaten auslesen KonfigurationAuslesen der Konfiguration StarBroadcast Empfänger FDK StarBroadcast Sender auch Rückkanal andere Datenquellen StarList Verbindung zu DMS für Shoppinglisten lesen/schreiben bearbeiten Steuerung Updatemanager auf zentralem Server gemeinsame Bibliotheken (auch für Tools) Tool Interfaces Oberflächenelemente Layoutmanager Standardobservables Internationalisierung Model/View/Control Collection-Classes Standardalgorithmen Hot Keys StarNetwork Systemüberblick Konfigurations- frontend für WerkstattService Manager Service Supervisor & Kopierschutz Lizenzschlüssel abrufen Service Supervisor & Kopierschutz Service anfordern StarBroker FDK Auslesen spezieller Fahrzeuginformation Service anfordern Zugriff über Shoppinglist- Interface Zugriff über Feedback- Interface Start, Konfigurationsdaten für Servicelocationen löschen Tracing Service Eingabe Werkstatt ID (JAR File Auswahl) Start durch Browser Zugriff über Navigator- interface Steuerung StarBus-Service Fahrzeug- identifikations- service Daten manuelle Identifikation WWW-Server CGI dynamisch generierte HTML-Seite Bookmarkverwaltung Erzeugen und Test auf Existenz von Vorgängen StarBookmark Teilerecherche 7 ± 2 = 41 ?7 ± 2 = 41 ? Is this UML ?Is this L ? What does this arrow mean ? hat does this arrow ean ? David Garmire 15-413 Software Engineering Fall 1998 36 Creating packages ❖ Packages are created in the same way as classes are:  select the “New Package” button in the toolbar  draw a rectangle in the diagram pane  change the default name for the package to the proper one  use the inspector pane to modify other properties of the package (author, version, etc.) ❖ To organize classes and interfaces into packages simply drag the class/interface into the package. David Garmire 15-413 Software Engineering Fall 1998 37 Mastering complexity with Packages The project consists of nine classes and one interface. Humans contains five classes, Institutions contains four classes. The project consists of nine classes and one interface. Humans contains five classes, Institutions contains four classes. Create a packageCreate a package David Garmire 15-413 Software Engineering Fall 1998 40 Inside a logical package The logical package “WhoTeachesWhom” can be handled like every other class diagram but the classes in this package are only references to those outside in the package “Humans”. The logical package “WhoTeachesWhom” can be handled like every other class diagram but the classes in this package are only references to those outside in the package “Humans”. David Garmire 15-413 Software Engineering Fall 1998 41 Creating and navigating through diagrams ❖ To create a new diagram  right-click on the package name for which you want to create a new diagram  select “New Diagram ...” from the context menu  select the diagram type and give the diagram a name ❖ To switch to another diagram  right-click on the name of the diagram in the navigation pane  select “Browse ...” to open the new diagram in the current window  select “Browse in new window ...” to open a new browser window David Garmire 15-413 Software Engineering Fall 1998 42 Creating and navigating through diagrams The currently selected diagram is the standard view (“Default.vfPackage”) but the package “Institutions” also contains a sequence diagram (“GetCourseList”) and a use case diagram (“HowToContact”). The currently selected diagram is the standard view (“Default.vfPackage”) but the package “Institutions” also contains a sequence diagram (“GetCourseList”) and a use case diagram (“HowToContact”). Dee File Edit View Go Communicator Help loa at Back Foner Reload Home 2st & & Search Netscape Print Security Stop sa&™ Bookmarks A, Location |fle:?7/D WINNT /Profilesteubrer/Desktop/Demo/Diocs/_multiarne: hatral =] Gal what's Related |] C4 Search Engines (4 Wissenschaft C4 Software C4 Firmen. Vereine C4 Reisen (4 Das Leben... CF Der ganze Rest Component Package Diagram Demo Component Package Diagram Docs Component Package Diagram Humans Component Package Diagram Institutions Component Package diagram Institution wayDescription name: String abbreviation: String University Department consists of 3,58 consist of College [1 Institutions Class Institutions.College Class Institutions.Department Mina Tendtinett nnn Tesnttiontt nas Ll ke Class Institutions.College public class Institutions. College extends Institutions.Institution Links * Aggregation nkUnnamed to Institutions. Department Name consist of Client cardinality 1 Supplier cardinality 1..* David Garm | {Document: Done id 45 David Garmire 15-413 Software Engineering Fall 1998 46 Generating code ❖ Together/J automatically creates the files with the Java source code for all classes in a project when you safe the project. By default, the source files are in the same directory hierarchy as the project files are. ❖ The code contains comments with Together/J-specific information. These comments are used when you open the project again. No developer should modify or delete them. David Garmire 15-413 Software Engineering Fall 1998 47 Automatically generated code (example) These labels within comments are used by Together/J to re-create the model. Do not modify or delete them! These labels within comments are used by Together/J to re-create the model. Do not modify or delete them!