lecture notes on case tools together

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


  1. Software Engeneering Lecture Notes on CASE-Tools: Together Christoph Vilsmeier Technische Universität München Institut für Informatik 2 (based on slides from Günter Teubner) Friday, 10 th Nov. 2000 Christoph Vilsmeier Component based Software Engineering 1

  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 Christoph Vilsmeier Component based Software Engineering 2

  3. What does CASE mean? O The acronym CASE stands for � C omputer � A ided � S oftware � E ngineering O CASE is the use of computer-based support in the software development process Christoph Vilsmeier Component based Software Engineering 3

  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 . Christoph Vilsmeier Component based Software Engineering 4

  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 Christoph Vilsmeier Component based Software Engineering 5

  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 Christoph Vilsmeier Component based Software Engineering 6

  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 � offering a scripting language Christoph Vilsmeier Component based Software Engineering 7

  8. Analysis Design Implementation Testing Maintenance Christoph Vilsmeier Component based Software Engineering 8

  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 Christoph Vilsmeier Component based Software Engineering 9

  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 Christoph Vilsmeier Component based Software Engineering 10

  11. Forward Engineering Employee O Forward engineering is the generation of skeleton code out of the analysis or design models. Professor Staff 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 public class Staff extends Employee { model ....... } � Allow external modification public class Professor extends Employee of this code { ....... } Christoph Vilsmeier Component based Software Engineering 11

  12. Reverse Engineering public class Staff extends Employee O Reverse engineering is the { ....... recreation of an analysis or } design model from existing public class Professor extends Employee code. { ....... } O Typical flow of events � Scan a set of already existing source code files � Generate the object model Employee for these files � Allow now modifications on this object model Professor Staff Christoph Vilsmeier Component based Software Engineering 12

  13. Roundtrip Engineering Employee Object Model Reverse Engineering Professor Master Slave Staff public class Staff extends Employee public class Slave extends Employee { { ....... ....... Forward Engineering } } Code public class Professor extends Employee public class Master extends Employee { { ....... ....... } } Christoph Vilsmeier Component based Software Engineering 13

  14. Christoph Vilsmeier Component based Software Engineering 14

  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 Christoph Vilsmeier Component based Software Engineering 15

  16. Online Demo Christoph Vilsmeier Component based Software Engineering 16

Recommend


More recommend