Defects of UML Yang Yichuan. For the Presentation Something you know Instead of lots of new stuff. Cases Instead of Concepts. Methodology instead of the.

Slides:



Advertisements
Similar presentations
Semantics Static semantics Dynamic semantics attribute grammars
Advertisements

Stereotypes Stereotypes provide the capability to create a new kind of modeling element. –They can be used to classify or mark modeling elements. –A type.
Object-Oriented Analysis and Design
Lecturer: Sebastian Coope Ashton Building, Room G.18 COMP 201 web-page: Lecture.
Department of Informatics, UC Irvine SDCL Collaboration Laboratory Software Design and sdcl.ics.uci.edu 1 Informatics 43 Introduction to Software Engineering.
Introduction To System Analysis and Design
System Concepts for Process Modeling  Process Concepts  Process Logic  Decomposition diagrams and data flow diagrams will prove very effective tools.
L4-1-S1 UML Overview © M.E. Fayad SJSU -- CmpE Software Architectures Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I.
Capturing the requirements
Institute For Software Integrated Systems Vanderbilt University Applications of Model Integrated Computing to The Synchronous Language Signal Ethan Jackson.
UML Sequence Diagrams Eileen Kraemer CSE 335 Michigan State University.
UML Sequence Diagrams Michael L. Collard, Ph.D. Department of Computer Science Kent State University.
10 December, 2013 Katrin Heinze, Bundesbank CEN/WS XBRL CWA1: DPM Meta model CWA1Page 1.
MS Access: Database Concepts Instructor: Vicki Weidler.
Basic Concepts The Unified Modeling Language (UML) SYSC System Analysis and Design.
Introduction To System Analysis and design
Timed UML State Machines Ognyana Hristova Tutor: Priv.-Doz. Dr. Thomas Noll June, 2007.
Workshop on Integrated Application of Formal Languages, Geneva J.Fischer Mappings, Use of MOF for Language Families Joachim Fischer Workshop on.
SOFTWARE ENGINEERING BIT-8 APRIL, 16,2008 Introduction to UML.
Introduction to MDA (Model Driven Architecture) CYT.
Assessing the Suitability of UML for Modeling Software Architectures Nenad Medvidovic Computer Science Department University of Southern California Los.
Introduction To System Analysis and Design
Low-Level Detailed Design SAD (Soft Arch Design) Mid-level Detailed Design Low-Level Detailed Design Design Finalization Design Document.
Verification of behavioural elements of UML models using B Truong, Ninh-Thuan and Souquieres, Jeanine In Proceedings of the 2005 ACM Symposium on.
The Unified Modeling Language Part II Omar Meqdadi SE 2730 Lecture 9 Department of Computer Science and Software Engineering University of Wisconsin-Platteville.
Automata Based Method for Domain Specific Languages Definition Ulyana Tikhonova PhD student at St. Petersburg State Politechnical University, supervised.
Week III  Recap from Last Week Review Classes Review Domain Model for EU-Bid & EU-Lease Aggregation Example (Reservation) Attribute Properties.
1 Class Diagrams. 2 Overview Class diagrams are the most commonly used diagrams in UML. Class diagrams are for visualizing, specifying and documenting.
Ch- 8. Class Diagrams Class diagrams are the most common diagram found in modeling object- oriented systems. Class diagrams are important not only for.
Slide 1 Systems Analysis and Design With UML 2.0 An Object-Oriented Approach, Second Edition Chapter 2: Introduction to Object-Oriented Systems Analysis.
Chapter 5 System Modeling. What is System modeling? System modeling is the process of developing abstract models of a system, with each model presenting.
Winter 2007SEG2101 Chapter 31 Chapter 3 Requirements Specifications.
Class Diagrams. Terms and Concepts A class diagram is a diagram that shows a set of classes, interfaces, and collaborations and their relationships.
Object Oriented Programming and Data Abstraction Earl Huff Rowan University.
Diagrams. Typically, we view the static parts of a system using one of the four following diagrams. 1. Class diagram 2. Object diagram 3. Component diagram.
WELCOME TO OUR PRESENTATION UNIFIED MODELING LANGUAGE (UML)
ER Diagrams ● Many different notations are available ● From wikipedia:wikipedia: Entity-relationship modelwikipedia: Entity-relationship model ● How do.
CompSci 280 S Introduction to Software Development
Analysis Classes Unit 5.
Tools Of Structured Analysis
CHAPTER
UML Diagrams By Daniel Damaris Novarianto S..
Roberta Roth, Alan Dennis, and Barbara Haley Wixom
Definition CASE tools are software systems that are intended to provide automated support for routine activities in the software process such as editing.
Course Outcomes of Object Oriented Modeling Design (17630,C604)
SysML v2 Formalism: Requirements & Benefits
Computer Aided Software Engineering (CASE)
Object-Oriented Database Management System (ODBMS)
Introduction to Unified Modeling Language (UML)
Graph Coverage for Specifications CS 4501 / 6501 Software Testing
Systems Analysis and Design With UML 2
Distributed web based systems
OO Domain Modeling With UML Class Diagrams and CRC Cards
UML Diagrams Jung Woo.
Databases.
Software Architecture & Design Pattern
Introduction to UML.
2. An overview of SDMX (What is SDMX? Part I)
Appendix A Object-Oriented Analysis and Design
BPMN - Business Process Modeling Notations
Analysis models and design models
Class Diagrams.
Metadata Framework as the basis for Metadata-driven Architecture
An Introduction to Software Architecture
Graph Coverage for Specifications CS 4501 / 6501 Software Testing
Appendix A Object-Oriented Analysis and Design
Appendix A Object-Oriented Analysis and Design
Lecture 10 Structuring System Requirements: Conceptual Data Modeling
Software Architecture & Design
Presentation transcript:

