Composite Structures
|
|
- Milton James
- 5 years ago
- Views:
Transcription
1 Composite Structures Marie-Agnès Peraldi-Frati UNSA/I3S/INRIA UML 2 Composition Model Purpose: improve the black diamond composition Supports connections between parts at the same level of decomposition, in addition to the usual part-whole associations. Complex networks of entities can be represented within a single class, inherited to subclasses, with links maintained between objects playing parts at runtime. StructuredClassifiers See: UML 2.0 Superstructure C. Bock, UML 2 Composition model, JOT, vol 3, n 10, 2004, pp Sophia Antipolis
2 UML 1.x Composition UML 1.x composition is familiar to users as the black diamond notation on associations (called composite aggregation, or informally strong composition ). The black diamonds mean the same instance of ENGINE cannot be used simultaneously in an instance of CAR and an instance of BOAT, even though the class ENGINE is shared between the classes CAR and BOAT. The black diamond also means that an instance of ENGINE is destroyed when its containing instance of CAR or BOAT is destroyed. Note: Classes in the physical examples only describe information records of real or imagined physical objects. 3 -Sophia Antipolis Associations at the same level of decomposition While the UML 1.x model is fine for hierarchical decomposition, as in the figure in the previous slide, it has significant limitations when connecting elements at the same level of decomposition. The associations in the figure below are defined globally for all engines and boats, not in the context of individual cars and boats. This leads to erroneous interpretations. 4 -Sophia Antipolis
3 An incorrect instance model The right two wheels of YOURCAR receive power instead of the front two. The E1 instance of ENGINE is contained by MYCAR, but powers wheels contained by YOURCAR. The engine E2 is powering the correct propeller P1, but also powers wheels RIGHTFRONT1 and RIGHTBACK1. 5 -Sophia Antipolis Using generalized classes The REDEFINES property on association ends indicates that the association is restricted to the class at that end, and renamed for that purpose. Generalized class Generalized association This diagram is borrowed from C. Bock s paper. But it is not fully correct. See a better solution later. 6 -Sophia Antipolis
4 And yet, still misinterpretations However, even the above cumbersome class model do not prevent an engine in one car from powering wheels in another. This requires each individual car to have classes for its particular wheels and engine, so the association can be further specialized in each car. This is obviously impractical. 7 -Sophia Antipolis UML 2 Composition (1) New diagram specifically for composite structure Part How it is used (optional) Association being used Car Class=context e: Engine 1 : powers front: Wheel 2 Usage of other classes Name of the usage Usage of association back: Wheel 2 Nb of instances that will be used connector How it is used Class being used Boat e: Engine 1 : powers P: Propellor Sophia Antipolis
5 Connector Connectors represent communication links between instances of classes participating in an internal structure. They can be runtime instances of associations, or they can represent dynamic communication set up at runtime. Note that while associations between classes represent a link between any instances of those classes, a connector represents a link between only the two instances specified at each end of the connector (Definition vs. Usage) 9 Charles André - UNSA Connector end types UML specifies several rules for determinating the types of the elements at each end of a connector: If a connector represents an instance of an association, the types of the instances at either end of the connector must be the same types at either end of the association. If an instance at one end of a connector has required interfaces, the instance at the other end of the connector must provide one of those interfaces. If an instance at one end of a connector has required interfaces and a port is connected to the other end of the connector, the port must provide a required interface. 10 Charles André - UNSA
6 Ports (1) A port is a way to offer functionality from a composite structure without exposing the internal details of how the functionality is realized. Ports are associated with required/provided interfaces. Required interfaces show what the owning classifier may ask of its environment through a given port. Provided interfaces show what functionality a classifier exposes top the environment. Provided interface (type of the port) Required interface p is a port on the Engine class 11 Charles André - UNSA Ports (2) Behavioral port: the classifier owning the port provides the implementation of the functionality. Service port: the functionality is realized by internal elements. 12 Charles André - UNSA
7 Simple Example of Ports B.P. Douglass UML 2.0: Incremental Improvements for Scalability and Architecture, I-Logix Sophia Antipolis More elaborate example of Ports and Interfaces 14 -Sophia Antipolis
8 UML 2 Composition (2) An alternate representation: The SUBSETS property on association ends is another association specialization capability in UML 2. It indicates the association is specialized and renamed at that end, but does not restrict the inherited association to the class at that end (compare to REDEFINES). There is still a problem with redefines 15 -Sophia Antipolis Redefines/Subsets revisited (1) Generalization BoatEngine source powers transmitter 1 1..* Propeller CarEngine source powers transmitter 1 2 FrontWheel Two analogous concepts. Try to factorize! 16 -Sophia Antipolis
9 Redefines/Subsets revisited (2) PowerSource 1 source powers 1..* transmitter PowerTransmitter BoatEngine source powers transmitter 1 1..* Propeller CarEngine source powers transmitter 1 2 FrontWheel Possible instantiation Incorrect 17 -Sophia Antipolis Redefines/Subsets revisited (3) Break the relation 18 -Sophia Antipolis
10 Redefines/Subsets revisited (4) Derived union PowerSource 1 /source {union} /powers 1..* /transmitter {union} PowerTransmitter BoatEngine bsource {subsets source} powers btransmitter {subsets transmitter} 1 1..* Propeller CarEngine csource {subsets source} powers ctransmitter {subsets transmitter} 1 2 FrontWheel 19 -Sophia Antipolis Redefines/Subsets revisited (5) /invehicle {union} 1 Vehicle /invehicle {union} 1 /powersource {union} 1 1..* /powertransmitter {union} PowerSource 1 /source {union} 1..* /transmitter {union} PowerTransmitter Engine Propeller Wheel btransmitter {subsets transmitter} 1..* CarEngine 1 csource {subsets source} BoatEngine powers powers 1 bsource {subsets source} 2 ctransmitter {subsets transmitter} FrontWheel BackWheel 20 -Sophia Antipolis
11 UML 2 Composition (3) Instance model: 21 -Sophia Antipolis UML 2 Composition (4) An alternate representation of an instance model: Class being reused Instance name Association end name 22 -Sophia Antipolis
12 UML 2 Composition (5) Connectors can have multiplicities different from the association ends (parts) they relate. For example, a more general model of cars that covers both front-wheel drive and rear-wheel drive is shown in the Figure below. It uses a new association end w that navigates to all the wheels in a car. The new end has a multiplicity of 4, but the POWERS connector to it has a multiplicity of 2 on that end. This means for each car, two of the four wheels in the car will be powered. 23 -Sophia Antipolis UML 2 Composition (6) Application Window Button 2 Application does not own the Window 24 Charles André - UNSA
13 Inheritance of composite structure Connectors and association ends, including parts, inherit from class to subclass as all features do. Subclasses can specialize inherited parts and connectors, and introduce new ones. 25 -Sophia Antipolis Collaborations (1) One of the primary purpose for composite structures is to document how a particular piece of functionality is implemented within a system. This organization of elements to realize behavior is called a Collaboration. A Collaboration = collection of instances wired together using connectors to show the communication flow. Within a Collaboration, it is helpful to name the instances involved. Typically named based on its role in the collaboration. Representation: a dashed ellipsis with the name of the collaboration written inside. 26 Charles André - UNSA
14 Collaborations (2) Details of a collaboration: Collaboration Uses A collaboration use represents one particular use of a collaboration to explain the relationships between the properties of a classifier. A collaboration use shows how the pattern described by a collaboration is applied in a given context, by binding specific entities from that context to the roles of the collaboration. 27 Charles André - UNSA Component [UML-Glossary] Component = A modular part of a system that encapsulates its contents and whose manifestation is replaceable within its environment. A component defines its behavior in terms of provided and required interfaces. As such, a component serves as a type, whose conformance is defined by these provided and required interfaces (encompassing both their static as well as dynamic semantics). A Component is a kind of Classifier; it can have methods that realize interfaces, have statecharts and use cases. Components are coarse-grained elements that are usually replaced as a whole in the application. Component-based Development approaches use the metaphor of construction through assembly rather than construction via invention. 28 -Sophia Antipolis
15 Subsystems [UML-Glossary] Subsystem = A unit of hierarchical decomposition for large systems. A subsystem is commonly instantiated indirectly. Definitions of subsystems vary widely among domains and methods, and it is expected that domain and method profiles will specialize this construct. A subsystem may be defined to have specification and realization elements. A subsystem is a stereotype of both Package and Classifier. A subsystem is instantiable. A subsystem is used to organize the run-time system consisting of instances. The real work of a subsystem is implemented by the run-time instances contains within the subsystem. It offers up the collaborative behavior of the contained elements. Subsystems have three aspects: operation, specification, and implementation. The operations are the set of services directly offered by the Subsystem. 29 -Sophia Antipolis OCL Object Constraint Language
16 UML Constraint OCL is a formal language that provides a way to specify UML constraints 31 Charles André University of Nice OCL Part of the UML standard Formalspecification language Object-oriented language Query-only language Why? because UML is not enough Where? 32
17 UML is not enough How many persons can own a car? How old must a car owner be? How can we require that a person must at most own one black car? Sources: Andreas Roth Introduction to OCL Praktikum WS0304: Formale Entwicklung objektorientierter Software 33 OCL Basic Types Built-in types that can be used in expressions: Boolean: true/false. Supports logical operators (and, or, xor, not, implies, if-then-else). Integer: 10, -56, etc. Supports the operators *, +, -, /, abs(). Real: 2.23, , etc. Supports the operators *, +, -, /, floor() String: "a string". Supports concat(), size(), substring(). Casting Casting objects from one type to another (related to generalization) oclastype() 34
18 Example 1 A vehicle owner must be at least 18 years old : 35 Class Invariants (1) A vehicle owner must be at least 18 years old : context Vehicle inv: self.owner.age >= 18 36
19 Class Invariants (1) A vehicle owner must be at least 18 years old : context Vehicle inv: self.owner.age >= Class Invariants (1) A vehicle owner must be at least 18 years old : context Vehicle inv: self.owner.age >= 18 38
20 Class Invariants (1) A vehicle owner must be at least 18 years old : context Vehicle inv: self.owner.age >= Class Invariants (1) A vehicle owner must be at least 18 years old : context Vehicle inv: self.owner.age >= 18 What does this mean, instead? inv: self.age >= 18 40
21 Class Invariants (1) A vehicle owner must be at least 18 years old : context Vehicle inv: self.owner.age >= 18 A car owner must be at least 18 years old : context Car inv: self.owner.age >= Class Invariants (2) Nobody has more than 3 vehicles : inv: self.fleet->size() <= 3 42
22 Class Invariants (2) All vehicles of a person are black : inv: self.fleet->forall(v v.color=color::black) 43 Class Invariants (2) All vehicles of a person are black : inv: self.fleet->forall(v v.color=color::black) 44 All cars of a person are black : inv: self.fleet->forall(v v.oclistypeof(car) implies v.color=color::black)
23 Collections (1) Collection = Set Set{1,6,2} * OrderedSet OrderedSet{1,6,2} *{ordered} Bag Bag{1,6,6,2} *{nonunique} Sequence Sequence{1,6,6,2} *{ordered,nonunique} OCL 2.0 supports collections of collections. Explicit flattening if needed 45 select(), reject(): Collections (1) specify a subset of the collection collect(): Specified a derived collection, which contains objects of a different type iterate(): Builds one value by iterating over a collection forall o c: P( o) 46 c->forall( o P(o) )
24 Class Invariants (3) Nobody has more than 3 black vehicules : inv: self.fleet->select(v v.color=color::black) ->size() <=3 47 Class Invariants (3) Nobody has more than 3 black vehicules : inv: self.fleet->select(v v.color=color::black) ->size() <=3 What does it mean? inv: self.fleet->iterate(v; acc: Integer=0 if v.color=color::black then acc+1 else acc endif ) <= 3 48
25 Class Invariants (3) Nobody has more than 3 black vehicules : inv: self.fleet->select(v v.color=color::black) ->size() <=3 What does it mean? inv: self.fleet->iterate(v; acc: Integer=0 if v.color=color::black then acc+1 else acc endif ) <= 3 A person younger than 18 owns no cars : inv: age < 18 implies self.fleet->forall(v not v.ocliskindof(car)) 49 Class Invariants (3) Nobody has more than 3 black vehicules : inv: self.fleet->select(v v.color=color::black) ->size() <=3 What does it mean? inv: self.fleet->iterate(v; acc: Integer=0 if v.color=color::black then acc+1 else acc endif ) <= 3 A person younger than 18 owns no cars : inv: age < 18 implies self.fleet->forall(v not v.ocliskindof(car)) 50 There is a red car : context Car inv: Car.AllInstances()->exists(c c.color=color::red)
26 Pre-/Postconditions (1) If setage(... ) is called with a not negative argument then the argument becomes the new value of the attribute age. ::setage(newage:integer) pre: newage >= 0 post: self.age = newage 51 Pre-/Postconditions (2) Calling birthday() increments the age of a person by 1. ::birthday( ) post: self.age = self.age@pre
27 Pre-/Postconditions (2) Calling birthday() increments the age of a person by 1. ::birthday( ) post: self.age = self.age@pre + 1 Calling getname() delivers the value of the attribute name. ::getname( ): String body: self.name -- or post: result = self.name 53 Query Calling getname() delivers the value of the attribute name. body: self.getname( ) = name 54
28 OCL Basics OCL is used to specify invariants of objects and pre- and post conditions of operations. Makes UML (class) diagrams more precise. OCL expressions use vocabulary of UML class diagram. OCL attribute accesses navigate through UML class diagram. context specifies about which elements we are talking. self indicates the current object. result the return value. 55 OCL Basics (cont d) OCL can talk about collections (here: sets). Operations on collections: > Example operations: select, forall, iterate iterate can simulate all other operations on collections. Queries (= side effect free operations) can be used in OCL expressions. 56
Metamodeling. Janos Sztipanovits ISIS, Vanderbilt University
Metamodeling Janos ISIS, Vanderbilt University janos.sztipanovits@vanderbilt.edusztipanovits@vanderbilt edu Content Overview of Metamodeling Abstract Syntax Metamodeling Concepts Metamodeling languages
More informationUNIT-II Introduction to UML
UNIT-II Introduction to UML - P. P. Mahale UML OVERVIEW OF UML :- We need a Modeling Language! We will use the Unified Modeling Language, UML), Provides a standard for artifacts produced during development
More informationRubby Casallas Grupo de Construcción de Software Uniandes
UML OCL 2.0 Rubby Casallas Grupo de Construcción de Software Uniandes Why OCL? A UML diagram, such as a class diagram, is typically not refined enough to provide all the relevant aspects of a specification.
More information7. Implementation Phase. 7.1 Architecture Diagrams 7.2 OO Languages: Java 7.3 Constraint Languages: OCL
7. Implementation Phase 7.1 Architecture Diagrams 7.2 OO Languages: Java 7.3 Constraint Languages: OCL Architecture Design Models An architecture model (structure model) is a model of a data processing
More informationCOSC 3351 Software Design. An Introduction to UML (I)
COSC 3351 Software Design An Introduction to UML (I) This lecture contains material from: http://wps.prenhall.com/esm_pfleeger_softengtp_2 http://sunset.usc.edu/classes/cs577a_2000/lectures/05/ec-05.ppt
More informationIndex. business modeling syntax 181 business process modeling 57 business rule 40
OCL.book Page 203 Tuesday, July 22, 2003 9:48 PM Index Symbols OclAny, of 167 = OclAny, of 167 @pre 34, 86, 155 ^ 34, 156 ^^ 157 A abstract syntax 93 accumulator 153 action in statechart 56 activity
More informationSLIDES: Introductory Modeling Example Employing UML and OCL [UML: Unified Modeling Language, OCL:Object Constarint Language]
Lecture day 2016-04-07 SLIDES: Introductory Modeling Example Employing UML and OCL [UML: Unified Modeling Language, OCL:Object Constarint Language] - System design in an object-oriented way employing USE
More informationMetamodeling with Metamodels. Using. UML/MOF including OCL
Metamodeling with Metamodels Using UML/MOF including OCL Introducing Metamodels (Wikipedia) A metamodel is a model of a model An instantiation of metamodel gives a model Metamodeling is the process of
More informationArchitectural Models and Styles Component-Based Software Engineering ECE493-Topic 5 Winter 2007 Lecture 12 The Object Constraint Language (Part A)
Component-Based Software Engineering ECE493-Topic 5 Winter 2007 Lecture 12 The Object Constraint Language (Part A) Ladan Tahvildari Assistant Professor Dept. of Elect. & Comp. Eng. University of Waterloo
More informationObject Constraint https://www.lri.fr/~linaye/gl.html lina.ye@centralesupelec.fr Sequence 3, 2017-2018 1/45 Plan 1 2 3 4 2/45 Motivation Why OCL Cannot represent all the relevant aspects of a specification
More informationSpecification-based Testing of Embedded Systems H. Schlingloff, SEFM 2008
SEFM School 2008 Specification-based Testing of Embedded Systems Prof. Dr. Holger Schlingloff Humboldt-Universität zu Berlin and Fraunhofer FIRST, Berlin Lecture 5: OCL, ParTeG Course Outline L1: Introduction
More informationComponent Design. Systems Engineering BSc Course. Budapest University of Technology and Economics Department of Measurement and Information Systems
Component Design Systems Engineering BSc Course Budapest University of Technology and Economics Department of Measurement and Information Systems Traceability Platform-based systems design Verification
More informationUML Fundamental. OutLine. NetFusion Tech. Co., Ltd. Jack Lee. Use-case diagram Class diagram Sequence diagram
UML Fundamental NetFusion Tech. Co., Ltd. Jack Lee 2008/4/7 1 Use-case diagram Class diagram Sequence diagram OutLine Communication diagram State machine Activity diagram 2 1 What is UML? Unified Modeling
More informationUnified Modeling Language 2
Unified Modeling Language 2 Profiles 166 Usage scenarios Metamodel customization for adapting terminology to a specific platform or domain adding (visual) notation adding and specializing semantics adding
More informationObjectives. Explain the purpose and objectives of objectoriented. Develop design class diagrams
Objectives Explain the purpose and objectives of objectoriented design Develop design class diagrams Develop interaction diagrams based on the principles of object responsibility and use case controllers
More informationIntroduction to Software Engineering. 5. Modeling Objects and Classes
Introduction to Software Engineering 5. Modeling Objects and Classes Roadmap > UML Overview > Classes, attributes and operations > UML Lines and Arrows > Parameterized Classes, Interfaces and Utilities
More informationObject Constraint Language 2
Object Constraint Language 2 Martin Nečaský Dept. of Software Engineering Faculty of Mathematics and Physics Charles University in Prague Type System predefined types in OCL standard library generic types
More informationUNIT II. Syllabus. a. An Overview of the UML: Visualizing, Specifying, Constructing, Documenting
UNIT II Syllabus Introduction to UML (08 Hrs, 16 Marks) a. An Overview of the UML: Visualizing, Specifying, Constructing, Documenting b. Background, UML Basics c. Introducing UML 2.0 A Conceptual Model
More informationObject-Oriented and Classical Software Engineering
Slide 16.1 Object-Oriented and Classical Software Engineering Seventh Edition, WCB/McGraw-Hill, 2007 Stephen R. Schach srs@vuse.vanderbilt.edu CHAPTER 16 Slide 16.2 MORE ON UML 1 Chapter Overview Slide
More informationPart II Black-Box Composition Systems 10. Business Components in a Component-Based Development Process
Part II Black-Box Composition Systems 10. Business Components in a Component-Based Development Process 1. Business component model of the Cheesman/ Daniels process 2. Identifying business components Prof.
More informationBasic Structural Modeling. Copyright Joey Paquet,
Basic Structural Modeling Copyright Joey Paquet, 2000 1 Part I Classes Copyright Joey Paquet, 2000 2 Classes Description of a set of objects sharing the same attributes, operations and semantics Abstraction
More informationClass Diagram. Classes consist of. Note that class diagrams contain only classes, not objects.
Class Diagrams UML Class Diagram Classes consist of the class name written in BOLD features attributes and methods user-defined constraints Note that class diagrams contain only classes, not objects. Class
More informationIngegneria del Software Corso di Laurea in Informatica per il Management. Introduction to UML
Ingegneria del Software Corso di Laurea in Informatica per il Management Introduction to UML Davide Rossi Dipartimento di Informatica Università di Bologna Modeling A model is an (abstract) representation
More informationObject-Oriented Software Engineering Practical Software Development using UML and Java
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 5: Modelling with Classes Lecture 5 5.1 What is UML? The Unified Modelling Language is a standard graphical
More informationClass Diagram. Classes consist of. Note that class diagrams contain only classes, not objects.
Class Diagrams UML Class Diagram Classes consist of the class name written in BOLD features attributes and methods user defined constraints Note that class diagrams contain only classes, not objects. Class
More informationSoftware Development Cycle. Unified Modeling Language. Unified Modeling Language. Unified Modeling Language. Unified Modeling Language.
Plan for today Software Design and UML Building a software system Documenting your design using UML Process for software development People management Work management Team management Caveat: These processes
More informationIntroduction to Unified Modelling Language (UML)
IMPORTANT NOTICE TO STUDENTS These slides are NOT to be used as a replacement for student notes. These slides are sometimes vague and incomplete on purpose to spark a class discussion Introduction to Unified
More informationSoftware Engineering
Software Engineering Lecture 15: OCL Peter Thiemann University of Freiburg, Germany 01.07.2013 Peter Thiemann (Univ. Freiburg) Software Engineering 01.07.2013 1 / 28 What is OCL? OCL = Object Constraint
More informationConstraint-enabled Process Modeling. Conrad Bock U.S. National Institute of Standards and Technology November 20, 2007
Constraint-enabled Process Modeling Conrad Bock U.S. National Institute of Standards and Technology November 20, 2007 1 Overview Models and constraints: Example of structure models Extend to process models:
More informationUML 2.0 Profile for ArchWare ADL: Coping with UML 2.0
ArchWare Architecting Evolvable Software www.architecture-ware.org European RTD Project IST-2001-32360 UML 2.0 Profile for ArchWare ADL: Coping with UML 2.0 (Project Deliverable D1.8) Author: Editor: Flavio
More informationWhat is OCL? OCL/Context
What is? Software Engineering Lecture 5: Prof. Dr. Peter Thiemann Universität Freiburg SS 20 = object constraint language standard query language of UML 2 specify expressions and constraints in object-oriented
More informationA - 1. CS 494 Object-Oriented Analysis & Design. UML Class Models. Overview. Class Model Perspectives (cont d) Developing Class Models
CS 494 Object-Oriented Analysis & Design UML Class Models Overview How class models are used? Perspectives Classes: attributes and operations Associations Multiplicity Generalization and Inheritance Aggregation
More informationSoftware Specification 2IX20
Software Specification 2IX20 Julien Schmaltz (slides from A. Serebrenik and M. Mousavi) Lecture 04: Structural specification / Class diagrams UML diagram types Classes: Chapter 11.4 of the UML standard.
More informationUnified Modeling Language (UML) Class Diagram
1 / 10 Unified Modeling Language (UML) Class Diagram Miaoqing Huang University of Arkansas Spring 2010 2 / 10 Outline 1 2 3 / 10 Class Diagram Class diagrams show the static structure of the classes that
More informationOrthographic Software Modeling A Practical Approach to View Based Development
Orthographic Software Modeling A Practical Approach to View Based Development Colin Atkinson University of Mannheim Germany MSI 2009 7 th October 2009 Oldenburg Outline Modern software engineering paradigms
More informationSpecification with OCL
Specification with OCL Jurriaan Hage Slides adapted from Birgit Demuth, TU Dresden e-mail: jur@cs.uu.nl homepage: http://www.cs.uu.nl/people/jur/ Department of Information and Computing Sciences, Universiteit
More informationChapter 8: Enhanced ER Model
Chapter 8: Enhanced ER Model Subclasses, Superclasses, and Inheritance Specialization and Generalization Constraints and Characteristics of Specialization and Generalization Hierarchies Modeling of UNION
More informationLecture 17: (Architecture V)
Lecture 17: (Architecture V) Software System Design and Implementation ITCS/ITIS 6112/8112 091 Fall 2008 Dr. Jamie Payton Department of Computer Science University of North Carolina at Charlotte Oct. 30,
More informationOCL parsing / type checking in the context of GF and KeY. Kristofer Johannisson
OCL parsing / type checking in the context of GF and KeY Kristofer Johannisson 1 I. Introduction 2 Typechecking? context OwnerPIN inv: maxpinsize > 0 and maxtries > 0 and triesremaining >= 0 and triesremaining
More informationArchitecture and the UML
Architecture and the UML Models, Views, and A model is a complete description of a system from a particular perspective Use Case Use Case Sequence Use Case Use Case Use Case State State Class State State
More informationArchitectural Blueprint
IMPORTANT NOTICE TO STUDENTS These slides are NOT to be used as a replacement for student notes. These slides are sometimes vague and incomplete on purpose to spark a class discussion Architectural Blueprint
More informationOMG Modeling Glossary B
OMG Modeling Glossary B This glossary defines the terms that are used to describe the Unified Modeling Language (UML) and the Meta Object Facility (MOF). In addition to UML and MOF specific terminology,
More informationComputer Science for Engineers
Computer Science for Engineers Lecture 5 Object Orientation part 3 Prof. Dr. Dr.-Ing. Jivka Ovtcharova Dipl. Wi.-Ing. Dan Gutu 27 th of November 2009 Aggregation and Composition (1) A special case of an
More informationSoftware Design Patterns. Background 1. Background 2. Jonathan I. Maletic, Ph.D.
Software Design Patterns Jonathan I. Maletic, Ph.D. Department of Computer Science Kent State University J. Maletic 1 Background 1 Search for recurring successful designs emergent designs from practice
More informationOBJECT ORIENTED DESIGN with the Unified Process. Use Case Realization
OBJECT ORIENTED DESIGN with the Unified Process Use Case Realization Objectives Explain the purpose and objectives of objectoriented design Develop design class diagrams Develop detailed sequence diagrams
More informationUML Modeling I. Instructor: Yongjie Zheng September 3, CS 490MT/5555 Software Methods and Tools
UML Modeling I Instructor: Yongjie Zheng September 3, 2015 CS 490MT/5555 Software Methods and Tools Object-Oriented Design: Topics & Skills Rational Unified Process Unified Modeling Languages (UML) Provide
More informationS T R U C T U R A L M O D E L I N G ( M O D E L I N G A S Y S T E M ' S L O G I C A L S T R U C T U R E U S I N G C L A S S E S A N D C L A S S D I A
S T R U C T U R A L M O D E L I N G ( M O D E L I N G A S Y S T E M ' S L O G I C A L S T R U C T U R E U S I N G C L A S S E S A N D C L A S S D I A G R A M S ) WHAT IS CLASS DIAGRAM? A class diagram
More informationPresenter: Dong hyun Park
Presenter: 200412325 Dong hyun Park Design as a life cycle activity bonds the requirements to construction Process of breaking down the system into components, defining interfaces and defining components
More informationChapter 11 Object and Object- Relational Databases
Chapter 11 Object and Object- Relational Databases Copyright 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 11 Outline Overview of Object Database Concepts Object-Relational
More informationBusiness Object Type Library Draft Technical Specification
Draft Technical Specification Page 1 Object Type Library Draft Technical Specification Object Type Library... 1 Draft Technical Specification... 1 Version Information... 2 Executive Summary... 2 ebtwg
More informationSOFTWARE DESIGN COSC 4353 / Dr. Raj Singh
SOFTWARE DESIGN COSC 4353 / 6353 Dr. Raj Singh UML - History 2 The Unified Modeling Language (UML) is a general purpose modeling language designed to provide a standard way to visualize the design of a
More informationRecap : UML artefacts. Black Box Requirements. Functional Specification. System. System. Test. Design. System. System. Development.
L5-1 Recap : UML artefacts Actors Use Cases Use Case Diagrams Storyboards Black Box Requirements System Validation Test Cases System Test Functional Specification System Development Notes Details Signatures
More informationCHAPTER 5 CO:-Sketch component diagram using basic notations 5.1 Component Diagram (4M) Sample Component Diagram 5.2 Deployment Diagram (8M)
CHAPTER 5 CO:-Sketch component diagram using basic notations 5.1 Component Diagram (4M) Sample Component Diagram 5.2 Deployment Diagram (8M) Sample Deployment diagram Component diagrams are different in
More informationFrom OCL to Typed First-order Logic
22c181: Formal Methods in Software Engineering The University of Iowa Spring 2008 From OCL to Typed First-order Logic Copyright 2007-8 Reiner Hähnle and Cesare Tinelli. Notes originally developed by Reiner
More informationModellistica Medica. Maria Grazia Pia, INFN Genova. Scuola di Specializzazione in Fisica Sanitaria Genova Anno Accademico
Modellistica Medica Maria Grazia Pia INFN Genova Scuola di Specializzazione in Fisica Sanitaria Genova Anno Accademico 2002-2003 Lezione 6 UML Introduction Structural diagrams Basics What is? Please explain
More informationObject-Oriented Design
Object-Oriented Design Lecture 14: Design Workflow Department of Computer Engineering Sharif University of Technology 1 UP iterations and workflow Workflows Requirements Analysis Phases Inception Elaboration
More informationObject-Oriented Software Engineering Practical Software Development using UML and Java. Chapter 5: Modelling with Classes
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 5: Modelling with Classes 5.1 What is UML? The Unified Modelling Language is a standard graphical language
More informationObject-Oriented Design
Object-Oriented Design Lecture 15: Refining Analysis Relationships Department of Computer Engineering Sharif University of Technology 1 Refining Analysis Relationships Relationships in analysis are converted
More informationUML 2.0 State Machines
UML 2.0 State Machines Frederic.Mallet@unice.fr Université Nice Sophia Antipolis M1 Formalisms for the functional and temporal analysis With R. de Simone Objectives UML, OMG and MDA Main diagrams in UML
More informationChapter 6: Entity-Relationship Model. The Next Step: Designing DB Schema. Identifying Entities and their Attributes. The E-R Model.
Chapter 6: Entity-Relationship Model The Next Step: Designing DB Schema Our Story So Far: Relational Tables Databases are structured collections of organized data The Relational model is the most common
More informationUNIT I. 3. Write a short notes on process view of 4+1 architecture. 4. Why is object-oriented approach superior to procedural approach?
Department: Information Technology Questions Bank Class: B.E. (I.T) Prof. Bhujbal Dnyaneshwar K. Subject: Object Oriented Modeling & Design dnyanesh.bhujbal11@gmail.com ------------------------------------------------------------------------------------------------------------
More informationToday s Topic. Lecture 5. What is UML? Why Use UML. UML Diagrams. Introduction to UML. What is UML Why use UML? UML Diagrams
Today s Topic Lecture 5 Introduction to UML What is UML Why use UML? UML Static Use case, Class, Object Deployment, Component (Physical ) Dynamic Sequence, Collaboration (Interaction ) Activity, State
More information10.1 Big Objects, Business Objects, and UML Components
II Black-Box Composition Systems 10. Finding Business s in a -Based Development Process Literature J. Cheesman, J. Daniels. UML s. Addison-Wesley. 1. The UML component model 2. Business component model
More informationCompositional Model Based Software Development
Compositional Model Based Software Development Prof. Dr. Bernhard Rumpe http://www.se-rwth.de/ Seite 2 Our Working Groups and Topics Automotive / Robotics Autonomous driving Functional architecture Variability
More informationClasses and Objects. Object Orientated Analysis and Design. Benjamin Kenwright
Classes and Objects Object Orientated Analysis and Design Benjamin Kenwright Outline Review Previous Weeks Object Model, Complexity,.. What do we mean by Classes and Objects? Summary/Discussion Review
More informationLecturer: Sebastian Coope Ashton Building, Room G.18 COMP 201 web-page:
Lecturer: Sebastian Coope Ashton Building, Room G.18 E-mail: coopes@liverpool.ac.uk COMP 201 web-page: http://www.csc.liv.ac.uk/~coopes/comp201 Lecture 19 Essentials of Class Models 1 On Naming classes
More informationCopyright 2016 Ramez Elmasri and Shamkant B. Navathe
Chapter 12 Outline Overview of Object Database Concepts Object-Relational Features Object Database Extensions to SQL ODMG Object Model and the Object Definition Language ODL Object Database Conceptual
More informationSOFTWARE ENGINEERING UML FUNDAMENTALS. Saulius Ragaišis.
SOFTWARE ENGINEERING UML FUNDAMENTALS Saulius Ragaišis saulius.ragaisis@mif.vu.lt Information source Slides are prepared on the basis of Bernd Oestereich, Developing Software with UML: Object- Oriented
More informationIS 0020 Program Design and Software Tools
1 IS 0020 Program Design and Software Tools Unified Modeling Language Lecture 13 April 13, 2005 What is UML? 2 The Unified Modelling Language is a standard notation to model [object oriented] systems.
More informationChapter 2: Entity-Relationship Model
Chapter 2: Entity-Relationship Model! Entity Sets! Relationship Sets! Design Issues! Mapping Constraints! Keys! E-R Diagram! Extended E-R Features! Design of an E-R Database Schema! Reduction of an E-R
More informationThe Next Step: Designing DB Schema. Chapter 6: Entity-Relationship Model. The E-R Model. Identifying Entities and their Attributes.
Chapter 6: Entity-Relationship Model Our Story So Far: Relational Tables Databases are structured collections of organized data The Relational model is the most common data organization model The Relational
More informationUML 2.0 UML 2.0. Scott Uk-Jin Lee. Division of Computer Science, College of Computing Hanyang University ERICA Campus
UML 2.0 Division of Computer Science, College of Computing Hanyang University ERICA Campus Introduction to UML 2.0 UML Unified Modeling Language Visual language for specifying, constructing and documenting
More informationModel-based Transition from Requirements to High-level Software Design
Model-based Transition from Requirements to High-level Software Institut für Computertechnik ICT Institute of Computer Technology Hermann Kaindl Vienna University of Technology, ICT Austria System overview
More informationWhat are the characteristics of Object Oriented programming language?
What are the various elements of OOP? Following are the various elements of OOP:- Class:- A class is a collection of data and the various operations that can be performed on that data. Object- This is
More informationSE 1: Software Requirements Specification and Analysis
SE 1: Software Requirements Specification and Analysis Lecture 9: UML Class (Concept), Object, Communication Diagrams Nancy Day, Davor Svetinović http://www.student.cs.uwaterloo.ca/ cs445/winter2006 uw.cs.cs445
More informationEnterprise Architect. User Guide Series. UML Models. Author: Sparx Systems. Date: 30/06/2017. Version: 1.0 CREATED WITH
Enterprise Architect User Guide Series UML Models Author: Sparx Systems Date: 30/06/2017 Version: 1.0 CREATED WITH Table of Contents UML Models UML Diagrams UML Structural Models Class Diagram Composite
More informationCourse "Softwaretechnik" Book Chapter 2 Modeling with UML
Course "Softwaretechnik" Book Chapter 2 Modeling with UML Lutz Prechelt, Bernd Bruegge, Allen H. Dutoit Freie Universität Berlin, Institut für Informatik http://www.inf.fu-berlin.de/inst/ag-se/ Modeling,
More informationOCL Object Constraint Language
PA103 - Object-oriented Methods for Design of Information Systems OCL Object Constraint Language Radek Ošlejšek Fakulta informatiky MU oslejsek@fi.muni.cz Literature The Object Constraint Language (Second
More informationCredit where Credit is Due. Lecture 4: Fundamentals of Object Technology. Goals for this Lecture. Real-World Objects
Lecture 4: Fundamentals of Object Technology Kenneth M. Anderson Object-Oriented Analysis and Design CSCI 6448 - Spring Semester, 2003 Credit where Credit is Due Some material presented in this lecture
More informationSpecification-based Testing of Embedded Systems H. Schlingloff, SEFM 2008
SEFM School 2008 Specification-based Testing of Embedded Systems Prof. Dr. Holger Schlingloff Humboldt-Universität zu Berlin and Fraunhofer FIRST, Berlin Lecture 4: Mutations, OCL etc. Course Outline L1:
More informationChapter No. 2 Class modeling CO:-Sketch Class,object models using fundamental relationships Contents 2.1 Object and Class Concepts (12M) Objects,
Chapter No. 2 Class modeling CO:-Sketch Class,object models using fundamental relationships Contents 2.1 Object and Class Concepts (12M) Objects, Classes, Class Diagrams Values and Attributes Operations
More informationExperiment no 4 Study of Class Diagram in Rational Rose
Experiment no 4 Study of Class Diagram in Rational Rose Objective-: To studyclass Diagram in Rational Rose. References-: www.developer.com The Unified Modeling Language User Guide by Grady Booch Mastering
More informationIntroduction to Software Engineering. 5. Modeling Objects and Classes
Introduction to Software Engineering 5. Modeling Objects and Classes Roadmap > UML Overview > Classes, attributes and operations > UML Lines and Arrows > Parameterized Classes, Interfaces and Utilities
More informationSoftware Architecture. Lecture 5
Software Architecture Lecture 5 Roadmap of the course What is software architecture? Designing Software Architecture Requirements: quality attributes or qualities How to achieve requirements : tactics
More informationSoftware Engineering Fall 2014
Software Engineering Fall 2014 (CSC 4350/6350) Mon.- Wed. 5:30 pm 7:15 pm ALC : 107 Rao Casturi 11/03/2014 Re Cap - Object Design Close the gap between the application objects and the off-the shelf components.
More informationUNIT-4 Behavioral Diagrams
UNIT-4 Behavioral Diagrams P. P. Mahale Behavioral Diagrams Use Case Diagram high-level behaviors of the system, user goals, external entities: actors Sequence Diagram focus on time ordering of messages
More informationDesign Patterns. An introduction
Design Patterns An introduction Introduction Designing object-oriented software is hard, and designing reusable object-oriented software is even harder. Your design should be specific to the problem at
More informationOutline. A little history. Outline. The Unified Modeling Language Opportunities and Challenges for Formal Methods
Outline The Unified Modeling Language Opportunities and Challenges for Formal Methods An update on UML Language definition Tools A precise OO meta-modeling facility - MMF Stuart Kent University of Kent
More informationObject Oriented Paradigm
Object Oriented Paradigm Ming-Hwa Wang, Ph.D. Department of Computer Engineering Santa Clara University Object Oriented Paradigm/Programming (OOP) similar to Lego, which kids build new toys from assembling
More informationUML: Unified Modeling Language
UML: Unified Modeling Language 1 Modeling Describing a system at a high level of abstraction A model of the system Used for requirements and specification Many notations over time State machines Entity-relationship
More informationLABORATORY 1 REVISION
UTCN Computer Science Department Software Design 2012/2013 LABORATORY 1 REVISION ================================================================== I. UML Revision This section focuses on reviewing the
More informationUniversity of Calgary Department of Electrical and Computer Engineering. SENG : Object Oriented Analysis and Design Behrouz Homayoun Far
University of Calgary Department of Electrical and Computer Engineering SENG 609.23: Object Oriented Analysis and Design Behrouz Homayoun Far Evaluation Test () 20:00 20:30 PM Instructions: 1. This booklet
More informationChapter 4. Capturing the Requirements. 4th Edition. Shari L. Pfleeger Joanne M. Atlee
Chapter 4 Capturing the Requirements Shari L. Pfleeger Joanne M. Atlee 4th Edition It is important to have standard notations for modeling, documenting, and communicating decisions Modeling helps us to
More informationDesign Pattern and Software Architecture: IV. Design Pattern
Design Pattern and Software Architecture: IV. Design Pattern AG Softwaretechnik Raum E 3.165 Tele.. 60-3321 hg@upb.de IV. Design Pattern IV.1 Introduction IV.2 Example: WYSIWYG Editor Lexi IV.3 Creational
More informationOO Analysis and Design with UML 2 and UP
OO Analysis and Design with UML 2 and UP Dr. Jim Arlow, Zuhlke Engineering Limited Clear View Training 2008 v2.5 1 UML principles Clear View Training 2008 v2.5 2 1.2 What is UML? Unified Modelling Language
More informationBCS THE CHARTERED INSTITUTE FOR IT. BCS HIGHER EDUCATION QUALIFICATIONS BCS Level 5 Diploma in IT. Object Oriented Programming
BCS THE CHARTERED INSTITUTE FOR IT BCS HIGHER EDUCATION QUALIFICATIONS BCS Level 5 Diploma in IT Object Oriented Programming Examiner s Report March 2017 A1. a) Explain what is meant by the following terms:
More informationSoftware Architectures
Software Architectures Richard N. Taylor Information and Computer Science University of California, Irvine Irvine, California 92697-3425 taylor@ics.uci.edu http://www.ics.uci.edu/~taylor +1-949-824-6429
More informationÄriprotsesside modelleerimine ja automatiseerimine Loeng 7 Valdkonna mudel
Äriprotsesside modelleerimine ja automatiseerimine Loeng 7 Valdkonna mudel Enn Õunapuu enn.ounapuu@ttu.ee What is a domain model? A domain model captures the most important types of objects in the context
More informationHistory of object-oriented approaches
Prof. Dr. Nizamettin AYDIN naydin@yildiz.edu.tr http://www.yildiz.edu.tr/~naydin Object-Oriented Oriented Systems Analysis and Design with the UML Objectives: Understand the basic characteristics of object-oriented
More informationBON Business Object Notation Based on slides by Prof. Paige
BON Business Object Notation Based on slides by Prof. Paige 17-1 What is it? Notation for modeling object oriented software» Static: specifies classes, class relationships» Dynamic: behavioural properties
More information