1 / 19

Introduction to UML

Introduction to UML. 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?. Object Oriented Modeling. What is UML?. UML stands for “Unified Modeling Language”

agnesp
Download Presentation

Introduction to UML

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  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?

  3. Object Oriented Modeling

  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

  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 fragmentationto standardization.

  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 http://www.omg.org/technology/documents/formal/uml.htm • UML 2.0 underway http://www.uml.org/ • IBM-Rational now hasThree 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/ pre-UML UML 1.x UML 2.0

  7. History of UML

  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 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 • Things -important modeling concepts • Relationships - tying individual things • Diagrams - grouping interrelated collections of things and relationships have have Salt water live in have Fish have Crocodiles Penguins 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. 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. ask-for-an-A harry: Student 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 Interaction Diagrams • Sequence; Communication • Interaction Overview • Timing Behavioral Diagrams • Use case • Statechart • Activity 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? • Interactiondiagramsdescribe how use cases are realized in terms of interacting objects. • Two types of interaction diagrams • Sequence diagrams • Collaboration (Communication) diagrams

  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

More Related