Defects of UML Yang Yichuan

For the Presentation Something you know Instead of lots of new stuff. Cases Instead of Concepts. Methodology instead of the case itself.

UML Abstract syntax: give key concepts of UML, consists of a class diagrams and natural language discriptions. Well-Formedness rules: construction rules. (OCL language). Semantics: Interpretation of the concepts and rules. (mainly are natural languages)

First type: Specification Some characteristics are specified in UML specification but not prescribed how to denote or interpret

A Case… A client-server system : The server-side provide an specific QOS level based on the number of clients. => a lot of SDs for complete behavior description.

Sequence Diagram Built at two different levels of abstraction: (1). Classifier layer (2). Instance layer Multiplicity attribute: specification of the range of allowable cardinalities that a set may assume. (Frequently used in class diagram).

Solution MSC: Message Sequence Charts. Inline expression: simultaneous, conditional, iterative, message exchanging.

Sequence Diagram[1]

Multiplicity(1,n)

Multiplicity(1,n…m)

Other factors Some characteristics are not supported but required by the practice. For example: Agent domain modeling

Formalism Problem Rigorous automated analysis or to execute a UML model in order to test its behavior

Methodology 1. Transformational approach in which certain UML diagrams are translated to an existing formalism, such as Z, B, VDM, CSP, Petri-Nets, PVS, etc. 2. Directly provide formal semantic models for the UML models and then provide the combination of the different models for consistency checking.

One Case The sequence diagram again Consistent problem.

Solution in Ref[2] Abstract syntax form, a well-formed sequence diagram corresponds to an ordered hierarchical structure tree. Static semantics of a sequence diagram is to check whether it is consistent with the class diagram declaration and the well-formed tree structure. Dynamic semantics is defined in terms of the state transitions that are carried out by the method invocations in the diagram. When a message is executed, it must be consistent with system state, i.e., object diagram and the state diagrams of its related objects.

Model for Class Diagram Notation of the Class Diagrams: CN: the finite set of classes identified in the diagram. attr(C): the set of {,..., } attributes of C, where Ti stands for the type of attribute ai of class C. AN: the finite set of associations names captured in the diagram and the set Ass of associations that is a subset of CN × AN × CN. method(C) is the set of all methods of class C in the diagram.

Model for the SD msg = (obj : Ci, obj : Cj, action, order) Tree structure : And the execution of messages (i.e. execution of the method represented by the message) in the sequence diagram must follow the traversing rule of first root then son trees from left to right.

Computational Model Combine the class diagram model and the SD model to model a design of a system. A transition or action system.

Four Tuple

Formal semantic (static)

Formal semantic (Dynamic) Some consistency tested: 1.An invocation of a method of an object by another object is not allowed when there is no link between the two objects. [82 percent or more people make mistakes]. 2. An object can create a new object only when it has already existed and the new object must not exist in the current state.

UML tools and practices

Existing tool support CASE (Computer aided software engineering) No support for OCL, no syntax error checking Some research on the tools for the UML

Multiplicities in UML CSD Sequence Diagram, Classifier Sequence Diagram Instance level and Class level, multiplicities in Class level No clear specification, and tool support.

Check UML consistency 1) UML diagrams are stored in relational databases. 2) Rules corresponding to a diagram are used as triggers defined over these schema that stores the diagram. 3) On addition/modification of a diagram, triggers are evaluated and on violation of a rule, corresponding trigger is fired.

1) Function body is missing for function get marks(Integer marks) of the concrete class Student. 2) Association ends are not uniquely labeled for association dened between Student and Student Record. 3) Association end name register for is also used as a feature in association class Registration. 4) Navigation from interface class Student Record is not possible. 5) The class Student has more than one association end navigable from it with the same name. 6) The interface Student Record has variables marks, StudentID. 7) Again the same interface has private members get marks.

Check tool 1) a method to store UML diagrams in relational database. Even though, UML diagrams are being represented in XML for ease in portability and transmission, we have taken a conscious decision of choosing relational database as a repository to make use of facilities available with RDBMS. For example, we have made use of trigger mechanism to check consistency in UML diagrams. 2) a method of translation of OCL statements to SQL statements. 3) the use of active tables to report inconsistency in a UML diagram.

Analysis beyond UML UML is semi-formal at best, what’s the best practice to analysis? What does typical analysis documents contain? Which part of UML are really used? What kind of non-UML documentation is used?

Overview of analysis modules For large information system Functional Requirements: business plan Data, UI, Environment: Interface to other layer Essentials: Technical Architecture Miscellaneous: Reading instructions

17 modules for a typical analysis documentation ONLY 3 use UML at all.

Details of a analysis document Function requirements, only UML user case diagrams are used. Do not use activity diagram for business process: different part of the organization and crossing software boundaries

Details of a analysis document The UML provide methods inside objects, function maybe more suitable for describe requirements. UML does not provide special elements for data types, so plain text could save you time

Details of a analysis document UML only has interaction diagram related to UI design. There are still things like layout can not be addressed of.

Conclusions We have to meet the challenge of managing large semi-formal documents.

Thank you Questions?