The Significance of UML in Software Development

slide1 n.w
1 / 50
Embed
Share

Explore the history, definition, and significance of Unified Modeling Language (UML) in software development. Learn why UML is essential for specifying, visualizing, and documenting software systems. Discover what UML is not and its role in standardizing methodologies.

  • UML
  • Software Development
  • Modeling Language
  • OMG
  • Methodologies

Uploaded on | 0 Views


Download Presentation

Please find below an Image/Link to download the presentation.

The content on the website is provided AS IS for your information and personal use only. It may not be sold, licensed, or shared on other websites without obtaining consent from the author. If you encounter any issues during the download, it is possible that the publisher has removed the file from their server.

You are allowed to download the files provided on this website for personal or commercial use, subject to the condition that they are used lawfully. All files are the property of their respective owners.

The content on the website is provided AS IS for your information and personal use only. It may not be sold, licensed, or shared on other websites without obtaining consent from the author.

E N D

Presentation Transcript


  1. UML Unified Modeling Language Balla Tibor NLV8 Technologies Ltd. ballatibi@gmail.com

  2. References 1. Jeszenszky P ter - Programoz s technol gi k, UML diasor, 2018 : https://arato.inf.unideb.hu/jeszenszky.peter/download/prt/presentations /uml.pdf 2. Harald St rrle: UML 2, 2007, Budapest, Panem 3. Introduction To OMG's Unified Modeling Language http://www.omg.org/UML/what-is-uml.htm 4. OMG Unified Modeling Language (OMG UML) Version 2.5.1. December 2017. http://www.omg.org/spec/2.5.1/ 5. Szoftverfejleszt s - Az UML s fontosabb diagramjai (prezent ci ) - https://slideplayer.hu/slide/2069589/ 6. Szoftverfejleszt s - Ficsor Lajos, Krizs n Zolt n, Mileff P ter, https://www.tankonyvtar.hu/hu/tartalom/tamop425/0046_szoftverfejles ztes/adatok.html 7. https://www.uml-diagrams.org

  3. Why are we talking about UML? ?

  4. Prerequisites Basic OO definitions

  5. The definition of UML- The OMG's Unified Modeling Language (UML) helps you specify, visualize, and document models of software systems, including their structure and design [...]. (You can use UML for business modeling and modeling of other non-software systems too.)

  6. What isnt UML? - Not a programming language Not a software development methodology Not a general process model Not a television series Not food Not Unconditional Maximum Likelihood (a statistical method) Not ...

  7. Short history of UML- In the 1970s the first structured software development methodologies arrive In the 1980s the first object oriented methods Even small differences in methods sparked large debates among experts (War of Methodologies) The methodologies needed common ground Three Amigos Grandy Booch Jim Rumbaugh (OMT) Ivar Jacobson (OOSE) In an effort to standardize these methods, OMG (Object Management Group) releases UML 0.9 in 1995. Current version: 2.5.1, released in december 2017

  8. The significance of UML- It s not a silver bullet UML is not intended as an invention that will stand for eternity, but a temporary solution for a slowly developing field. Effects: Consolidates knowledge standardization Emphasis is placed on modelling

  9. What is a model? - A model is a representation of something that can be used to make (cheaper, easier, faster) predictions about the original. Business/technical processes analysis and design Existing system documentation Describes the system from a given perspective Modelling can be a part of all phases of the software development cycle It has significant emphasis in the early phases

  10. The importance of modeling- Mistakes most often occur at the requirement engineering or designing stages. The later they are discovered, the more expensive they become. The time spent on creating a valid, correct model is always worth it.

  11. What is a metamodel? - A metamodel is the model of a model. The metamodel of UML is a model that completely models itself. A metamodel enables the creation of new models Meta Object Facility MOF is an open, platform independant metadata management framework, which enables the development of model- and metadata-driven systems.

  12. The structure of UML- Layered design, the core of UML is very dense, simple and highly descriptive Every system is an instance of a model Every model is an instance of a metamodel Every metamodel is an instance of a meta-metamodel

  13. The UML metamodel architecture -

  14. UML diagrams - There are two main groups of diagrams: Structural diagrams: describe static behaviour, states Behaviour diagrams: describe dynamic behaviour, cooperation, activity, state changes. The dynamic behaviour of a system can be described as a series of changes over time. The two groups of diagrams can overlap.

  15. UML diagram - Empty diagram

  16. UML diagrams -

  17. UML diagrams - Structural diagrams: package diagram profile diagram deployment diagram component diagram object diagram class diagram composite structure diagram

  18. UML diagrams - Behaviour diagrams: state machine diagram use case diagram activity diagram interaction diagram: interaction overview diagram sequence diagram timing diagram communication diagram

  19. Generic graphic elements- Comment Dog-eared rectangle Constraint Dog-eared rectangle, that uses an arbitrary language or OCL.

  20. Generic graphic elements- Package Used for grouping model elements Stereotype Defines an extension of one or more metaclasses, enables the use of platform- or domain-specific terminology or notation to supplement the extended metaclass. Given above or before the name of a model element. Notation: << >>

  21. Class diagrams - Describes the model s classes and interactions between them. Static Three type: Analysis class diagram: Represent the structure of the domain Design class diagram: The future details of the implementation are present Implementation class diagram: Equivalent to the class notion of the implementing language

  22. Class diagram -

  23. Class notations - Class Abstract class Class that can t be instantiated Active Class Class that can be active by itself (not just in response to something else) Interface

  24. Class notations - Directed relationships Composition Aggregation Undirected relationships Generalization Implementation Realization

  25. Class notations - Visibility + (public) - (private) # (protected) ~ (package level)

  26. Activity diagram- Models processes, business processes Represents the inner logic of a system Shows What are the elementary steps of a complex business process What can be done in parallel Are there alternate paths in the process graph Activity diagrams have a lot in common with flowcharts

  27. Activity diagram-

  28. Activity diagram- Action Accept Signal Action Send Signal Action Conditional Node Loop Node

  29. Activity diagram- Contol Flow Fork Node Join Node Decision Node Merge Node Flow Final Initial State Final State

  30. Use case diagram - Identifies actors interacting with the system Identifies the classes interacting in a system, and their relationships: Gives a picture of how the users will use the system Can be used to define the borders of a system The users are always outside the system Very important tool of requirement engineering

  31. Use case diagram - Actor Use case

  32. Use case diagram - Includes Extends Extension point

  33. Use case diagram -

  34. State machine diagram - Shows the possible states and state changes of an object during its life cycle. Concerns abstract states By OO definitions, the state of an object is given by the values of its attributes specific state During modeling, some sets of specific states are equivalent.

  35. State machine diagram - These are called abstract states. For example, if we re talking about a student completing a class, there are two abstract states: Successful: got a final mark greater than 1 (this abstract state is the set of four specific states) Unsuccessful: doesn t have signature, or has a signature but no final mark, or has a final mark of 1 (three specific states) These two abstract states are enough to decide if a student can take the next course

  36. State machine diagram - State Composite State Submachine State

  37. State machine diagram - Initial pseudostate Final state fork pseudostate join pseudostate choice pseudostate merge pseudostate

  38. State machine diagram -

  39. State machine diagram -

  40. Sequence diagram-

  41. Package diagram -

  42. Component diagram -

  43. Timing diagram -

  44. Deployment diagram -

  45. Thank you for your attention!

More Related Content