SlideShare a Scribd company logo
Module 2: Introduction to UML Background What is UML for? Building blocks of UML Appendix: Process for Using UML
OO languages  appear mid 70’s to late 80’s (cf. Budd: communication and complexity) Between ’89 and ’94, OO methods increased from 10 to 50. Unification of ideas began in mid 90’s. Rumbaugh joins Booch at Rational ’94 v0.8 draft Unified Method ’95 Jacobson joins Rational ’95 UML v0.9 in June ’96 UML 1.0 offered to OMG in January ’97 UML 1.1 offered to OMG in July ’97 Maintenance through OMG RTF UML 1.2 in June ’98 UML 1.3 in fall ’99 UML 1.5  http:// www.omg.org/technology/documents/formal/uml.htm UML 2.0 underway  http:// www.uml.org / IBM-Rational now has   Three Amigos Grady Booch - Fusion James Rumbaugh – Object Modeling Technique (OMT) Ivar Jacobson – Object-oriented Software Engineering: A Use Case Approach (Objectory) (  And David Harel - StateChart) Rational Rose  http://www-306.ibm.com/software/rational/ UML History pre-UML UML 1.x UML 2.0
Unified  Modeling Language (UML) An effort by IBM (Rational) – OMG to standardize OOA&D notation Combine the best of the best from Data Modeling (Entity Relationship Diagrams); Business Modeling (work flow); Object Modeling  Component Modeling (development and reuse - middleware, COTS/GOTS/OSS/…:) Offers vocabulary and rules for  communication Not  a process but a language de facto  industry standard
UML is for Visual Modeling Business Process Places Order Item Ships the Item - standard graphical notations:  Semi-formal - for modeling  enterprise info. systems, distributed Web-based applications, real time embedded systems, … A picture is worth a thousand words! via Fulfill Order Customer Sales  Representative - Specifying & Documenting:  models that are precise, unambiguous, complete UML symbols are based on well-defined syntax and semantics. analysis, architecture/design, implementation, testing decisions. - Construction:   mapping between a UML model and OOPL.
Three (3) basic  building blocks  of UML  (cf. Harry) Things -   important modeling concepts Relationships -  tying individual things  Diagrams -  grouping interrelated collections of  things  and  relationships Just glance thru for now Water Rivers Oceans Fish Penguins Crocodiles Fresh water Salt water have have have live in have have
UML 1.x Structural   — nouns/static of UML models ( irrespective of time) . Behavioral   — verbs/dynamic  parts of UML models. Grouping   — organizational parts of UML models. Annotational   — explanatory parts of UML models. 3 basic building blocks of UML -  Things Main
Nouns. Conceptual or physical elements. Structural  Things  in UML-  7 Kinds  (Classifiers) Student std_id grade changeLevel( ) setGrade( ) getGrade( ) IGrade Manage Course Registration Register for Courses Event Mgr thread time Start suspend( ) stop( ) Course.cpp Class Interface Collaboration Use Case Active Class  (processes / threads) Component Node UnivWebServer <<interface>> IGrade setGrade() getGrade() (collection of externally Visible ops) (chain of responsibility  shared by a web of interacting objects,  structural and behavioral) (a system service sequence of  Interactions w. actor) (replaceable part, realizes interfaces) (computational  resource at run-time, processing power w. memory)
Behavioral  Things  in UML Two primary kinds of behavioral things: Verbs. Dynamic parts of UML models:  “behavior over time” Usually connected to structural things. Interaction a set of objects exchanging messages, to accomplish a specific purpose. ask-for-an-A State Machine specifies the sequence of states an object or an interaction goes through during its lifetime in response to events. inParty inStudy harry: Student  name = “Harry Kid” katie: Professor  name = “Katie Holmes” received-an-A/ buy-beer sober/turn-on-PC
Grouping  Things  in UML:  Packages - For organizing elements (structural/behavioral) into groups. - Purely conceptual; only exists at development time. - Can be nested. -  Variations of packages are: Frameworks, models, & subsystems. Course Manager Annotational  Things  in UML:  Note - Explanatory/Comment parts of UML models - usually called adornments  - Expressed in informal or formal text. flexible drop-out dates Course Manager University Administration Student Admission -Student +Department operation() {for all g in children g.operation() }
3 basic building blocks of UML  -  Relationships 1.  Associations Structural  relationship that describes a set of links, a link being a connection between objects. 4.  Dependency a change to one thing (independent) may affect the semantics of the other thing (dependent). (direction, label are optional) variants:  aggregation & composition 2.  Generalization a specialized element (the child) is more specific the generalized element. 3.  Realization one element guarantees to carry out what is expected by the other element.  (e.g, interfaces and classes/components; use cases and collaborations) Student University Student Person Student IGrade Student harry: Student <<instanceOf>> attends
3 basic building blocks of UML   -  Diagrams A connected graph: Vertices are things; Arcs are relationships/behaviors. UML 2.0: 12 diagram types Behavioral Diagrams Represent the  dynamic  aspects. Use case Sequence;  Collaboration Statechart Activity Structural Diagrams Represent the  static  aspects  of a system. Class;  Object Component Deployment Behavioral Diagrams Use case Statechart Activity Structural Diagrams Class;  Object Component Deployment Composite Structure Package Interaction Diagrams Sequence;  Communication Interaction Overview Timing UML 1.x: 9 diagram types .
Diagrams  in UML  The UTD wants to computerize its registration system The Registrar sets up the curriculum for a semester Students select 3 core courses and 2 electives Once a student registers for a semester, the billing system is  notified so the student may be billed for the semester Students may use the system to add/drop courses  for a period of time after registration Professors use the system to set their preferred course offerings and receive their course offering rosters after students register Users of the registration system are assigned passwords   which are used at logon validation What’s most important?
Diagrams  in UML –  Actors  in  Use Case  Diagram An  actor  is someone or some thing that must interact with the system under development Student Registrar Professor Billing System The UTD wants to computerize its registration system The  Registrar  sets up the curriculum for a semester Students  select 3 core courses and 2 electives Once a student registers for a semester, the  billing system  is  notified so the student may be billed for the semester Students may use the system to add/drop courses   for a period of time after registration Professor s  use the system to set their preferred course offerings   and receive their course offering rosters after students register Users  of the registration system are assigned passwords   which are used at logon validation
Diagrams  in UML –  Use Cases  in  Use Case  Diagram Student Registrar Professor Billing System The UTD wants to computerize its registration system The  Registrar  sets up the curriculum for a semester Students  select 3 core courses and 2 electives Once a student registers for a semester, the  billing system  is  notified so the student may be billed for the semester Students may use the system to add/drop courses   for a period of time after registration Professor s use the system to set their preferred course offerings   and receive their course offering rosters after students register Users of the registration system are assigned passwords   which are used at logon validation A  use case  is a  sequence of interactions between an actor and the system Maintain Curriculum Request Course Roster Register for Courses Set Course Offerings
Diagrams  in UML –  Use Case  Diagram Use case diagrams depict the relationships between actors and use cases Student Registrar Professor Billing System Maintain Curriculum Request Course Roster Register for Courses Set Course Offerings system boundary Manage Seminar Anything wrong? UTD Registration System
Diagrams  in UML  -   Uses  and  Extends  in Use Case Diagram A  uses  relationship shows behavior common to one or more use cases An  extends  relationship shows optional/exceptional behavior   Register for courses <<uses>> Logon validation <<uses>> Maintain curriculum Register for  Distance Learning courses <<extends>> Create course <<uses>> Maintain Schedule <<uses>>
Diagrams  in UML  –   Flow of Events for each use case:  Typical contents: How the use case starts and ends Normal flow of events (focus on the normal first!) Alternate/Exceptional flow of events This use case begins after the Registrar logs onto the Registration System with a valid password.  The registrar fills in the course form with the appropriate semester and course related info.  The Registrar requests the system to process the course form. The system creates a new course, and this use case ends   Flow of Events for Creating a Course Registrar Create Course
Diagrams  in UML  – Interaction Diagrams Interaction   diagrams   describe how use cases are  realize d  in terms of  interacting objects.  Two types of interaction diagrams Sequence diagrams Collaboration  (Communication)   diagrams A use case diagram presents an  outside  view of the system. Then, how about the  inside  view of the system?
Diagrams  in UML  -  Sequence  Diagram A sequence diagram displays object interactions arranged in a  time  sequence 1: set course info 2: request processing 3: add course 4: <<create>> : Registrar course form :  CourseForm theManager :  CurriculumManager aCourse :  Course This use case begins after the Registrar logs onto the Registration System with a valid password.  The  registrar  fills in the  course form  with the appropriate semester and course related info.  The Registrar requests the system to process the course form. The system creates a new  course , and this use case ends  Registrar Create Course Traceability!
Diagrams  in UML  –  Collaboration  (Communication) Displays object interactions organized around objects and their  direct  links to one another. Emphasizes the structural organization of objects that send and receive messages. : Registrar course form:  CourseForm theManager :  CurriculumManager aCourse:  Course 1: set course info 2: request processing 3: add course 4: <<create>> 1: set course info 2: request processing 3: add course 4: <<create>> : Registrar course form :  CourseForm theManager :  CurriculumManager aCourse:  Course Traceability!
Diagrams  in UML  –  Collaboration  (Communication) What would be the corresponding collaboration diagram? : Student registration  form registration  manager math 101 1: fill in info 2: submit 3: add course(Sue, math 01) 4: are you open? 5: are you open? 6: add (Sue) 7: add (Sue) math 101  section 1 Which use case could this be for? How about <----------
Skip the following for now: In M3.2
public Class Selection   {  private Purchase myPurchase = new Purchase();   private Payment myPayment;     public void purchase()   {  myPurchase.buyMajor();   myPurchase.buyMinor():   myPayment = new Payment( cashTender );     //. .    }     // . .    }   :Selection :Purchase :Payment purchase buyMajor buyMinor create(cashTender) Sequence Diagrams & Some Programming
Interactions - Modeling Actions Simple Call Return   Send : TicketAgent c : Client p : PlanningAgent <<create>> setItenerary( i ) calculateRoute() route X notify() return value send call on self <<destroy>> actual parameter return end of object life destroy: e.g., in C++ manual garbage collection; in Java/C#, unnecessary 1 natural death/ self destruction asynchronous in 2.0 (stick arrowhead) – no return value expected at end of callee activation half arrow in 1.x activation of caller may end before callee’s for each conference loop
concurrent lifelines for conditionals for concurrency linking sequence diagrams ob1:C1 ob3:C3 ob2:C2 ob3:C3 op1 [x>0] foo(x) [x<0] bar(x) do(w) do(z) recurse() [z=0] jar(z) ob3:C3 [z=0] jar(z) ob3:C3 conditional recursion Sequence Diagrams  – Generic vs. Instance 2 forms of sd: Instance  sd: describes a specific scenario in detail; no conditions, branches or loops. Generic  sd: a use case description with alternative courses. Here, conditional or concurrency?
Interaction Diagram:  sequence  vs  communication s1 : StockQuoteSubscriber p : StockQuotePublisher attach(s1) s2 : StockQuoteSubscriber attach(s2) notify() update() update() getState() getState() s1 : StockQuoteSubscriber p : StockQuotePublisher s2 : StockQuoteSubscriber 1 : attach(s1) 6 : getState() 2 : attach(s2) 7 : getState() 3 : notify() 4 : update() 5 : update() Observer design pattern object role:ClassName Procedure call, RMI, JDBC, … Activations - Show duration of execution - Shows call stack - Return message Implicit at end of activation Explicit with a dashed arrow objects Time {update < 1 minutes} classifiers or their instances, use cases or actors.
Skip end: resume
Diagrams  in UML  -  Class  Diagrams A class diagram shows the existence of classes and their relationships   Recall: A  class  is a collection of objects with common structure, common behavior, common relationships and common semantics Some classes are shown through the objects in sequence/collaboration diagram CurriculumManager registration  form registration  manager 3: add course(Sue, math 01) RegistrationManager addCourse(Student,Course) 4: <<create>> theManager :  CurriculumManager aCourse :  Course Course Traceability!
Diagrams  in UML  -  Class  Diagrams:  static structure in the system 1 0..* 0..* 1 1 1..* 4 1..10 0..4 1 Reading? name User 1 0..* Naming & (often) 3 Sections;  Inheritance (as before);  Relationships - Multiplicity and Navigation RegistrationForm RegistrationManager Course Student CourseOffering Professor addStudent(student, course) name numberCredits open() addStudent(StudentInfo) major location open() addStudent(StudentInfo) tenureStatus ScheduleAlgorithm CurriculumManager
Diagrams  in UML  –  Object  Diagrams Shows a set of objects and their relationships.  As a static snapshot. harry: Student name = “Harry Kid” katie: Professor name = “Katie Holmes” ooado: CourseOffering location = “Fujitsu” tom: Student name = “Tom Cruise” surie: Professor name = “Surie Holmes” arch: CourseOffering location = “UTD” ooad06S: Course name = “OOAD” harry1: Professor name = “Harry William” arch06F: Course name = “Sw Architecture” alg06F: Course name = “Adv Algorithms” Anything wrong?
Diagrams  in UML  –  State Transition  Diagram   ( Statechart  Diagram) entry: Register student exit: Increment count The life history (often of a given class: from class to object behavior) States, transitions, events that cause a transition from one state to another Actions that result from a state change What life history/class is this for?   Anything wrong? … until the drop date? initial final event/action (internal) condition state State name activity Initialization Open Closed Canceled do: Initialize course do: Finalize course do: Notify registered students Add Student /  Set count = 0 Add student [count < 10] [ count = 10 ] Cancel Cancel Cancel
Diagrams  in UML   –  Activity  Diagrams Synchronization Initialize course [ count < 10 ] A special kind of statechart diagram that shows the flow  from activity to activity . Add student Close course [else] Notify Registrar Notify Billing fork/spawn activity guard initial final What is this for? Traceability??? Can you model this using SD?  Can you model this using CD?
Diagrams  in UML  –  Component  Diagram Course.dll Course People.dll User Register.exe Billing.exe Billing shows the organizations and dependencies among a set of components  (mostly <<uses>>).   In UML 1.1, a component represented implementation items, such as files and executables; … In  UML 2.0 , a component is a replaceable/reusable,  architecture /design-time construct   w. interfaces Course Course Offering Student Professor Student Professor
Diagrams  in UML  –  Deployment  Diagram Library Server Dorm PC Main Building Solaris shows the configuration of run-time processing elements and the software processes living on them. visualizes the distribution of  components across the enterprise. Register.exe People.dll Billing.exe Course Course   Offering People Database Student Professor wireless RMI, sockets TCP/IP Registrar Webserver Course Oracle Server
3 basic building blocks of UML   -  Diagrams Here, UML 1.x first  (UML 2.0 later) Use case Sequence ;  Collaboration   (C ommunication) Class;  Object Statechart Activity Component Deployment Display the boundary of a system & its major functions using use cases and actors Illustrate use case realizations with interaction diagrams Represent a static structure of a system using class diagrams  Model the behavior of objects with state transition diagrams Reveal the physical implementation architecture with component & deployment diagrams  Extend your functionality with stereotypes Using UML Concepts in a Nutshell
Summary Background What is UML for (both 1.x and 2.0)? for visualizing, specifying, constructing, and documenting models Building blocks of UML Things, Relationships (4 kinds)  and Diagrams (9 different kinds)
Module 2: Introduction to UML - Appendix
Extensibility of UML Stereotypes (<< >>)  can be used to extend the UML notational elements Stereotypes may be used to classify and extend associations, inheritance relationships, classes, and components Examples: Class stereotypes:  boundary, control, entity, utility, exception Inheritance stereotypes:  uses and extends Component stereotypes:  subsystem Stereotypes  — extends vocabulary (metaclass in UML metamodel) Tagged values  — extends properties of UML building blocks (i.e., metamodel) Constraints  — extend the semantics of UML building blocks. More on this later
Architecture & Views  (You can skip this part on the first reading) Deployment View Process View Design View Implementation View Use Case View vocabulary functionality performance scalability throughput behavior system assembly configuration mgmt. system topology distribution delivery installation UML is for visualizing, specifying, constructing, and documenting with emphasis on system architectures (things in the system and relationships among the things)  from five different views Architecture - set of significant decisions regarding: Organization of a software system. Selection of structural elements & interfaces from which a system is composed. Behavior or collaboration of elements. Composition of structural and behavioral elements. Architectural style guiding the system.
Views Use Case View   Use Case Analysis is a technique to capture business process from user’s perspective.  Encompasses the behavior as seen by users, analysts and testers. Specifies forces that shape the architecture. Static aspects in use case diagrams; Dynamic aspects in interaction (statechart and activity) diagrams. Design View   Encompasses classes, interfaces, and collaborations that define the vocabulary of a system. Supports functional requirements of the system. Static aspects in class and object diagrams; Dynamic aspects in interaction diagrams. Process View   Encompasses the threads and processes defining concurrency and synchronization. Addresses performance, scalability, and throughput. Static and dynamic aspects captured as in design view; emphasis on active classes. Implementation View   Encompasses components and files used to assemble and release a physical system. Addresses configuration management. Static aspects in component diagrams; Dynamic aspects in interaction diagrams. Deployment View   Encompasses the nodes that form the system hardware topology. Addresses distribution, delivery, and installation. Static aspects in deployment diagrams; Dynamic aspects in interaction diagrams .
Rules of UML Well formed models   —  semantically self-consistent and in harmony with all its related models . Semantic rules for: Names   — what you can call things. Scope   — context that gives meaning to a name. Visibility   — how names can be seen and used. Integrity  — how things properly and consistently relate to one another. Execution   — what it means to run or simulate a dynamic model. Avoid models that are Elided   — certain elements are hidden for simplicity. Incomplete   — certain elements may be missing. Inconsistent   — no guarantee of integrity.
Process for Using UML Use case driven   — use cases are primary artifact for defining behavior of the system. Architecture-centric   — the system’s architecture is primary artifact for conceptualizing, constructing, managing, and evolving the system. Iterative and incremental   — managing streams of executable releases with increasing parts of the architecture included. How do we use UML as a notation to construct a good model? The Rational Unified Process (RUP)
Process for Using UML  -   Iterative Life Cycle It is planned, managed and predictable …almost It accommodates changes to requirements with less disruption It is based on evolving executable prototypes, not documentation It involves the user/customer throughout the process It is risk driven Primary phases Inception   — seed idea is brought up to point of being a viable project. Elaboration   — product vision and architecture are defined. ( http://www.utdallas.edu/~chung/OOAD_SUMMER04/HACS_vision_12.doc ) Construction   — brought from architectural baseline to point of deployment into user community. Transition   — turned over to the user community.
Process for Using UML  -   Iterative Approach Three Important Features   Continuous integration -  Not done in one lump near the delivery date Frequent, executable releases -  Some internal; some delivered Attack risks through demonstrable progress -  Progress measured in products, not documentation or engineering estimates Resulting Benefits   Releases are a forcing function that drives the development team to closure at regular intervals -  Cannot have the “90% done with 90% remaining” phenomenon Can incorporate problems/issues/changes into future iterations rather than disrupting ongoing production The project’s supporting elements (testers, writers, toolsmiths, QA, etc.) can better schedule their work
Process for Using UML  - Risk Reduction Drives Iterations Initial Project Risks Initial Project Scope Revise Overall  Project Plan Cost Schedule Scope/Content Plan Iteration N Cost Schedule Assess Iteration N Risks Eliminated Revise Project Risks Reprioritize Develop Iteration N Collect cost and  quality metrics Define scenarios to address highest risks Iteration N
Process for Using UML  - Use Cases Drive the Iteration Process Inception Elaboration Construction Transition Iteration 1 Iteration 2 Iteration 3 Iteration Planning Reqs Capture  Analysis & Design Implementation  Test  Prepare Release “ Mini-Waterfall” Process Each iteration is defined in terms of the scenarios it implements Selected scenarios Results of previous iterations Up-to-date risk assessment Controlled libraries of models, code, and tests   Release description Updated risk assessment Controlled libraries
Points to Ponder Are Sequence and Collaboration Diagrams Isomorphic?
Points to Ponder How much unification does UML do? Consider the Object Model Notation on the inside cover on the front and back of the textbook &quot;Object Oriented Modeling and Design&quot; by Rumbaugh, et.al.  List the OMT items that do not exist in UML  List the UML items that do not exist in OMT For those items of OMT for which UML equivalents exist, map the notation to UML.  Where would you want to use stereotypes? Model the “Business Process” on page 6 in UML. Map the four (4) phases of the RUP to the traditional software lifecycle. If an object refers to a concept, can an object refer to a concept of an concept? Consider some examples. What would be the essential differences between a property and an attribute? Consider some examples. What is the syntax and semantics of a class diagram? In Component-Based Software Engineering (CBSE), components are the units, or building blocks, of a (distributed) software system. What kind of building blocks of UML can be components for CBSE?

More Related Content

PPT
UML Diagrams
PPTX
PPT
Uml diagrams
PPTX
UML and Software Modeling Tools.pptx
PDF
UML Diagrams- Unified Modeling Language Introduction
PPTX
Uml Diagrams
PPT
PPTX
UML Diagrams
Uml diagrams
UML and Software Modeling Tools.pptx
UML Diagrams- Unified Modeling Language Introduction
Uml Diagrams

What's hot (20)

PPT
Intro to UML 2
PPTX
An Automatic Approach to Translate Use Cases to Sequence Diagrams
PPTX
Uml with detail
PDF
Lect-4: UML diagrams - Unified Modeling Language - SPM
PPT
UML diagrams and symbols
PDF
DOC
Case Study Uml
PPT
analysis and design with uml
PDF
Unified Modeling Language
PPTX
Unified Modeling Language
PPTX
Unit 1- OOAD ppt
PDF
Software Engineering : OOAD using UML
PPTX
What is UML (Unified Modeling Language)?
PPTX
Unified modeling language diagrams
PPTX
An introduction to uml
PPT
Unified Modeling Language
PPTX
Unified modelling language (UML)
PPT
Uml - An Overview
PPT
Use case Diagram and Sequence Diagram
PPT
Intro to UML 2
An Automatic Approach to Translate Use Cases to Sequence Diagrams
Uml with detail
Lect-4: UML diagrams - Unified Modeling Language - SPM
UML diagrams and symbols
Case Study Uml
analysis and design with uml
Unified Modeling Language
Unified Modeling Language
Unit 1- OOAD ppt
Software Engineering : OOAD using UML
What is UML (Unified Modeling Language)?
Unified modeling language diagrams
An introduction to uml
Unified Modeling Language
Unified modelling language (UML)
Uml - An Overview
Use case Diagram and Sequence Diagram
Ad

Viewers also liked (20)

PPT
Use Case Diagram
PDF
Dependencies, dependencies, dependencies
PPT
Uml Omg Fundamental Certification 5
PPT
Uml Omg Fundamental Certification 3
PDF
PPSX
Uml tutorial (1) (1)
PDF
PDF
Shipment address classification in logistics, Ravindra Babu, Flipkart
PPTX
Optimization Modeling and Decision Support for Wireless Infrastructure Deploy...
DOC
Supplementary specification
PPTX
Requirment anlaysis
PPT
Omg Fundamental Certification 4
ODP
Itt1 sd uml and oo
PPT
JavaYDL15
PDF
OO & UML
PDF
Wrapper classes
PDF
Polyglot Persistence & Multi-Model Databases
PDF
UMLtoGraphDB: Mapping Conceptual Schemas to Graph Databases
PPTX
Persistence that tells the truth: event sourcing
PPT
Uml Omg Fundamental Certification 2
Use Case Diagram
Dependencies, dependencies, dependencies
Uml Omg Fundamental Certification 5
Uml Omg Fundamental Certification 3
Uml tutorial (1) (1)
Shipment address classification in logistics, Ravindra Babu, Flipkart
Optimization Modeling and Decision Support for Wireless Infrastructure Deploy...
Supplementary specification
Requirment anlaysis
Omg Fundamental Certification 4
Itt1 sd uml and oo
JavaYDL15
OO & UML
Wrapper classes
Polyglot Persistence & Multi-Model Databases
UMLtoGraphDB: Mapping Conceptual Schemas to Graph Databases
Persistence that tells the truth: event sourcing
Uml Omg Fundamental Certification 2
Ad

Similar to M02 Uml Overview (20)

PPTX
OOAD.ppt.pptx
PDF
OOAD and An effort by IBM (Rational) Dynamic parts of UML models: “behavior o...
PPT
PPTX
UML Design Document Training Learn UML .pptx
PPT
Analysis and design of entreprise with uml
PPT
PPTX
UML_Lecture.pptxnd bfdjjrnekdddkeeeenekejneje
PPTX
Unified Modeling Language
PPT
uml.ppt
PPTX
Cs 1023 lec 10 uml (week 3)
PDF
Chapter-2 UML and UML Diagrams.pdf
PDF
l1_introuml.pdf
PPTX
Uml introduction
PPTX
Chapter3
PPT
Uml lecture
PDF
PhD Core Paper Unit 5 _Part 1 Software Design and UML Use Case Modeling.pdf
PPT
IntroductionToUML.ppt
PPTX
Introduction to Unified Modeling Language
PPT
Uml introduciton
OOAD.ppt.pptx
OOAD and An effort by IBM (Rational) Dynamic parts of UML models: “behavior o...
UML Design Document Training Learn UML .pptx
Analysis and design of entreprise with uml
UML_Lecture.pptxnd bfdjjrnekdddkeeeenekejneje
Unified Modeling Language
uml.ppt
Cs 1023 lec 10 uml (week 3)
Chapter-2 UML and UML Diagrams.pdf
l1_introuml.pdf
Uml introduction
Chapter3
Uml lecture
PhD Core Paper Unit 5 _Part 1 Software Design and UML Use Case Modeling.pdf
IntroductionToUML.ppt
Introduction to Unified Modeling Language
Uml introduciton

More from Dang Tuan (20)

PDF
Javascript for php developer
PDF
Power your web skills
PDF
Ube Databases
PPT
Chapter1
PPT
Chapter9
PPT
Chapter3
PPT
Chapter7
PPT
Chapter5
PPT
Session02 Part Ii
PPT
PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG DÙNG UML
PPT
Ooad Uml
PPT
UML for OOAD
PPT
Object-Oriented Analysis & Design (OOAD) Domain Modeling Introduction
PPT
Introduction to Modeling Java and UML
PPT
Information Systems Analysis and Design Overview of OOAD, UML, and RUP
PPT
Ooad Overview
PPT
M03 2 Behavioral Diagrams
PPT
M05 Metamodel
PPT
M04 Design Patterns
PPT
M03 1 Structuraldiagrams
Javascript for php developer
Power your web skills
Ube Databases
Chapter1
Chapter9
Chapter3
Chapter7
Chapter5
Session02 Part Ii
PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG DÙNG UML
Ooad Uml
UML for OOAD
Object-Oriented Analysis & Design (OOAD) Domain Modeling Introduction
Introduction to Modeling Java and UML
Information Systems Analysis and Design Overview of OOAD, UML, and RUP
Ooad Overview
M03 2 Behavioral Diagrams
M05 Metamodel
M04 Design Patterns
M03 1 Structuraldiagrams

Recently uploaded (20)

PPTX
20250228 LYD VKU AI Blended-Learning.pptx
PDF
Chapter 3 Spatial Domain Image Processing.pdf
PDF
MIND Revenue Release Quarter 2 2025 Press Release
PDF
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
PDF
Review of recent advances in non-invasive hemoglobin estimation
PPTX
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
PPTX
Programs and apps: productivity, graphics, security and other tools
PDF
Electronic commerce courselecture one. Pdf
PPTX
Cloud computing and distributed systems.
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PPTX
MYSQL Presentation for SQL database connectivity
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PDF
Approach and Philosophy of On baking technology
PDF
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PPTX
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
PDF
KodekX | Application Modernization Development
PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
PDF
Spectral efficient network and resource selection model in 5G networks
20250228 LYD VKU AI Blended-Learning.pptx
Chapter 3 Spatial Domain Image Processing.pdf
MIND Revenue Release Quarter 2 2025 Press Release
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
Review of recent advances in non-invasive hemoglobin estimation
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
Programs and apps: productivity, graphics, security and other tools
Electronic commerce courselecture one. Pdf
Cloud computing and distributed systems.
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
MYSQL Presentation for SQL database connectivity
Per capita expenditure prediction using model stacking based on satellite ima...
Approach and Philosophy of On baking technology
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
Building Integrated photovoltaic BIPV_UPV.pdf
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
Digital-Transformation-Roadmap-for-Companies.pptx
KodekX | Application Modernization Development
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
Spectral efficient network and resource selection model in 5G networks

M02 Uml Overview

  • 1. Module 2: Introduction to UML Background What is UML for? Building blocks of UML Appendix: Process for Using UML
  • 2. OO languages appear mid 70’s to late 80’s (cf. Budd: communication and complexity) Between ’89 and ’94, OO methods increased from 10 to 50. Unification of ideas began in mid 90’s. Rumbaugh joins Booch at Rational ’94 v0.8 draft Unified Method ’95 Jacobson joins Rational ’95 UML v0.9 in June ’96 UML 1.0 offered to OMG in January ’97 UML 1.1 offered to OMG in July ’97 Maintenance through OMG RTF UML 1.2 in June ’98 UML 1.3 in fall ’99 UML 1.5 http:// www.omg.org/technology/documents/formal/uml.htm UML 2.0 underway http:// www.uml.org / IBM-Rational now has Three Amigos Grady Booch - Fusion James Rumbaugh – Object Modeling Technique (OMT) Ivar Jacobson – Object-oriented Software Engineering: A Use Case Approach (Objectory) ( And David Harel - StateChart) Rational Rose http://www-306.ibm.com/software/rational/ UML History pre-UML UML 1.x UML 2.0
  • 3. Unified Modeling Language (UML) An effort by IBM (Rational) – OMG to standardize OOA&D notation Combine the best of the best from Data Modeling (Entity Relationship Diagrams); Business Modeling (work flow); Object Modeling Component Modeling (development and reuse - middleware, COTS/GOTS/OSS/…:) Offers vocabulary and rules for communication Not a process but a language de facto industry standard
  • 4. UML is for Visual Modeling Business Process Places Order Item Ships the Item - standard graphical notations: Semi-formal - for modeling enterprise info. systems, distributed Web-based applications, real time embedded systems, … A picture is worth a thousand words! via Fulfill Order Customer Sales Representative - Specifying & Documenting: models that are precise, unambiguous, complete UML symbols are based on well-defined syntax and semantics. analysis, architecture/design, implementation, testing decisions. - Construction: mapping between a UML model and OOPL.
  • 5. Three (3) basic building blocks of UML (cf. Harry) Things - important modeling concepts Relationships - tying individual things Diagrams - grouping interrelated collections of things and relationships Just glance thru for now Water Rivers Oceans Fish Penguins Crocodiles Fresh water Salt water have have have live in have have
  • 6. UML 1.x Structural — nouns/static of UML models ( irrespective of time) . Behavioral — verbs/dynamic parts of UML models. Grouping — organizational parts of UML models. Annotational — explanatory parts of UML models. 3 basic building blocks of UML - Things Main
  • 7. Nouns. Conceptual or physical elements. Structural Things in UML- 7 Kinds (Classifiers) Student std_id grade changeLevel( ) setGrade( ) getGrade( ) IGrade Manage Course Registration Register for Courses Event Mgr thread time Start suspend( ) stop( ) Course.cpp Class Interface Collaboration Use Case Active Class (processes / threads) Component Node UnivWebServer <<interface>> IGrade setGrade() getGrade() (collection of externally Visible ops) (chain of responsibility shared by a web of interacting objects, structural and behavioral) (a system service sequence of Interactions w. actor) (replaceable part, realizes interfaces) (computational resource at run-time, processing power w. memory)
  • 8. Behavioral Things in UML Two primary kinds of behavioral things: Verbs. Dynamic parts of UML models: “behavior over time” Usually connected to structural things. Interaction a set of objects exchanging messages, to accomplish a specific purpose. ask-for-an-A State Machine specifies the sequence of states an object or an interaction goes through during its lifetime in response to events. inParty inStudy harry: Student name = “Harry Kid” katie: Professor name = “Katie Holmes” received-an-A/ buy-beer sober/turn-on-PC
  • 9. Grouping Things in UML: Packages - For organizing elements (structural/behavioral) into groups. - Purely conceptual; only exists at development time. - Can be nested. - Variations of packages are: Frameworks, models, & subsystems. Course Manager Annotational Things in UML: Note - Explanatory/Comment parts of UML models - usually called adornments - Expressed in informal or formal text. flexible drop-out dates Course Manager University Administration Student Admission -Student +Department operation() {for all g in children g.operation() }
  • 10. 3 basic building blocks of UML - Relationships 1. Associations Structural relationship that describes a set of links, a link being a connection between objects. 4. Dependency a change to one thing (independent) may affect the semantics of the other thing (dependent). (direction, label are optional) variants: aggregation & composition 2. Generalization a specialized element (the child) is more specific the generalized element. 3. Realization one element guarantees to carry out what is expected by the other element. (e.g, interfaces and classes/components; use cases and collaborations) Student University Student Person Student IGrade Student harry: Student <<instanceOf>> attends
  • 11. 3 basic building blocks of UML - Diagrams A connected graph: Vertices are things; Arcs are relationships/behaviors. UML 2.0: 12 diagram types Behavioral Diagrams Represent the dynamic aspects. Use case Sequence; Collaboration Statechart Activity Structural Diagrams Represent the static aspects of a system. Class; Object Component Deployment Behavioral Diagrams Use case Statechart Activity Structural Diagrams Class; Object Component Deployment Composite Structure Package Interaction Diagrams Sequence; Communication Interaction Overview Timing UML 1.x: 9 diagram types .
  • 12. Diagrams in UML The UTD wants to computerize its registration system The Registrar sets up the curriculum for a semester Students select 3 core courses and 2 electives Once a student registers for a semester, the billing system is notified so the student may be billed for the semester Students may use the system to add/drop courses for a period of time after registration Professors use the system to set their preferred course offerings and receive their course offering rosters after students register Users of the registration system are assigned passwords which are used at logon validation What’s most important?
  • 13. Diagrams in UML – Actors in Use Case Diagram An actor is someone or some thing that must interact with the system under development Student Registrar Professor Billing System The UTD wants to computerize its registration system The Registrar sets up the curriculum for a semester Students select 3 core courses and 2 electives Once a student registers for a semester, the billing system is notified so the student may be billed for the semester Students may use the system to add/drop courses for a period of time after registration Professor s use the system to set their preferred course offerings and receive their course offering rosters after students register Users of the registration system are assigned passwords which are used at logon validation
  • 14. Diagrams in UML – Use Cases in Use Case Diagram Student Registrar Professor Billing System The UTD wants to computerize its registration system The Registrar sets up the curriculum for a semester Students select 3 core courses and 2 electives Once a student registers for a semester, the billing system is notified so the student may be billed for the semester Students may use the system to add/drop courses for a period of time after registration Professor s use the system to set their preferred course offerings and receive their course offering rosters after students register Users of the registration system are assigned passwords which are used at logon validation A use case is a sequence of interactions between an actor and the system Maintain Curriculum Request Course Roster Register for Courses Set Course Offerings
  • 15. Diagrams in UML – Use Case Diagram Use case diagrams depict the relationships between actors and use cases Student Registrar Professor Billing System Maintain Curriculum Request Course Roster Register for Courses Set Course Offerings system boundary Manage Seminar Anything wrong? UTD Registration System
  • 16. Diagrams in UML - Uses and Extends in Use Case Diagram A uses relationship shows behavior common to one or more use cases An extends relationship shows optional/exceptional behavior Register for courses <<uses>> Logon validation <<uses>> Maintain curriculum Register for Distance Learning courses <<extends>> Create course <<uses>> Maintain Schedule <<uses>>
  • 17. Diagrams in UML – Flow of Events for each use case: Typical contents: How the use case starts and ends Normal flow of events (focus on the normal first!) Alternate/Exceptional flow of events This use case begins after the Registrar logs onto the Registration System with a valid password. The registrar fills in the course form with the appropriate semester and course related info. The Registrar requests the system to process the course form. The system creates a new course, and this use case ends Flow of Events for Creating a Course Registrar Create Course
  • 18. Diagrams in UML – Interaction Diagrams Interaction diagrams describe how use cases are realize d in terms of interacting objects. Two types of interaction diagrams Sequence diagrams Collaboration (Communication) diagrams A use case diagram presents an outside view of the system. Then, how about the inside view of the system?
  • 19. Diagrams in UML - Sequence Diagram A sequence diagram displays object interactions arranged in a time sequence 1: set course info 2: request processing 3: add course 4: <<create>> : Registrar course form : CourseForm theManager : CurriculumManager aCourse : Course This use case begins after the Registrar logs onto the Registration System with a valid password. The registrar fills in the course form with the appropriate semester and course related info. The Registrar requests the system to process the course form. The system creates a new course , and this use case ends Registrar Create Course Traceability!
  • 20. Diagrams in UML – Collaboration (Communication) Displays object interactions organized around objects and their direct links to one another. Emphasizes the structural organization of objects that send and receive messages. : Registrar course form: CourseForm theManager : CurriculumManager aCourse: Course 1: set course info 2: request processing 3: add course 4: <<create>> 1: set course info 2: request processing 3: add course 4: <<create>> : Registrar course form : CourseForm theManager : CurriculumManager aCourse: Course Traceability!
  • 21. Diagrams in UML – Collaboration (Communication) What would be the corresponding collaboration diagram? : Student registration form registration manager math 101 1: fill in info 2: submit 3: add course(Sue, math 01) 4: are you open? 5: are you open? 6: add (Sue) 7: add (Sue) math 101 section 1 Which use case could this be for? How about <----------
  • 22. Skip the following for now: In M3.2
  • 23. public Class Selection { private Purchase myPurchase = new Purchase(); private Payment myPayment; public void purchase() { myPurchase.buyMajor(); myPurchase.buyMinor(): myPayment = new Payment( cashTender ); //. .  } // . .  } :Selection :Purchase :Payment purchase buyMajor buyMinor create(cashTender) Sequence Diagrams & Some Programming
  • 24. Interactions - Modeling Actions Simple Call Return Send : TicketAgent c : Client p : PlanningAgent <<create>> setItenerary( i ) calculateRoute() route X notify() return value send call on self <<destroy>> actual parameter return end of object life destroy: e.g., in C++ manual garbage collection; in Java/C#, unnecessary 1 natural death/ self destruction asynchronous in 2.0 (stick arrowhead) – no return value expected at end of callee activation half arrow in 1.x activation of caller may end before callee’s for each conference loop
  • 25. concurrent lifelines for conditionals for concurrency linking sequence diagrams ob1:C1 ob3:C3 ob2:C2 ob3:C3 op1 [x>0] foo(x) [x<0] bar(x) do(w) do(z) recurse() [z=0] jar(z) ob3:C3 [z=0] jar(z) ob3:C3 conditional recursion Sequence Diagrams – Generic vs. Instance 2 forms of sd: Instance sd: describes a specific scenario in detail; no conditions, branches or loops. Generic sd: a use case description with alternative courses. Here, conditional or concurrency?
  • 26. Interaction Diagram: sequence vs communication s1 : StockQuoteSubscriber p : StockQuotePublisher attach(s1) s2 : StockQuoteSubscriber attach(s2) notify() update() update() getState() getState() s1 : StockQuoteSubscriber p : StockQuotePublisher s2 : StockQuoteSubscriber 1 : attach(s1) 6 : getState() 2 : attach(s2) 7 : getState() 3 : notify() 4 : update() 5 : update() Observer design pattern object role:ClassName Procedure call, RMI, JDBC, … Activations - Show duration of execution - Shows call stack - Return message Implicit at end of activation Explicit with a dashed arrow objects Time {update < 1 minutes} classifiers or their instances, use cases or actors.
  • 28. Diagrams in UML - Class Diagrams A class diagram shows the existence of classes and their relationships Recall: A class is a collection of objects with common structure, common behavior, common relationships and common semantics Some classes are shown through the objects in sequence/collaboration diagram CurriculumManager registration form registration manager 3: add course(Sue, math 01) RegistrationManager addCourse(Student,Course) 4: <<create>> theManager : CurriculumManager aCourse : Course Course Traceability!
  • 29. Diagrams in UML - Class Diagrams: static structure in the system 1 0..* 0..* 1 1 1..* 4 1..10 0..4 1 Reading? name User 1 0..* Naming & (often) 3 Sections; Inheritance (as before); Relationships - Multiplicity and Navigation RegistrationForm RegistrationManager Course Student CourseOffering Professor addStudent(student, course) name numberCredits open() addStudent(StudentInfo) major location open() addStudent(StudentInfo) tenureStatus ScheduleAlgorithm CurriculumManager
  • 30. Diagrams in UML – Object Diagrams Shows a set of objects and their relationships. As a static snapshot. harry: Student name = “Harry Kid” katie: Professor name = “Katie Holmes” ooado: CourseOffering location = “Fujitsu” tom: Student name = “Tom Cruise” surie: Professor name = “Surie Holmes” arch: CourseOffering location = “UTD” ooad06S: Course name = “OOAD” harry1: Professor name = “Harry William” arch06F: Course name = “Sw Architecture” alg06F: Course name = “Adv Algorithms” Anything wrong?
  • 31. Diagrams in UML – State Transition Diagram ( Statechart Diagram) entry: Register student exit: Increment count The life history (often of a given class: from class to object behavior) States, transitions, events that cause a transition from one state to another Actions that result from a state change What life history/class is this for? Anything wrong? … until the drop date? initial final event/action (internal) condition state State name activity Initialization Open Closed Canceled do: Initialize course do: Finalize course do: Notify registered students Add Student / Set count = 0 Add student [count < 10] [ count = 10 ] Cancel Cancel Cancel
  • 32. Diagrams in UML – Activity Diagrams Synchronization Initialize course [ count < 10 ] A special kind of statechart diagram that shows the flow from activity to activity . Add student Close course [else] Notify Registrar Notify Billing fork/spawn activity guard initial final What is this for? Traceability??? Can you model this using SD? Can you model this using CD?
  • 33. Diagrams in UML – Component Diagram Course.dll Course People.dll User Register.exe Billing.exe Billing shows the organizations and dependencies among a set of components (mostly <<uses>>). In UML 1.1, a component represented implementation items, such as files and executables; … In UML 2.0 , a component is a replaceable/reusable, architecture /design-time construct w. interfaces Course Course Offering Student Professor Student Professor
  • 34. Diagrams in UML – Deployment Diagram Library Server Dorm PC Main Building Solaris shows the configuration of run-time processing elements and the software processes living on them. visualizes the distribution of components across the enterprise. Register.exe People.dll Billing.exe Course Course Offering People Database Student Professor wireless RMI, sockets TCP/IP Registrar Webserver Course Oracle Server
  • 35. 3 basic building blocks of UML - Diagrams Here, UML 1.x first (UML 2.0 later) Use case Sequence ; Collaboration (C ommunication) Class; Object Statechart Activity Component Deployment Display the boundary of a system & its major functions using use cases and actors Illustrate use case realizations with interaction diagrams Represent a static structure of a system using class diagrams Model the behavior of objects with state transition diagrams Reveal the physical implementation architecture with component & deployment diagrams Extend your functionality with stereotypes Using UML Concepts in a Nutshell
  • 36. Summary Background What is UML for (both 1.x and 2.0)? for visualizing, specifying, constructing, and documenting models Building blocks of UML Things, Relationships (4 kinds) and Diagrams (9 different kinds)
  • 37. Module 2: Introduction to UML - Appendix
  • 38. Extensibility of UML Stereotypes (<< >>) can be used to extend the UML notational elements Stereotypes may be used to classify and extend associations, inheritance relationships, classes, and components Examples: Class stereotypes: boundary, control, entity, utility, exception Inheritance stereotypes: uses and extends Component stereotypes: subsystem Stereotypes — extends vocabulary (metaclass in UML metamodel) Tagged values — extends properties of UML building blocks (i.e., metamodel) Constraints — extend the semantics of UML building blocks. More on this later
  • 39. Architecture & Views (You can skip this part on the first reading) Deployment View Process View Design View Implementation View Use Case View vocabulary functionality performance scalability throughput behavior system assembly configuration mgmt. system topology distribution delivery installation UML is for visualizing, specifying, constructing, and documenting with emphasis on system architectures (things in the system and relationships among the things) from five different views Architecture - set of significant decisions regarding: Organization of a software system. Selection of structural elements & interfaces from which a system is composed. Behavior or collaboration of elements. Composition of structural and behavioral elements. Architectural style guiding the system.
  • 40. Views Use Case View Use Case Analysis is a technique to capture business process from user’s perspective. Encompasses the behavior as seen by users, analysts and testers. Specifies forces that shape the architecture. Static aspects in use case diagrams; Dynamic aspects in interaction (statechart and activity) diagrams. Design View Encompasses classes, interfaces, and collaborations that define the vocabulary of a system. Supports functional requirements of the system. Static aspects in class and object diagrams; Dynamic aspects in interaction diagrams. Process View Encompasses the threads and processes defining concurrency and synchronization. Addresses performance, scalability, and throughput. Static and dynamic aspects captured as in design view; emphasis on active classes. Implementation View Encompasses components and files used to assemble and release a physical system. Addresses configuration management. Static aspects in component diagrams; Dynamic aspects in interaction diagrams. Deployment View Encompasses the nodes that form the system hardware topology. Addresses distribution, delivery, and installation. Static aspects in deployment diagrams; Dynamic aspects in interaction diagrams .
  • 41. Rules of UML Well formed models — semantically self-consistent and in harmony with all its related models . Semantic rules for: Names — what you can call things. Scope — context that gives meaning to a name. Visibility — how names can be seen and used. Integrity — how things properly and consistently relate to one another. Execution — what it means to run or simulate a dynamic model. Avoid models that are Elided — certain elements are hidden for simplicity. Incomplete — certain elements may be missing. Inconsistent — no guarantee of integrity.
  • 42. Process for Using UML Use case driven — use cases are primary artifact for defining behavior of the system. Architecture-centric — the system’s architecture is primary artifact for conceptualizing, constructing, managing, and evolving the system. Iterative and incremental — managing streams of executable releases with increasing parts of the architecture included. How do we use UML as a notation to construct a good model? The Rational Unified Process (RUP)
  • 43. Process for Using UML - Iterative Life Cycle It is planned, managed and predictable …almost It accommodates changes to requirements with less disruption It is based on evolving executable prototypes, not documentation It involves the user/customer throughout the process It is risk driven Primary phases Inception — seed idea is brought up to point of being a viable project. Elaboration — product vision and architecture are defined. ( http://www.utdallas.edu/~chung/OOAD_SUMMER04/HACS_vision_12.doc ) Construction — brought from architectural baseline to point of deployment into user community. Transition — turned over to the user community.
  • 44. Process for Using UML - Iterative Approach Three Important Features Continuous integration - Not done in one lump near the delivery date Frequent, executable releases - Some internal; some delivered Attack risks through demonstrable progress - Progress measured in products, not documentation or engineering estimates Resulting Benefits Releases are a forcing function that drives the development team to closure at regular intervals - Cannot have the “90% done with 90% remaining” phenomenon Can incorporate problems/issues/changes into future iterations rather than disrupting ongoing production The project’s supporting elements (testers, writers, toolsmiths, QA, etc.) can better schedule their work
  • 45. Process for Using UML - Risk Reduction Drives Iterations Initial Project Risks Initial Project Scope Revise Overall Project Plan Cost Schedule Scope/Content Plan Iteration N Cost Schedule Assess Iteration N Risks Eliminated Revise Project Risks Reprioritize Develop Iteration N Collect cost and quality metrics Define scenarios to address highest risks Iteration N
  • 46. Process for Using UML - Use Cases Drive the Iteration Process Inception Elaboration Construction Transition Iteration 1 Iteration 2 Iteration 3 Iteration Planning Reqs Capture Analysis & Design Implementation Test Prepare Release “ Mini-Waterfall” Process Each iteration is defined in terms of the scenarios it implements Selected scenarios Results of previous iterations Up-to-date risk assessment Controlled libraries of models, code, and tests Release description Updated risk assessment Controlled libraries
  • 47. Points to Ponder Are Sequence and Collaboration Diagrams Isomorphic?
  • 48. Points to Ponder How much unification does UML do? Consider the Object Model Notation on the inside cover on the front and back of the textbook &quot;Object Oriented Modeling and Design&quot; by Rumbaugh, et.al. List the OMT items that do not exist in UML List the UML items that do not exist in OMT For those items of OMT for which UML equivalents exist, map the notation to UML. Where would you want to use stereotypes? Model the “Business Process” on page 6 in UML. Map the four (4) phases of the RUP to the traditional software lifecycle. If an object refers to a concept, can an object refer to a concept of an concept? Consider some examples. What would be the essential differences between a property and an attribute? Consider some examples. What is the syntax and semantics of a class diagram? In Component-Based Software Engineering (CBSE), components are the units, or building blocks, of a (distributed) software system. What kind of building blocks of UML can be components for CBSE?