SlideShare a Scribd company logo
1 of 71
Module 3 – Advanced Features: Part I - Structural Diagrams
3 basic building blocks of UML   -  Diagrams Graphical representation of a set of elements. Represented by a connected graph: Vertices are things; Arcs are relationships/behaviors. 5 most common views built from  UML 1.x: 9 diagram types . UML 2.0: 12 diagram types ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Class Diagrams ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Class Diagram Three modeling perspectives for Class Diagram ,[object Object],[object Object],[object Object],The basis for all object modeling All things lead to this Most users of OO methods take an implementation perspective, which is a shame because the other perspectives are often more useful.  --  Martin Fowler ,[object Object],[object Object],[object Object]
Names ,[object Object],[object Object],Customer Account Bank Java::awt::Polygon simple name - start w. upper case path name = package name ::package name::name only the name compartment, ok Attributes short noun - start w. lower case balance: Real = 0 type/class default value <<constructor>>   +addAccount() <<process>>   +setBalance( a : Account) +getBalance(a: Account): Amount … <<query>> isValid( loginID : String): Boolean signature Operations Classes ellipsis for additional  attributes or operations stereotypes to categorize
Responsibilities ,[object Object],Responsibilities -- handles deposits -- reports fraud to managers Account ,[object Object],[object Object],[object Object],[object Object],[object Object],Customer Account Opens account Knows name Knows address Account Manager Knows interest rate Knows balance Handles deposits Reports fraud to  manager
Scope & Visibility ,[object Object],[object Object],[object Object],[object Object],+   addMessage( m : Message ) : Status #   setCheckSum() -   encrypt() header : FrameHeader uniqueID : Long Frame class scope public protected private Instance scope ,[object Object],[object Object],-   getClassName() Public class Private class Protected class Public method Public attribute
Multiplicity consolePort [ 2..* ] : Port NetworkController 1 ControlRod 3 multiplicity singleton public class Singleton {    private static Singleton instance = null; private Singleton() {}     public static Singleton getInstance() {       if (instance == null) {          instance = new Singleton();       }       return instance;    } }  Singleton - instance + getInstance():Singleton consolePort [ 2..* ] : Port NetworkController Using Design Pattern
Relationships ConsoleWindow DialogBox Control Event association dependency generalization PowerManager ChannelIterator Controller EmbeddedAgent <<friend>> generalization  (multiple inheritance) association navigation stereotyped dependency realization Window open() close() SetTopController authorizationLevel startUp() shutDown() Connect() <<interface>> URLStreamHandler openConnection() parseURL() setURL() toExternalForm()
Dependency ,[object Object],AudioClip record(m: Microphone ) start() stop() Microphone name dependency ,[object Object],CourseSchedule addCourse(c : Course) removeCourse(c : Course Course Usually initial class diagrams will not have any significant number of dependencies in the beginning of analysis  but will as more details are identified. Using relationship
Dependency – Among Classes AbstractClass {abstract} attribute concreteOperation() abstractOperation() <<metaclass>> MetaClassName <<interface>> InterfaceName operation() ClassName -simpleAttribute: Type = Default #classAttribute: Type + / derivedAttribute: Type +operation(in arg: Type = Default): ReturnType objectName: ClassName Attribute = value simpleAttribute: Type = Default classAttribute: Type /derivedAttribute: Type ClientClass <<use>> <<instanceOf>> <<instanceOf>> realization generalization
Dependency –Among Classes ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Dependency –Among Use Cases ,[object Object],[object Object],[object Object],Use Case A Use Case B Use Case C <<extend>> <<include>> System Actor <<actor>> Actor Supply Customer Info. Request Catalog <<extend>> <<include>> Order Processing System SalesPerson Order Item Make Payment <<include>> <<include>> The sales person  asks for the catalog Place Order Extension points   Additional requests: after creation of  the order 1 *
Generalization ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Generalization – Along Roles
Generalization –Among Actors SalesPerson Place Order Extension points   Additional requests: after creation of the order 1 * SalesManager Grant Credit 1 * Sales person can do only “Place Order”; Sales manager can do both “Place Order”  and “Grant Credit”
Associations teaches relationship name direction indicator: how to read relation name teacher class role names ,[object Object],[object Object],[object Object],[object Object],[object Object],1..* * ,[object Object],[object Object],navigability {visibility} {/} role name {: interface name} Professor Course
Associations – A Question ,[object Object],[object Object],[object Object],[object Object],File User Approach 1 : Now, would you associate the file access right with File?  Approach 2 : Or, would you associate the file access right with User? homework1:File myPet:File <<instanceOf>> u:User <<instanceOf>> anyoneElse: User
Association generalization is not automatic, but should be explicit in UML Associations – Links ,[object Object],[object Object],Company 1..* * employee employer : Company assign(development) w : Worker link named object anonymous object class association class works for   association name <<instanceOf>> <<instanceOf>> ? Worker +setSalary( s : Salary) +setDept( d : Dept)
Associations – Link Attributes ,[object Object],[object Object],File User access permission File User access permission ,[object Object],AccessRight * 1..* link attribute association class ,[object Object],File User * 1..* access permission AccessRight 1 1 visual tie
Modeling Structural Relationships   The model above is from Rational Rose. How did the composite symbol (  )get loaded versus the aggregation?   Use the Role Detail and select aggregation and then the “by value” radio button. School Instructor Course Department Student * 1..* 1..* 1 has  member * * attends   * 1..*  teaches 1..* 1..* 1..* 1..* 0..1 1 chairperson  assigned to ,[object Object]
Modeling Structural Relationships   Composite is a stronger form of aggregation.  Composite parts live and die with the whole. Composite parts may belong to only one composite. Liver Body Heart Wheel Car Engine Composite Company Department 1..* association multiplicity aggregation part whole ,[object Object],[object Object],Aggregation Part -> whole? Body Liver Heart Can aggregations of objects be cyclic?
WorkDesk jobId : int returnedItem * 0..1 Qualifier ,  cannot access person without knowing the account #  Bank account # Person Square * 0..1 1 1 Association – Qualification Chessboard rank:Rank file:File
Association  – Interface Specifier worker : IEmployee supervisor : IManager * 1 Person Interface Specifier association  Realization ,[object Object],[object Object],[object Object],[object Object],IManager getProject() getSchedule() Person
Modeling a Logical Database ,[object Object],[object Object],[object Object],[object Object],[object Object],1..* School { persistent} name : Name address : String phone : Number addStudent() removeStudent() getStudent() getAllStudents() addDepartment() removeDepartment() getDepartment() getAllDepartments() Student { persistent} name : Name studentId : Number Instructor { persistent} name : Name Department { persistent} name : Name addInstructor() removeInstructor() getInstructor() getAllInstructors() Course { persistent} name : Name courseId : Number 1..* 1..* 1..* 1..* 1..* 1..* * 0..1 0..1 chairperson * * *
Forward/  Reverse   Engineering ,[object Object],[object Object],[object Object],[object Object],[object Object],public abstract class EventHandler { private EventHandler successor; private Integer currentEventId; private String source; EventHandler() {} public void handleRequest() {} } successor EventHandler { Java} currentEventId : Integer source : Strings handleRequest () : void Client { Java} ,[object Object],[object Object]
Object Diagrams ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Instances & Object Diagrams ,[object Object],[object Object],[object Object],[object Object],[object Object],Object Diagrams ,[object Object],[object Object],[object Object],[object Object]
Instances & Objects   - Visual Representation : keyCode : Multimedia :: AudioStream t : Transaction myCustomer r : FrameRenderThread c : Phone  [WaitingForAnswer] named instance instance with current state instance with attribute values active object (with a thicker border; owns a thread or process and can initiate control activity) multiobject orphan instance (type unknown) anonymous instance myCustomer id : SSN = “432-89-1738” active = True agent :
Instances & Objects   - Modeling Concrete Instances ,[object Object],[object Object],current: Transaction primaryAgent  [searching] : Transaction LoanOfficer <<instanceOf>> current := retrieve() Instances & Objects   - Modeling Prototypical Instances ,[object Object],a: CallingAgent c: Connection 1 : create 2: enableConnection 2.1 : startBilling
Instances & Objects   – More Examples client servers 1: aServer := find(criteria) d: Directory 1: sort() list() contents: File d: Directory 1: addElement(f) addFile(f:File) contents: File :Server aServer:Server 2: process(request) c : Company s : Department name = “Sales” uss : Department name = “US Sales” erin : Person name = “Erin” employeeID = 4362 title = “VP of Sales” rd : Department name = “R&D” : ContactInfomation address = “1472 Miller St.” manager call ::= label [guard] [“*”] [return-val-list “:=“] msg-name “(“ arg-list “)” d: Directory 1*: changeMode(readOnly) secureAll() f: File *
Component Diagrams ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Component Diagram ,[object Object],[object Object],[object Object],classes loanOfficer.dll component LoanOfficer LoanPolicy CreditSearch Registrar.exe Course.dll Student.dll Components and their Relationships Mapping of Components into Classes UML1.x – implementation view
Component Diagram ,[object Object],[object Object],[object Object],[object Object],[object Object],UML2.0  – architectural view Big demand, hmm…
Component Diagram – another example (www.cs.tut.fi/tapahtumat/olio2004/richardson.pdf)
Component Diagram – another example (www.cs.tut.fi/tapahtumat/olio2004/richardson.pdf)
Component Diagram – another example (www.cs.tut.fi/tapahtumat/olio2004/richardson.pdf)
Component Diagram ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],UML2.0  – architectural view Component Component lollipop socket Student StudentAdministration StudentSchedule AccessControl Encription Persistence DataAccess security Data[1..*] Incoming signals/calls   Outgoing signals/calls  caller or callee? ,[object Object],[object Object],[object Object]
Component Diagram:   UML 1.x  and UML 2.0 (http://www.agilemodeling.com/artifacts/componentDiagram.htm)
Component Diagram :   UML 1.x and   UML 2.0 (http://www.agilemodeling.com/artifacts/componentDiagram.htm) So, how many different conventions for components in UML2.0?
Building a Component ,[object Object],[object Object],[object Object],[object Object],[object Object]
Component Diagram   – Connector & Another Example  delegation Left delegation: direction of arrowhead indicates  “ provides” delegation assembly connector ,[object Object],[object Object],[object Object],[object Object],Right delegation: direction of arrowhead indicates  “ requests” store So, what levels of abstractions for connections?
Structured Class ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],label /roleName : type connector Any difference? component or class?
[object Object],[object Object],move() resize() display() origin Shape <<type>> Int { values range from -2**31 to +2**31 - 1 } <<signal>> OffHook Process loan <<subsystem>> Customer Service membership_server kernel32.dll class interface data type signal use case node component an asynchronous stimulus communicated between instances Classifiers Generalizable Element, Classifier, Class, Component? move() resize() display() origin Shape IUnknown <<type>> Int { values range from -2**31 to +2**31 - 1 } <<signal>> OffHook Process loan <<subsystem>> Customer Service egb_server kernel32.dll class interface data type signal use case subsystem node component
Structured Class   – Another Example what kind?
Deployment Diagrams ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Deployment Diagram J2EE Server Membership Server IIS + PhP Server Tomcat Server TCP/IP TCP/IP DecNet ,[object Object],[object Object],[object Object]
Structural Diagrams   -  Deployment Diagram ( http://www.agilemodeling.com/artifacts/deploymentDiagram.htm) ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Structural Diagrams - Deployment Diagram ( http://www.agilemodeling.com/artifacts/deploymentDiagram.htm) ,[object Object],[object Object],[object Object]
Composite Structure Diagrams ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Composite Structure Diagrams (http://www.agilemodeling.com/artifacts/compositeStructureDiagram.htm) ,[object Object],Enroll in Seminar Enroll Student prereq: Seminar Enrollment Seminar seats: Integer waitList: Student Course req: Course constrainer desired seminar applicant registration Add to Wait list Determine eligibility Determine Seat availability applicant seminar existing students desired course structured class, structured component, structured use case, structured node, structured interface, … Enroll in Seminar Enroll Student prereq: Seminar Enrollment Seminar seats: Integer waitList: Student Course req: Course constrainer desired seminar applicant registration <<refine>>
Variations  [Rumbaugh – UML 2.0 Reference: p234] Sale buyer: Agent item: Property seller: Agent role name role type role collaboration name Collaboration definition ShiloPurchase: Sale Shilo: Land item Edward: Architect Bala: Analyst buyer seller role name Collaboration use in object diagram collaborating object collaboration name use name
 
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Packages ,[object Object],Business rules Client Sensors::Vision { version = 2.24 } simple names enclosing package name package name path names + OrderForm + TrackingForm - Order Client Client +OrderForm +TrackingForm -Order graphical nesting textual nesting visibility ,[object Object],[object Object],Visibility ,[object Object],[object Object]
Dependency –Among Packages ,[object Object],[object Object],[object Object],packageName packageName subPackageName packageName PackageClass <<import>> <<access>> + OrderForm + TrackingForm - Order Client +OrderRules -GUI:Window Policies <<import>> +Window +Form #EventHandler GUI <<import>> imports exports
Modeling Groups of Elements ,[object Object],[object Object],[object Object],[object Object],utd.administration Tools.db registration db interfaces Cloudscape Oracle Java.awt Use Case package Diagram ,[object Object],[object Object],[object Object],[object Object]
Class Package Diagrams (http://www.agilemodeling.com/artifacts/packageDiagram.htm) ,[object Object],Seminar Registration <<application>> Schedule Student Professor Java Infrastructure <<technical>> <<import>> Contact Point <<import>> <<import>> <<import>> <<import>> ,[object Object],[object Object],Seminar Course Enrollment Location Time 1 0..* 1..* 1 1..* 1 held at Package Schedule A frame encapsulates  a collection of collaborating instances or  refers to another representation of such
Common Mechanisms ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Adornments ,[object Object],[object Object],Rendered as a rectangle with a dog-eared corner. See smartCard.doc for details about this routine. May contain combination of text and graphics. May contain URLs linking to external documents. See  http://www.rational.com  for related info. Additional Adornments ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Transaction Exceptions addAction() Resource Locked named compartment anonymous compartment Client bill.exe report.exe contacts.exe
Stereotypes ,[object Object],[object Object],[object Object],[object Object],[object Object],« metaclass » ModelElement Internet ,[object Object],[object Object],[object Object],[object Object],[object Object]
Tagged Values Server {channels = 3} <<library>> accounts.dll {customerOnly} tagged values ,[object Object],[object Object],[object Object],[object Object],[object Object],« subsystem » AccountsPayable { dueDate = 12/30/2002 status = unpaid }
Constraints Portfolio BankAccount {secure} A simple constraint ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Constraint across multiple elements Corporation BankAccount {or} Person id : {SSN, passport} Department Person * * 1..* 1 member manager {subset} Person age: Integer Company employers employees 0..* 0..* Company self.employees.forAll(Person p | p.age >= 18  and  p.age <= 65)
Appendix Some Additional Material
Classes: Notation and Semantics Class - Name attribute-name-1 : data-type-1 = default-value-1 attribute-name-2 : data-type-2 = default-value-2 operation-name-1 ( argument-list-1) : result-type-1 operation-name-2 ( argument-list-2) : result-type-2 responsibilities ,[object Object],[object Object],[object Object],[object Object],[object Object]
Attributes ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Or you can define your own: e.g.  {leaf} Name and property id : Integer { frozen } Name, type, and initial value origin : Point = { 0, 0 } Name, multiplicity, and type name [ 0..1 ] : String Name and complex type head : *Item Name and type origin : Point Visibility and name + origin Name only origin
Operations ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Template Classes ;  Primitive Types ,[object Object],[object Object],[object Object],+ bind( in i : Item; in v : Value ) : Boolean + isBound( in i : Item ) : Boolean {isQuery} Map Item Value Buckets : int Map< Customer, Order, 3  > OrderMap <<bind>> ( Customer, Order, 3 ) explicit binding implicit binding template class template parameters Uses <<bind>>   Item Value Buckets Primitive Types using a class notation <<enumeration>> Boolean false true <<dataType>> Int { value range   –2**31 to +2**31-1 } constraint stereotype
Interface: A Java Example ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Can you draw a UML diagram corresponding to this?
Package Diagrams:  Standard Elements ,[object Object],[object Object],[object Object],[object Object],[object Object],Is <<import>> transitive? Is visibility transitive? Does <<friend>> apply to all types of visibility: +, -, #?
Dependency –Among Objects ,[object Object],[object Object],[object Object],[object Object]

More Related Content

What's hot

Object oriented basics
Object oriented basicsObject oriented basics
Object oriented basicsvamshimahi
 
Interface java
Interface java Interface java
Interface java atiafyrose
 
Vb ch 3-object-oriented_fundamentals_in_vb.net
Vb ch 3-object-oriented_fundamentals_in_vb.netVb ch 3-object-oriented_fundamentals_in_vb.net
Vb ch 3-object-oriented_fundamentals_in_vb.netbantamlak dejene
 
Interface in java ,multiple inheritance in java, interface implementation
Interface in java ,multiple inheritance in java, interface implementationInterface in java ,multiple inheritance in java, interface implementation
Interface in java ,multiple inheritance in java, interface implementationHoneyChintal
 
Java OOP Programming language (Part 6) - Abstract Class & Interface
Java OOP Programming language (Part 6) - Abstract Class & InterfaceJava OOP Programming language (Part 6) - Abstract Class & Interface
Java OOP Programming language (Part 6) - Abstract Class & InterfaceOUM SAOKOSAL
 
8 abstract classes and interfaces
8   abstract classes and interfaces 8   abstract classes and interfaces
8 abstract classes and interfaces Tuan Ngo
 
Java interfaces
Java interfacesJava interfaces
Java interfacesjehan1987
 
Jedi slides 2.1 object-oriented concepts
Jedi slides 2.1 object-oriented conceptsJedi slides 2.1 object-oriented concepts
Jedi slides 2.1 object-oriented conceptsMaryo Manjaruni
 

What's hot (20)

Object oriented basics
Object oriented basicsObject oriented basics
Object oriented basics
 
C# concepts
C# conceptsC# concepts
C# concepts
 
Interface java
Interface java Interface java
Interface java
 
Interface in java
Interface in javaInterface in java
Interface in java
 
Java interface
Java interfaceJava interface
Java interface
 
My c++
My c++My c++
My c++
 
C# interview questions
C# interview questionsC# interview questions
C# interview questions
 
Vb ch 3-object-oriented_fundamentals_in_vb.net
Vb ch 3-object-oriented_fundamentals_in_vb.netVb ch 3-object-oriented_fundamentals_in_vb.net
Vb ch 3-object-oriented_fundamentals_in_vb.net
 
Delphi qa
Delphi qaDelphi qa
Delphi qa
 
Interface in java ,multiple inheritance in java, interface implementation
Interface in java ,multiple inheritance in java, interface implementationInterface in java ,multiple inheritance in java, interface implementation
Interface in java ,multiple inheritance in java, interface implementation
 
Lecture 12
Lecture 12Lecture 12
Lecture 12
 
Java interface
Java interfaceJava interface
Java interface
 
Java OOP Programming language (Part 6) - Abstract Class & Interface
Java OOP Programming language (Part 6) - Abstract Class & InterfaceJava OOP Programming language (Part 6) - Abstract Class & Interface
Java OOP Programming language (Part 6) - Abstract Class & Interface
 
8 abstract classes and interfaces
8   abstract classes and interfaces 8   abstract classes and interfaces
8 abstract classes and interfaces
 
Abap Objects for BW
Abap Objects for BWAbap Objects for BW
Abap Objects for BW
 
Java interfaces
Java interfacesJava interfaces
Java interfaces
 
Jedi slides 2.1 object-oriented concepts
Jedi slides 2.1 object-oriented conceptsJedi slides 2.1 object-oriented concepts
Jedi slides 2.1 object-oriented concepts
 
javainterface
javainterfacejavainterface
javainterface
 
Interface
InterfaceInterface
Interface
 
Lecture 17
Lecture 17Lecture 17
Lecture 17
 

Viewers also liked

UML diagrams and symbols
UML diagrams and symbolsUML diagrams and symbols
UML diagrams and symbolsKumar
 
OOAD UNIT I UML DIAGRAMS
OOAD UNIT I UML DIAGRAMSOOAD UNIT I UML DIAGRAMS
OOAD UNIT I UML DIAGRAMSMikel Raj
 
Uml diagrams
Uml diagramsUml diagrams
Uml diagramsbarney92
 
Unit 1- OOAD ppt
Unit 1- OOAD  pptUnit 1- OOAD  ppt
Unit 1- OOAD pptPRIANKA R
 
SE_Lec 02_Software Life Cycle Models
SE_Lec 02_Software Life Cycle ModelsSE_Lec 02_Software Life Cycle Models
SE_Lec 02_Software Life Cycle ModelsAmr E. Mohamed
 
SE_Lec 09_ UML Behaviour Diagrams
SE_Lec 09_ UML Behaviour DiagramsSE_Lec 09_ UML Behaviour Diagrams
SE_Lec 09_ UML Behaviour DiagramsAmr E. Mohamed
 
SE_Lec 01_ Introduction to Software Enginerring
SE_Lec 01_ Introduction to Software EnginerringSE_Lec 01_ Introduction to Software Enginerring
SE_Lec 01_ Introduction to Software EnginerringAmr E. Mohamed
 
SE_Lec 08_UML Use Cases
SE_Lec 08_UML Use CasesSE_Lec 08_UML Use Cases
SE_Lec 08_UML Use CasesAmr E. Mohamed
 
SE_Lec 04_Agile Software Development
SE_Lec 04_Agile Software DevelopmentSE_Lec 04_Agile Software Development
SE_Lec 04_Agile Software DevelopmentAmr E. Mohamed
 
SE_Lec 03_Requirements Analysis and Specification
SE_Lec 03_Requirements Analysis and SpecificationSE_Lec 03_Requirements Analysis and Specification
SE_Lec 03_Requirements Analysis and SpecificationAmr E. Mohamed
 
SE_Lec 00_ Software Engineering 1
SE_Lec 00_ Software Engineering 1SE_Lec 00_ Software Engineering 1
SE_Lec 00_ Software Engineering 1Amr E. Mohamed
 
SE_Lec 06_Object Oriented Analysis and Design
SE_Lec 06_Object Oriented Analysis and DesignSE_Lec 06_Object Oriented Analysis and Design
SE_Lec 06_Object Oriented Analysis and DesignAmr E. Mohamed
 
Se2 lec 13 uml state machines
Se2 lec 13  uml state machinesSe2 lec 13  uml state machines
Se2 lec 13 uml state machinesAmr E. Mohamed
 
SE_Lec 11_ Project Management
SE_Lec 11_ Project ManagementSE_Lec 11_ Project Management
SE_Lec 11_ Project ManagementAmr E. Mohamed
 
SE_Lec 07_UML CLASS DIAGRAM
SE_Lec 07_UML CLASS DIAGRAMSE_Lec 07_UML CLASS DIAGRAM
SE_Lec 07_UML CLASS DIAGRAMAmr E. Mohamed
 

Viewers also liked (20)

UML diagrams and symbols
UML diagrams and symbolsUML diagrams and symbols
UML diagrams and symbols
 
OOAD UNIT I UML DIAGRAMS
OOAD UNIT I UML DIAGRAMSOOAD UNIT I UML DIAGRAMS
OOAD UNIT I UML DIAGRAMS
 
Ooad unit – 1 introduction
Ooad unit – 1 introductionOoad unit – 1 introduction
Ooad unit – 1 introduction
 
UML Diagrams
UML DiagramsUML Diagrams
UML Diagrams
 
Uml diagrams
Uml diagramsUml diagrams
Uml diagrams
 
Ooadb
OoadbOoadb
Ooadb
 
UML TUTORIALS
UML TUTORIALSUML TUTORIALS
UML TUTORIALS
 
Unit 1- OOAD ppt
Unit 1- OOAD  pptUnit 1- OOAD  ppt
Unit 1- OOAD ppt
 
SE_Lec 02_Software Life Cycle Models
SE_Lec 02_Software Life Cycle ModelsSE_Lec 02_Software Life Cycle Models
SE_Lec 02_Software Life Cycle Models
 
SE_Lec 09_ UML Behaviour Diagrams
SE_Lec 09_ UML Behaviour DiagramsSE_Lec 09_ UML Behaviour Diagrams
SE_Lec 09_ UML Behaviour Diagrams
 
SE_Lec 01_ Introduction to Software Enginerring
SE_Lec 01_ Introduction to Software EnginerringSE_Lec 01_ Introduction to Software Enginerring
SE_Lec 01_ Introduction to Software Enginerring
 
SE_Lec 08_UML Use Cases
SE_Lec 08_UML Use CasesSE_Lec 08_UML Use Cases
SE_Lec 08_UML Use Cases
 
SE_Lec 04_Agile Software Development
SE_Lec 04_Agile Software DevelopmentSE_Lec 04_Agile Software Development
SE_Lec 04_Agile Software Development
 
SE_Lec 03_Requirements Analysis and Specification
SE_Lec 03_Requirements Analysis and SpecificationSE_Lec 03_Requirements Analysis and Specification
SE_Lec 03_Requirements Analysis and Specification
 
SE_Lec 00_ Software Engineering 1
SE_Lec 00_ Software Engineering 1SE_Lec 00_ Software Engineering 1
SE_Lec 00_ Software Engineering 1
 
Uml report
Uml reportUml report
Uml report
 
SE_Lec 06_Object Oriented Analysis and Design
SE_Lec 06_Object Oriented Analysis and DesignSE_Lec 06_Object Oriented Analysis and Design
SE_Lec 06_Object Oriented Analysis and Design
 
Se2 lec 13 uml state machines
Se2 lec 13  uml state machinesSe2 lec 13  uml state machines
Se2 lec 13 uml state machines
 
SE_Lec 11_ Project Management
SE_Lec 11_ Project ManagementSE_Lec 11_ Project Management
SE_Lec 11_ Project Management
 
SE_Lec 07_UML CLASS DIAGRAM
SE_Lec 07_UML CLASS DIAGRAMSE_Lec 07_UML CLASS DIAGRAM
SE_Lec 07_UML CLASS DIAGRAM
 

Similar to M03 1 Structuraldiagrams

M03_1_Structur alDiagrams.ppt
M03_1_Structur                         alDiagrams.pptM03_1_Structur                         alDiagrams.ppt
M03_1_Structur alDiagrams.pptnesarahmad37
 
Unit two concept of classes and objects
Unit two concept of classes and objects Unit two concept of classes and objects
Unit two concept of classes and objects Dr Chetan Shelke
 
Synapseindia strcture of dotnet development part 1
Synapseindia strcture of dotnet development part 1Synapseindia strcture of dotnet development part 1
Synapseindia strcture of dotnet development part 1Synapseindiappsdevelopment
 
How much do we know about Object-Oriented Programming?
How much do we know about Object-Oriented Programming?How much do we know about Object-Oriented Programming?
How much do we know about Object-Oriented Programming?Sandro Mancuso
 
Oop2011 actor presentation_stal
Oop2011 actor presentation_stalOop2011 actor presentation_stal
Oop2011 actor presentation_stalMichael Stal
 
Object Oriented Design
Object Oriented DesignObject Oriented Design
Object Oriented DesignAravinth NSP
 
Object Oriented Programming In .Net
Object Oriented Programming In .NetObject Oriented Programming In .Net
Object Oriented Programming In .NetGreg Sohl
 
ObjectOrientedSystems.ppt
ObjectOrientedSystems.pptObjectOrientedSystems.ppt
ObjectOrientedSystems.pptChishaleFriday
 
3_ObjectOrientedSystems.pptx
3_ObjectOrientedSystems.pptx3_ObjectOrientedSystems.pptx
3_ObjectOrientedSystems.pptxRokaKaram
 
M.c.a. (sem iv)- java programming
M.c.a. (sem   iv)- java programmingM.c.a. (sem   iv)- java programming
M.c.a. (sem iv)- java programmingPraveen Chowdary
 
UNIT II STATIC UML DIAGRAMS.pptx
UNIT II STATIC UML DIAGRAMS.pptxUNIT II STATIC UML DIAGRAMS.pptx
UNIT II STATIC UML DIAGRAMS.pptxanguraju1
 
JAVA design patterns and Basic OOp concepts
JAVA design patterns and Basic OOp conceptsJAVA design patterns and Basic OOp concepts
JAVA design patterns and Basic OOp conceptsRahul Malhotra
 

Similar to M03 1 Structuraldiagrams (20)

M03_1_Structur alDiagrams.ppt
M03_1_Structur                         alDiagrams.pptM03_1_Structur                         alDiagrams.ppt
M03_1_Structur alDiagrams.ppt
 
Unit two concept of classes and objects
Unit two concept of classes and objects Unit two concept of classes and objects
Unit two concept of classes and objects
 
Encapsulation
EncapsulationEncapsulation
Encapsulation
 
Synapseindia strcture of dotnet development part 1
Synapseindia strcture of dotnet development part 1Synapseindia strcture of dotnet development part 1
Synapseindia strcture of dotnet development part 1
 
How much do we know about Object-Oriented Programming?
How much do we know about Object-Oriented Programming?How much do we know about Object-Oriented Programming?
How much do we know about Object-Oriented Programming?
 
Oop2011 actor presentation_stal
Oop2011 actor presentation_stalOop2011 actor presentation_stal
Oop2011 actor presentation_stal
 
Lecture01
Lecture01Lecture01
Lecture01
 
Uml - An Overview
Uml - An OverviewUml - An Overview
Uml - An Overview
 
Object Oriented Design
Object Oriented DesignObject Oriented Design
Object Oriented Design
 
Object Oriented Design
Object Oriented DesignObject Oriented Design
Object Oriented Design
 
MCA NOTES.pdf
MCA NOTES.pdfMCA NOTES.pdf
MCA NOTES.pdf
 
Object Oriented Programming In .Net
Object Oriented Programming In .NetObject Oriented Programming In .Net
Object Oriented Programming In .Net
 
ObjectOrientedSystems.ppt
ObjectOrientedSystems.pptObjectOrientedSystems.ppt
ObjectOrientedSystems.ppt
 
3_ObjectOrientedSystems.pptx
3_ObjectOrientedSystems.pptx3_ObjectOrientedSystems.pptx
3_ObjectOrientedSystems.pptx
 
Advance oops concepts
Advance oops conceptsAdvance oops concepts
Advance oops concepts
 
Intro Uml
Intro UmlIntro Uml
Intro Uml
 
M.c.a. (sem iv)- java programming
M.c.a. (sem   iv)- java programmingM.c.a. (sem   iv)- java programming
M.c.a. (sem iv)- java programming
 
UNIT II STATIC UML DIAGRAMS.pptx
UNIT II STATIC UML DIAGRAMS.pptxUNIT II STATIC UML DIAGRAMS.pptx
UNIT II STATIC UML DIAGRAMS.pptx
 
JAVA design patterns and Basic OOp concepts
JAVA design patterns and Basic OOp conceptsJAVA design patterns and Basic OOp concepts
JAVA design patterns and Basic OOp concepts
 
Unit 5.ppt
Unit 5.pptUnit 5.ppt
Unit 5.ppt
 

More from Dang Tuan

Javascript for php developer
Javascript for php developerJavascript for php developer
Javascript for php developerDang Tuan
 
Power your web skills
Power your web skillsPower your web skills
Power your web skillsDang Tuan
 
Ube Databases
Ube DatabasesUbe Databases
Ube DatabasesDang Tuan
 
Session02 Part Ii
Session02 Part IiSession02 Part Ii
Session02 Part IiDang Tuan
 
PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG DÙNG UML
PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG DÙNG UMLPHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG DÙNG UML
PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG DÙNG UMLDang Tuan
 
M02 Uml Overview
M02 Uml OverviewM02 Uml Overview
M02 Uml OverviewDang Tuan
 
UML for OOAD
UML for OOADUML for OOAD
UML for OOADDang Tuan
 
Object-Oriented Analysis & Design (OOAD) Domain Modeling Introduction
  Object-Oriented Analysis & Design (OOAD)  Domain Modeling Introduction  Object-Oriented Analysis & Design (OOAD)  Domain Modeling Introduction
Object-Oriented Analysis & Design (OOAD) Domain Modeling IntroductionDang Tuan
 
Introduction to Modeling Java and UML
Introduction to Modeling Java and UMLIntroduction to Modeling Java and UML
Introduction to Modeling Java and UMLDang Tuan
 
Information Systems Analysis and Design Overview of OOAD, UML, and RUP
 Information Systems Analysis and Design Overview of OOAD, UML, and RUP Information Systems Analysis and Design Overview of OOAD, UML, and RUP
Information Systems Analysis and Design Overview of OOAD, UML, and RUPDang Tuan
 
Ooad Overview
Ooad OverviewOoad Overview
Ooad OverviewDang Tuan
 
M03 2 Behavioral Diagrams
M03 2 Behavioral DiagramsM03 2 Behavioral Diagrams
M03 2 Behavioral DiagramsDang Tuan
 
M05 Metamodel
M05 MetamodelM05 Metamodel
M05 MetamodelDang Tuan
 
M04 Design Patterns
M04 Design PatternsM04 Design Patterns
M04 Design PatternsDang Tuan
 

More from Dang Tuan (20)

Javascript for php developer
Javascript for php developerJavascript for php developer
Javascript for php developer
 
Power your web skills
Power your web skillsPower your web skills
Power your web skills
 
Ube Databases
Ube DatabasesUbe Databases
Ube Databases
 
Chapter1
Chapter1Chapter1
Chapter1
 
Chapter9
Chapter9Chapter9
Chapter9
 
Chapter3
Chapter3Chapter3
Chapter3
 
Chapter7
Chapter7Chapter7
Chapter7
 
Chapter5
Chapter5Chapter5
Chapter5
 
Session02 Part Ii
Session02 Part IiSession02 Part Ii
Session02 Part Ii
 
PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG DÙNG UML
PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG DÙNG UMLPHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG DÙNG UML
PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG DÙNG UML
 
Ooad Uml
Ooad UmlOoad Uml
Ooad Uml
 
M02 Uml Overview
M02 Uml OverviewM02 Uml Overview
M02 Uml Overview
 
UML for OOAD
UML for OOADUML for OOAD
UML for OOAD
 
Object-Oriented Analysis & Design (OOAD) Domain Modeling Introduction
  Object-Oriented Analysis & Design (OOAD)  Domain Modeling Introduction  Object-Oriented Analysis & Design (OOAD)  Domain Modeling Introduction
Object-Oriented Analysis & Design (OOAD) Domain Modeling Introduction
 
Introduction to Modeling Java and UML
Introduction to Modeling Java and UMLIntroduction to Modeling Java and UML
Introduction to Modeling Java and UML
 
Information Systems Analysis and Design Overview of OOAD, UML, and RUP
 Information Systems Analysis and Design Overview of OOAD, UML, and RUP Information Systems Analysis and Design Overview of OOAD, UML, and RUP
Information Systems Analysis and Design Overview of OOAD, UML, and RUP
 
Ooad Overview
Ooad OverviewOoad Overview
Ooad Overview
 
M03 2 Behavioral Diagrams
M03 2 Behavioral DiagramsM03 2 Behavioral Diagrams
M03 2 Behavioral Diagrams
 
M05 Metamodel
M05 MetamodelM05 Metamodel
M05 Metamodel
 
M04 Design Patterns
M04 Design PatternsM04 Design Patterns
M04 Design Patterns
 

Recently uploaded

Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piececharlottematthew16
 
APIForce Zurich 5 April Automation LPDG
APIForce Zurich 5 April  Automation LPDGAPIForce Zurich 5 April  Automation LPDG
APIForce Zurich 5 April Automation LPDGMarianaLemus7
 
costume and set research powerpoint presentation
costume and set research powerpoint presentationcostume and set research powerpoint presentation
costume and set research powerpoint presentationphoebematthew05
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr LapshynFwdays
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 

Recently uploaded (20)

Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
 
APIForce Zurich 5 April Automation LPDG
APIForce Zurich 5 April  Automation LPDGAPIForce Zurich 5 April  Automation LPDG
APIForce Zurich 5 April Automation LPDG
 
costume and set research powerpoint presentation
costume and set research powerpoint presentationcostume and set research powerpoint presentation
costume and set research powerpoint presentation
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 

M03 1 Structuraldiagrams

  • 1. Module 3 – Advanced Features: Part I - Structural Diagrams
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8. Multiplicity consolePort [ 2..* ] : Port NetworkController 1 ControlRod 3 multiplicity singleton public class Singleton {    private static Singleton instance = null; private Singleton() {}    public static Singleton getInstance() {       if (instance == null) {          instance = new Singleton();       }       return instance;    } } Singleton - instance + getInstance():Singleton consolePort [ 2..* ] : Port NetworkController Using Design Pattern
  • 9. Relationships ConsoleWindow DialogBox Control Event association dependency generalization PowerManager ChannelIterator Controller EmbeddedAgent <<friend>> generalization (multiple inheritance) association navigation stereotyped dependency realization Window open() close() SetTopController authorizationLevel startUp() shutDown() Connect() <<interface>> URLStreamHandler openConnection() parseURL() setURL() toExternalForm()
  • 10.
  • 11. Dependency – Among Classes AbstractClass {abstract} attribute concreteOperation() abstractOperation() <<metaclass>> MetaClassName <<interface>> InterfaceName operation() ClassName -simpleAttribute: Type = Default #classAttribute: Type + / derivedAttribute: Type +operation(in arg: Type = Default): ReturnType objectName: ClassName Attribute = value simpleAttribute: Type = Default classAttribute: Type /derivedAttribute: Type ClientClass <<use>> <<instanceOf>> <<instanceOf>> realization generalization
  • 12.
  • 13.
  • 14.
  • 16. Generalization –Among Actors SalesPerson Place Order Extension points Additional requests: after creation of the order 1 * SalesManager Grant Credit 1 * Sales person can do only “Place Order”; Sales manager can do both “Place Order” and “Grant Credit”
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23. WorkDesk jobId : int returnedItem * 0..1 Qualifier , cannot access person without knowing the account # Bank account # Person Square * 0..1 1 1 Association – Qualification Chessboard rank:Rank file:File
  • 24.
  • 25.
  • 26.
  • 27.
  • 28.
  • 29. Instances & Objects - Visual Representation : keyCode : Multimedia :: AudioStream t : Transaction myCustomer r : FrameRenderThread c : Phone [WaitingForAnswer] named instance instance with current state instance with attribute values active object (with a thicker border; owns a thread or process and can initiate control activity) multiobject orphan instance (type unknown) anonymous instance myCustomer id : SSN = “432-89-1738” active = True agent :
  • 30.
  • 31. Instances & Objects – More Examples client servers 1: aServer := find(criteria) d: Directory 1: sort() list() contents: File d: Directory 1: addElement(f) addFile(f:File) contents: File :Server aServer:Server 2: process(request) c : Company s : Department name = “Sales” uss : Department name = “US Sales” erin : Person name = “Erin” employeeID = 4362 title = “VP of Sales” rd : Department name = “R&D” : ContactInfomation address = “1472 Miller St.” manager call ::= label [guard] [“*”] [return-val-list “:=“] msg-name “(“ arg-list “)” d: Directory 1*: changeMode(readOnly) secureAll() f: File *
  • 32.
  • 33.
  • 34.
  • 35. Component Diagram – another example (www.cs.tut.fi/tapahtumat/olio2004/richardson.pdf)
  • 36. Component Diagram – another example (www.cs.tut.fi/tapahtumat/olio2004/richardson.pdf)
  • 37. Component Diagram – another example (www.cs.tut.fi/tapahtumat/olio2004/richardson.pdf)
  • 38.
  • 39. Component Diagram: UML 1.x and UML 2.0 (http://www.agilemodeling.com/artifacts/componentDiagram.htm)
  • 40. Component Diagram : UML 1.x and UML 2.0 (http://www.agilemodeling.com/artifacts/componentDiagram.htm) So, how many different conventions for components in UML2.0?
  • 41.
  • 42.
  • 43.
  • 44.
  • 45. Structured Class – Another Example what kind?
  • 46.
  • 47.
  • 48.
  • 49.
  • 50.
  • 51.
  • 52. Variations [Rumbaugh – UML 2.0 Reference: p234] Sale buyer: Agent item: Property seller: Agent role name role type role collaboration name Collaboration definition ShiloPurchase: Sale Shilo: Land item Edward: Architect Bala: Analyst buyer seller role name Collaboration use in object diagram collaborating object collaboration name use name
  • 53.  
  • 54.
  • 55.
  • 56.
  • 57.
  • 58.
  • 59.
  • 60.
  • 61.
  • 62.
  • 63.
  • 65.
  • 66.
  • 67.
  • 68.
  • 69.
  • 70.
  • 71.