Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

UNIFIED MODELING LANGUAGE

1,861 views

Published on

for those,who like to learning the UML Diagram to Draw the Use Case Tools

Published in: Data & Analytics
  • Login to see the comments

UNIFIED MODELING LANGUAGE

  1. 1. SOOAD Unit-II- Introduction To UML
  2. 2. Building blocks of UML Things in UML - Structural things, Behavioral things Different types of models in UML Different Diagrams in UML OOAD Methodology/Rational Unified Process (RUP) Topic Outline
  3. 3. UML Basics Design Model Process Model Deployment Model ®
  4. 4. What is a Model? “Simplification of reality” – high level logical representation of a system (from a perspective)
  5. 5. Advantages of creating a Model 1. Permits you to specify the structure or behavior of a system. 2. Helps you to visualize a system 3. Provides template that guides you in constructing a system. 4. Helps to understand complex system – part by part 5. Document the decisions – that you have made.
  6. 6. Principles of Modeling
  7. 7. What is UML? “UML is a graphical language for building object- oriented analysis & design – OOAD Models” Standardized by Object Management Group (OMG) in 1997 and in 2005 standardized by ISO In 1990’s 3 different OOAD modeling techniques prevalent (by 3 amigos/pioneers) OMT (Object Modeling Technique) by James Rumbaugh OOAD by Grady Booch OOSE by Ivar Jacobson Unified into – 1 single/standardized UML (1997)
  8. 8. UML Diagrams • UML Diagrams are used to create different types of models. • Different diagrams represent different views of the system.
  9. 9. What is UML? UML used to model diverse range of system - Enterprise Info. System, Web-based application, Mobile Apps, Embedded systems The UML is a language for • Visualizing • Specifying • Constructing • Documenting the artifacts of a software-intensive system.
  10. 10. Advantage of UML UML is a language standardized modeling language Rules - syntax & semantics of UML diagrams Well-formed models (as per the Syntax) Benefit: Diagram created by 1 company/person can be understood by Other company/person
  11. 11. Advantage of UML? UML is a language for Visualizing Visualize a system from different angles – structure and behavior, use-case view High-level conceptual understanding Understand the components of system – and their interaction
  12. 12. Advantage of UML? UML is a language for Specifying • building models that are precise, unambiguous & complete • Specify all analysis, design decisions • Specify requirements, structure, behavior and implementation details
  13. 13. Advantage of UML UML for Constructing • UML Models – mapped – to different target programming Languages like Java, C++ and .NET • Code generation - Forward Engineering • CASE tools like IBM Rational Software Architect
  14. 14. Advantage of UML UML for Documenting • Healthy software org. (CMM/ISO standards based) • Produces all artifacts apart from executable code • UML Models helps in documentation of • Requirements, Software Architecture • Analysis and Design decisions
  15. 15. Conceptual Model of UML To learn UML language, requires 3 elements of UML UML building blocks Rules: that dictate how to put those building blocks together Common mechanism (techniques): that apply throughout UML
  16. 16. Things in UML Building Blocks 1. Things (abstractions of the model) 2. Relationships (tie things together) 3. Diagrams – contain UML things connected using relationships Basic OO Building Blocks For Creating UML diagrams
  17. 17. Things in UML 4 types of things in UML Structural things Behavioral things Grouping things Annotational things
  18. 18. Structural Things in UML Nouns (from problem definition) Static parts of model, representing elements that are either conceptual or physical 7 types of structural things in UML Class Interface Collaboration Use-case Active class Component Node
  19. 19. Different types of Models/Views in UML
  20. 20. Structural Things in UML Class is important OO building block Used to create Class diagram (Structural Model) Desc. of set of objects with same - attributes, operations, relationships & Meaning
  21. 21. Structural Things in UML Interface collection of operations that specify service of a class (externally visible behavior) It is Specification of functionality – implemented by Class Clean separation between – Specification & Impl. E.g. IFigure – operations- draw(), move(), color() It can be implemented by different classes – Circle, Rectangle, Triangle
  22. 22. UML Interface Notation
  23. 23. Structural Things in UML
  24. 24. Structural Things in UML (visio)
  25. 25. Structural Things in UML Collaboration Represents - interaction of many things in UML All elements of collaboration work together to provide Overall behavior E.g. To place order – many objects are required to interact (collaborate) – Customer, Item, Shopping Cart, Order
  26. 26. Structural Things in UML Usecase Distinct functional requirement set of sequence of actions, that system performs – with observable result of value to actor (end-user) Notation: ellipse with solid lines, and its name
  27. 27. Structural Things in UML Active Class It is a physical thing (used in Dynamic Model) is a class whose objects own or more processes or threads Active objects can start or control that flow.
  28. 28. Structural Things in UML Component (Physical Thing) Physical & replaceable part of system Implements (realizes) of set of interfaces It contains (represents physical packaging) – other things like classes, interfaces, packages UML Notation: Rectangle with Tabs
  29. 29. Structural Things in UML Node (Physical Thing) is a physical element that exists at run-time & represents a computational resource Having some memory & processing capability Implements (realizes) of set of interfaces Linux Server SMTP server (Mail server)
  30. 30. Behavioral Things in UML Dynamic model - Represents behavior of system over time and space 1) Interaction consists of a set of messages exchanged among objects to achieve a purpose OR functionality links (the connection among objects) is shown Notation: directed line including the name of operation
  31. 31. Behavioral Things in UML 2) State Machine Represents change in state of object over time Dynamic behavior of a Class (with response to events) State-Notation: is rounded rectangle with name
  32. 32. Behavioral Things in UML 2) State Machine
  33. 33. Grouping Things in UML • Used to organize things in UML 1) Package Container (namespace) for organizing group of related things Notation: tabbed folder with name
  34. 34. Annotational Things in UML Comments you may apply to describes & remarks any element in a model explanatory parts of UML models Note Notation: rectangle with a dog-earned corner with a textual comment
  35. 35. Relationships in UML Used to connect/relate various things in UML to create diagram/model of the proposed system 4 kinds of relationship in UML 1. Dependency 2. Association 3. Generalization 4. Realization
  36. 36. 1) Dependency Semantic relationship between 2 things Change to one thing (independent thing) affects the other things (dependent thing) Graphical notation: dashed line (directed) from dependent to independent
  37. 37. 1) Dependency E.g. Applet class Graphics class Java servlet HttpServletRequest, HttpServletResponse
  38. 38. 2) Association Structural relationship among classes Both classes are having equal status – dependent on each other Graphical Notation-solid line joining two classes It can contain adornments like multiplicity e.g. 1-M
  39. 39. 3) Generalization specialization (inheritance) relationship among 2 classes Child class inherits the structure & behavior of the parent Graphical Notation - solid line with hollow arrowhead pointing to parent
  40. 40. 3) Generalization
  41. 41. 4) Realization Semantic relationship between 2 elements – 1 element specifies a contract, another element implements (fulfills) contract E.g. relation betwen Interface and implementing Class Notation: dashed directing line with solid arrowhead
  42. 42. 4) Realization MS Visio Right click on class – shape display options – show realization link
  43. 43. Different Views/Models in UML Explain the different types of Model in UML? OR Explain the different views of System addressed by UML OR Explain 4+1 views of System addressed by UML
  44. 44. Different Views/Models in UML Structural View/Model static structural model of the system using: - packages, classes, objects, attributes, operations and relationships between classes. Used to identify imp. building blocks of the system and relationship between them. Created using UML diagrams – Class diagram, Package diagram and Object diagram
  45. 45. Different Views/Models in UML
  46. 46. Different Views/Models in UML Dynamic View/Behavioral View/Model emphasizes the dynamic / behavioral aspects of the system Behavior of system with respect to time – to handle external events/provide functionality of software Shows – interaction among objects Change in state of objects and system Created using UML diagrams – Sequence diagram, Communication diagram, Activity diagram and State Diagram
  47. 47. Different Views/Models in UML Process View Deployme nt View Logical View Use-Case View Implementati on View End-user Functionality Programmers Software management Performance, scalability, throughput System integrators System topology, delivery, installation, communication System engineering Analysts/Designers Structure
  48. 48. Different Views/Models in UML
  49. 49. Different Views/Models in UML Implementation View Represent the implementation details – components, their interaction and relationships System from a programmer's perspective E.g. Java application – how many packages/modules Deployment View Installation/deployment details of system Which component is going to run on which server/machine with respect to system topology/architecture
  50. 50. Diagrams in UML Diagram is a graphical presentation of a set of UML elements • Drawn as connected graph of vertices (things) and Arcs (relationships) We draw diagram to visualize (model) a system from different perspectives (angles)
  51. 51. Diagrams in UML What is Relation between UML diagram and Model ? UML Diagram – used to create a model of system E.g. UML Use case diagram is used to create Requirements model of the system. No real-life complex system can be completely understood from only 1 perspective Different diagrams-different views of system
  52. 52. Diagrams in UML Use case Diagram Shows a set of use-cases & actors & their relationships. Used to create requirements view for end users/customers. Central, most important view, created first. Other views/models are based on this model
  53. 53. Diagrams in UML Class Diagram Represents static-design view of system, Shows building blocks and relationship between them in object-orientated system. Shows a set of classes, interfaces, packages, collaborations & their relationships. Used to create Structural Model
  54. 54. Diagrams in UML Class Diagram
  55. 55. Diagrams in UML Sequence diagram Represents Interaction among Objects (when system is running) set of messages exchanged among set of objects (having links). Used to created dynamic/behavioral model
  56. 56. Diagrams in UML Sequence diagram
  57. 57. Diagrams in UML Collaboration diagram (Communication diagram) emphasizes the structural org. of objects that send & receive messages. Used to created dynamic/behavioral model
  58. 58. Diagrams in UML Activity diagram Shows flow of control from activity to activity within system (similar to Flow-chart) Represent high-level business processes, explain logic involved in system
  59. 59. Software development – Best Practices 6 best Practices of Modern Software Engineering (Based on experience of IT Companies on live projects): Develop Iteratively (incremental) Manage requirements Employ a component-based architecture (re-use) Model software visually (using UML) Continuously verify quality Control changes
  60. 60. Object Oriented Methodology Object-oriented Methodology using OOAD is a popular technical approach to analyzing, designing Software - - By applying object oriented visual modeling through out SDLC Better stakeholder communication and product quality. Object-oriented Methodology uses an iterative and incremental approach of system development
  61. 61. Traditional - Waterfall Model Waterfall Model of System Development When analysis is complete, then only design will begin, Problems remain hidden through Analysis, Design and Implementation, discovered LATE
  62. 62. Iterative Development Software developed in Iterations (parts/versions) More flexible (and less risky) - go several times through the various SDLC phases Software lifecycle is a succession of iterations, through which the software develops incrementally.
  63. 63. Iterative and Incremental
  64. 64. Rational Unified Process (RUP) Is most popular iterative OO software development methodology (by IBM) Within each iteration, different SDLC tasks are performed
  65. 65. Rational Unified Process (RUP) System is developed into 4 phases, each consisting of one or more executable iterations of the software Inception Phase – Feasibility study and scope of system Use case model, project plan, initial risk assessment Elaboration Phase – Analysis and Design Model – structural & behavioral model Class Diagram, Activity Diagram, Sequence Diagram Prototype is Developed (limited coding)
  66. 66. Rational Unified Process (RUP) Last 2 phases: Construction Phase – Main emphasis is coding/programming With iterations – Use software component Analysis, Design UML Diagrams/Models – more details added/refined Transition Phase – from development into production (deployment) include training the end users

×