Download presentation
Presentation is loading. Please wait.
1
Introduction to UML
2
Modeling Describing a system at a high level of abstraction
A model of the system Used for requirements and specifications Is it necessary to model software systems? 1. Describing the system at abstract level to comprehend its complexity 2. Necessary to manage complexity Good for quick understanding of the systems Less chances of conflicting views b/w end-user and system designers
3
Object Oriented Modeling
Evolution of analysis and design techniques Transition from structured programming to object oriented programming
4
What is UML? UML stands for “Unified Modeling Language”
It is a industry-standard graphical language for specifying, visualizing, constructing, and documenting the artifacts of software systems The UML uses mostly graphical notations to express the OO analysis and design of software projects. Simplifies the complex process of software design . What does UML stand for? . Industry standard . Graphical notation . Modeling tool … simplifies software design process
5
Why UML for Modeling Use graphical notation to communicate more clearly than natural language (imprecise) and code(too detailed). Help acquire an overall view of a system. UML is not dependent on any one language or technology. UML moves us from fragmentation to standardization. . More precise than natural language … less detailed than source code . Not dependent on any language . Standardized by various groups
6
UML History 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 UML 2.0 underway 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 pre-UML UML 1.x UML 2.0
7
History of UML History: - Rumbaugh – OMT – object modeling technique
Jacobson – OOSE UML … unified approach since 1995 UML 1.5 current … UML 2.0 by the end of 2004
8
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 Redun; simpler de facto industry standard
9
UML is for Visual Modeling
A picture is worth a thousand words! - standard graphical notations: Semi-formal - for modeling enterprise info. systems, distributed Web-based applications, real time embedded systems, … Sales Representative Places Order Customer Fulfill Order Item Business Process via Ships the Item - 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.
10
Three (3) basic building blocks of UML (cf. Harry)
Water have Fresh water Rivers Oceans have have Salt water live in have Fish have Crocodiles Penguins Things - important modeling concepts Relationships - tying individual things Diagrams - grouping interrelated collections of things and relationships Just glance thru for now
11
Types of UML Diagrams Use Case Diagram Class Diagram Sequence Diagram
Collaboration Diagram State Diagram This is only a subset of diagrams … but are most widely used
12
3 basic building blocks of UML - Things
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. Main
13
<<interface>>
Structural Things in UML- 7 Kinds (Classifiers) Nouns. Conceptual or physical elements. Interface Node Active Class (processes/threads) Component (collection of externally Visible ops) Class (replaceable part, realizes interfaces) (computational resource at run-time, processing power w. memory) Event Mgr thread time Start suspend( ) stop( ) Student std_id grade changeLevel( ) setGrade( ) getGrade( ) Course.cpp IGrade <<interface>> IGrade UnivWebServer setGrade() getGrade() Manage Course Registration Register for Courses Use Case Collaboration (chain of responsibility shared by a web of interacting objects, structural and behavioral) (a system service sequence of Interactions w. actor)
14
Behavioral Things in UML
Verbs. Dynamic parts of UML models: “behavior over time” Usually connected to structural things. Two primary kinds of behavioral things: Interaction a set of objects exchanging messages, to accomplish a specific purpose. harry: Student ask-for-an-A katie: Professor name = “Harry Kid” name = “Katie Holmes” State Machine specifies the sequence of states an object or an interaction goes through during its lifetime in response to events. received-an-A/ buy-beer inStudy inParty sober/turn-on-PC
15
3 basic building blocks of UML - Diagrams
A connected graph: Vertices are things; Arcs are relationships/behaviors. UML 1.x: 9 diagram types. UML 2.0: 12 diagram types Structural Diagrams Represent the static aspects of a system. Class; Object Component Deployment Structural Diagrams Class; Object Component Deployment Composite Structure Package Behavioral Diagrams Use case Statechart Activity Interaction Diagrams Sequence; Communication Interaction Overview Timing Behavioral Diagrams Represent the dynamic aspects. Use case Sequence; Collaboration Statechart Activity
16
Diagrams in UML – Interaction Diagrams
A use case diagram presents an outside view of the system. Then, how about the inside view of the system? Interaction diagrams describe how use cases are realized in terms of interacting objects. Two types of interaction diagrams Sequence diagrams Collaboration (Communication) diagrams Execution of these two concurrent substates continues in parallel.
17
UML Model Functional model: Use case diagram
Describe the functional behavior of the system as seen by the user Object model: Class diagram Describe the static structure of the system in terms of Objects, Attributes, Associations, and Operations.
18
UML Model Class diagram used in different phases of the software life cycle Requirement and analysis: analysis object model application concepts 2. System design: system design model descriptions of subsystem interfaces 3. Object design: object design model detailed descriptions of solution objects
19
UML Model Dynamic model: Interaction diagram, State machine diagram, Activity diagram Describe the internal behavior of the system Interaction diagram : describe behavior as a sequence of messages exchanged among a set of objects State machine diagram : describe behavior in terms of states of an individual object and the possible transitions between states Activity diagram : describe behavior in terms of control and data flows
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.