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

Unified Modeling Language

  • Be the first to comment

  • Be the first to like this

Unified Modeling Language

  1. 1. CS 690 REPORT-03 Unified Modeling Language 1 Reference:http://www.csfa47.edu.ar/user/sitio/acerca_de_uml.php
  2. 2. Contents 2 Contents Slide No. Introduction 3-4 Main features/functions/characteristics 5-9 Real World Examples 10-16 SWOT:Advantage 17-18 SWOT:Weaknesses/Potential Problems 19-20 OPTIONAL Part 21-30 References Recommended 31-37
  3. 3. 1.1 Introduction(Basics)  UML stands for Unified Modeling Language.  UML is a graphical language for visualizing, specifying, constructing, and documenting the artifacts of a software-intensive system.  The UML offers a standard way to write a system's blueprints, including conceptual things such as business processes and system functions  UML is different from the other common programming languages like C++, Java, COBOL etc.  The UML is used to define a software system; to detail the artifacts in the system, to document and construct  The UML may be used in a variety of ways to support a software development methodology (such as the Rational Unified Process) - but in itself it does not specify that methodology or process.  Although UML is generally used to model software systems but it is not limited within this boundary. It is also used to model non software systems as well like process flow in a manufacturing unit etc.  UML is not a programming language but tools can be used to generate code in various languages using UML diagrams. UML has a direct relation with object oriented analysis and design 3
  4. 4. 1.2 Introduction(History)  Object oriented concepts were introduced much earlier than UML. So at that time there were no standard methodologies to organize and consolidate the object oriented development. At that point of time UML came into picture.  UML was created by Object Management Group (OMG) and UML 1.0 specification draft was proposed to the OMG in January 1997.  In 1997 UML was adopted as a standard by the Object Management Group (OMG), and has been managed by this organization ever since  In 2005 the Unified Modeling Language was also published by the International Organization for Standardization (ISO) as an approved ISO standard. 4 Reference:https://en.wikipedia.org/wiki/Unified_Modeling_Language
  5. 5. 2. Main Features 5 Features Description Classifications of UML Behavior diagrams. Includes behavioral features of a system or business process. This includes activity, state machine, and use case diagrams as well as the four interaction diagrams. Structure diagrams. A type of diagram that depicts the elements of a specification that are irrespective of time. This includes class, composite structure, component, deployment, object, and package diagrams Reference:http://www.sparxsystems.com/uml-tutorial.html
  6. 6. Cont’d 6 Types of Models in UML Functional Model Showcases the functionality of the system from the user's Point of View. Object Model Showcases the structure and substructure of the system using objects Dynamic Model Showcases the internal behavior of the system. Most widely used UML Diagrams Use Case Diagram Class Diagram Sequence Diagram Collaboration Diagram State Diagram Note:This is only a subset of diagrams … but are most widely used
  7. 7. Cont’d 7 Use Case Diagram (core components) Actors: A role that a user plays with respect to the system, including human users and other systems. e.g., inanimate physical objects (e.g. robot); an external system that needs some information from the current system. Use case: A set of scenarios that describing an interaction between a user and a system, including alternatives System boundary: rectangle diagram representing the boundary between the actors and the system. Reference:http://www.tutorialspoint.com/uml/uml_overview.htm
  8. 8. Cont’d 8 Class diagram Used for describing structure and behavior in the use cases Provide a conceptual model of the system in terms of entities and their relationships Used for requirement capture, end-user interaction Detailed class diagrams are used for developers Sequence Diagram Sequence diagrams demonstrate the behavior of objects in a use case by describing the objects and the messages they pass. The horizontal dimension shows the objects participating in the interaction. The vertical arrangement of messages indicates their order. Reference:http://www.omg.org
  9. 9. Cont’d 9 State Diagrams State Diagrams show the sequences of states an object goes through during its life cycle in response to stimuli, together with its responses and actions; an abstraction of all possible behaviors. Take the example of online shopping system. Reference:
  10. 10. 3.Real World Examples 10 Examples Description Information system Handle large amounts of data with complex relationships, which are stored in relational or object databases Technical system Handle control technical equipment such as telecommunications, military systems, or industrial processes. They must handle the special interfaces of the equipment and have less standard software than Information system. The are often real-time system. Embedded real-time systems Execute on simple hardware embedded in some other equipment such as a mobile phone, car, household appliance, etc.
  11. 11. Cont’d 11 Distributed System Distributed on a number of machines where data Is transferred easily from one machine to another. They require synchronized communication mechanisms to ensure data integrity and are often built upon object mechanisms such as CORBA, COM/DCOM, or Java Beans/RMI System software Define the technical infrastructure that other software uses. Operating system. Databases. Business system Describe the goals, the resources (human, computers), the rules (laws, business strategies, policies), and the actual work in the business
  12. 12. 3.1.Real-Time Embedded Systems 12 The UML was designed as a graphical notation for use with object-oriented systems and applications. Because of its popularity, now it is emerging in the field of embedded systems design as a modeling language. The UML notation is useful in capturing the requirements, documenting the structure, decomposing into objects and defining relationships between objects. It is a notational language that is very useful in modelling the real-time embedded systems. Like: designing of electromechanical systems that are controlled by multi-processors  Low-Current Sytems Prototyping  Bikes Modeling  Motors Modeling Etc. Reference:http:/www.engineering.com
  13. 13. 3.2.Real-Time Information system 13  Accounts Systems  Business Management Systems  Health Care Systems  Social Networking Systems  Softwares developed for database management  Security systems  Brain Mapping Systems Reference:http:/www.engineering.com
  14. 14. 3.3.Real Time Technical Systems 14  Complicated Technical systems need modeling  Example In Amazon there are Robots not man power for packaging They used UML for creating prototypes Like : Robots Aircrafts Rockets are complex technical Systems designed through UML Reference:http:/technoworld.com
  15. 15. 3.4.Real Time Distributed systems 15  telephone networks and cellular networks,  computer networks such as the Internet,  wireless sensor networks,  routing algorithms;  World wide web and peer-to-peer networks,  massively multiplayer online games and virtual reality communities,  distributed databases and distributed database management systems,  network file systems, Reference:http:/www.w7cloud.com
  16. 16. 3.4.Real World Applications of UML in Fields 16  Enterprise information systems  Banking and financial services  Telecommunications  Defense  Transportation  Retail  Science and Research  Distributed Web-based services  Agriculture Reference:http:/engineeringworld.com
  17. 17. 4. SWOT: Advantages and Benefits 17 # Advantages Brief explanation 1 Easy to Organize Use case diagrams help to organize the requirements. The notations for a use case represents a cohesive set of interaction between the user and the system. By simply referring to a use case , a complex set of interactions can be accessed easily thereby simplifying the discussions 2 Reduces documentation Use case documents complete the functional requirement. Thus for the projects using use case diagrams no additional document needed. 3 Use case diagram is strength The ability to show an abstract actor that deals with the common user is one of the major strength of use case diagrams. 4 Cost Efficient The right decisions are made before you are given poorly written code. Less overall costs
  18. 18. Cont’d 18 5 Easy to Understand UML breaks the complex system into discrete pieces that can be understood easily Complex system can be understood by the disparate developers who are working on different platforms 6 Standards UML is the current standard for programming in object-oriented programming languages. When creating classes and other objects with relationships between each other, UML is what is used to visually describe these relationships. Because it is used as a standard, it is widely understood and well known. This makes it easy for a new programmer to step into a project and be productive from day one. 7 Planning Tool UML helps to plan a program before the programming takes place. In some tools used to model UML, the tool will generate code based on the classes set up in the model. This can help reduce overhead during the implementation stage of any program. Additionally, a UML model diagram is easy to change, whereas reprogramming a section of code can be tedious and time- consuming.
  19. 19. 5.SWOT:Weaknesses/Potential Problems 19 # Advantages Brief explanation 1 Specification Still no specification for modeling of user interfaces. 2 Poor for distributed systems No way to formally specify serialization and object persistence. E.g. no way to specify that an object resides on a server process and shared among instances of a running process. 3 Synchronizing code with models is difficult Using multiple models/diagrams makes it difficult to keep them consistent with each other and the code and much code has to be added by hand 4 Unclear Who Benefits UML is not advantageous to software developers, mainly because software developers work with code, not pictures or diagrams. UML diagrams may be beneficial to project managers or executives to illustrate how a software tool will work, but it might be easier to draw the diagram out on a whiteboard or piece of paper, rather than take the time to learn the UML language.
  20. 20. Cont’d 20 5 Too Much Emphasis on Design UML places much emphasis on design, which can be problematic for some developers and companies Companies cannot solve every problem with a software tool using a UML diagram -- eventually, they just have to start coding and testing 6 Time One disadvantage some developers might find when using UML is the time it takes to manage and maintain UML diagrams. To work properly, UML diagrams must be synchronized with the software code, which requires time to set up and maintain, and adds work to a software development project. Small companies and independent developers might not be able to handle the added amount of work required to synchronize the code.
  21. 21. 6. List of Open Source(Optional) 21 # Source tool Exact Web address to download that tool OPTIONAL: Test tool and provide your evaluation of this tool 1 ArgoUML http://argouml.tig ris.org/ The diagramming features are easy to use and provides useful assistance in the formatting / aligning process. The nicer aspects of ArgoUML lie in its design assistance features. The design evaluation and checklists provides valuable help to make sure that your models are well formed. This will be specifically attractive for people that are learning UML diagrams or don't use them continuously.
  22. 22. Cont’d 22 2 UMLet http://www.umlet.c om/ UMLet is a UML tool aimed at providing a fast way of creating UML diagrams. UML elements are modified using text input instead of pop-up dialogs. Users can easily tailor UMLet to their modeling needs. UMLet supports a variety of UML diagram types: class diagrams, use case diagrams, sequence diagrams, state diagrams, deployment diagrams, activity diagrams 3 StarUML http://staruml.io/ StarUML supports many shorthands in Quick Edit to create elements and relationships at once StarUML is compatible with UML 2.x standard and supports totally 11 kinds of UML diagrams 4 Umbrello https://umbrello.kd e.org/ Umbrello UML Modeller is a Unified Modelling Language (UML) diagram program based on KDE Technology. UML allows you to create diagrams of software and other systems in a standard format to document or design the structure of your programs.
  23. 23. Cont’d 23 www.rational.com Rational Rose By IBM Rational Rose supports an internal scripting and extension language BasicScript. BasicScript is compliant with the VBA (Visual Basic for Applications) language. VBA is considered to be the standard Microsoft Windows extension and scripting language for applications. Applications like Microsoft Office, Visio, AutoCAD for NT, and many other Windows applications all use VBA as their extension language http://www.borland.com/togethe r/index.html TogetherSoft Control Center, Borland
  24. 24. Cont’d 24 Reference: http://www.cs.utah.edu/~ndykman/Draft.pdf
  25. 25. 6.1.(Optional)Why AgroUML? 25 • Systems: platform independent (Java Runtime Environment) • Exports to: XMI, PNG, SVG, GIF, JPEG, EPS, PS Supports: o Class Diagram o Use Case Diagram o Sequence Diagram o Collaboration Diagram o State Diagram o Activity Diagram o Deployment Diagram • Code generation for: C++, C#, Java, PHP4, PHP5, SQL • Code reverse engineering (Code to UML): Java, C++, C#, IDL (including relationships) • Code generation from UML Code to UML Exports to XMI UI a bit crowded, harder for beginners Reference: http://argouml.tigris.org/
  26. 26. 6.2.(Optional)Why UMLet? 26 • Systems: platform independent (Java Runtime Environment) • Exports to: PNG, PDF, SVG, JPEG, EPS, BMP • Supports: o Class Diagram o Use Case Diagram o Interaction Diagram o State Diagram o Activity Diagram o Deployment Diagram o Context Diagram o code reverse engineering (Code to UML): Java (only classes, no relationships)  It also works as eclipse plugin no code generation from UML not very user friendlySummary: This tool offers no functionality which could not also be found in most other UML tools. But it is more difficult to use, so I would not personally recommend it. Notes: attributes, operations, etc. cannot be changed via GUI, but via a custom Properties file (which may be edited directly in the GUI, but you do need to learn the layout of this file, which means reading the documentation) Reference: http://www.umlet.com/
  27. 27. 6.3.(Optional)Why StarUML? 27 Features of StarUML are as follows:  Accurate UML standard model  Open software model format  True MDA support  Excellent extensibility  Software model verification function  Useful Add-Ins Reference: http://staruml.sourceforge.net
  28. 28. 6.4.(Optional)Why Umbrello? 28 Umbrello UML Modeller supports the following types:  Class Diagram  Sequence Diagram  Collaboration Diagram  Use Case Diagram  State Diagram  Activity Diagram  Component Diagram  Deployment Diagram  Entity Relationship Diagram Reference: http://umbrello.kde.org/
  29. 29. 6.5.(Optional)Why Rational Rose? 29  Capture information visually and directly - provides a visual modeling language to improve creation of database applications.  Evolve database design into the application’s logic - allows you to visualize the database architecture and how it ties to the application.  Integrate database design with development - unifies the project team by providing common UML model execution and notation. Reference: http://www-03.ibm.com/software/products/en/datamodeler
  30. 30. 6.6.(Optional)Why TogetherSoft(TCC) ? 30  Togethersoft is a very good product that combines the design and development environment.  But Togethersoft's target is Java, which is unique in this industry, and it does a very good job as well. I would say, from a pure object modeling point of view.  TCC has an integrated Java development environment.  Togethersoft Control Center isn't just a UML modeling tool. It is a full development platform that supports the software development process from requirements through testing. It supports bi- directional updates between UML models and project source, so changes that you make to a model simultaneously update the corresponding project source (and vice-versa).  It can retro-engineer an existing project from its source which is very handy when you're trying to understand an undocumented application (which, of course, never happens).  Control Center is built in Java, so it runs under any Java-enabled platform.  TCC has a full-featured editor that is somewhat reminiscent of IntelliJ's IDEA. Reference: http://codeverge.com/sybase.powerdesigner.general/togethersoft-control-center- 6.0/819005
  31. 31. 7. References 31 Topic of articles, papers or reports Exact Web address to download that article Topics covered UML Based Object-oriented Development: Experience with Inexperienced Developers https://bib.irb.hr/datoteka/ 85049.055_C28.pdf UML in practise Development process Reverse engineering Experiments with inexperience developers Unified Modeling Language (UML) for Database Systems and Computer Applications http://www.sersc.org/jour nals/IJDTA/vol5_no1/9.pd f UML for database system Database systems Uml diagram for DB syatem Using UML for Automatic Test Generation https://www.research.ibm. com/haifa/projects/verific ation/mdt/papers/uml4test gen.pdf Architecture The Agedis modelling language Chooding UML Target language Class diagrams Object diagrams State diagrams
  32. 32. Cont’d 32 UML-Based Integration Testing https://www4.in.tum.de/publ/pa pers/meisinge00.pdf Modeling components in UML. Establishing a Global Behavioral Model Test Generation and Execution Implementatiopn of TnT Evaluation of example Software Design Testing Based on UML Diagrams http://www.ijarcsse.com/docs/p apers/Special_Issue/icadet2014/ Lord_38.pdf The UML UML Based Software Testing Related work Proposed technique Data extraction from UML
  33. 33. 8.1.1 Our Own Conclusion 33  UML amounts to a combination of EER diagrams, statecharts and other diagrammatic notations.  Much of this is useful for conceptual modeling. Some diagrams, however, are appropriate for software modeling only.  The great contribution of UML is that for the first time ever, there is a modeling standard; this has led to compatibility and portability of conceptual models.  The great weakness of UML is that it was designed by committee, and some design decisions were based on political, rather than technical considerations.  Another major weakness of UML is that it is (still largely) informal. Informal models are not scalable!  Unified Modeling Language - UML.  A modeling language, not a method.  Provides a graphical representation that allows developers and architects to model a software system before the system is ever built.  Analogy - an architect creating a blueprint before a house or office building is ever built.
  34. 34. 8.1.2.Summary 34  The UML does not specify a methodology/process. Therefore, saying ``We use the UML methodology is incorrect.'‘  Structure Diagram  Class Diagram (shows the static, structural, model elements, mainly classes and types)  Composite Structure Diagram (shows the internal structure and interaction points of a class or component or use case)  Object Diagram (shows objects and their relationships at a point in time)  Package Diagram (shows the grouping of model elements into packages and the releationships between packages)  Component Diagram (shows components — e.g., source code, binaries, media — and their dependencies)  Deployment Diagram (shows the configuration of processing devices and which components run on them)
  35. 35. 8.1.3.Summary 35  Behavior Diagram  Use Case Diagram (shows actors and use cases)  Activity Diagram (shows processes)  State Machine Diagram (shows behavior in terms of state transitions)  Interaction Diagram  Sequence Diagram (shows an interaction by laying out objects across the top and running their lifelines down the diagram, wit messages exchanged between lifelines to make the sequence of messages clear)  Communication Diagram (shows an interaction where the layout of objects is arbitrary and the sequence of messages is shown by numbering them)  Interaction Overview Diagram (groups interaction diagrams into a high level activity diagram)  Timing Diagram (shows state changes over time)
  36. 36. 8.2.1.Our Own Recommendations(Part-A) 36 A)Should companies and businesses invest financial and human resources, deploy and use Unified Modeling Language? Yes,The good thing about UML is It can model any kind of software(like Linux kernel, open office, any web application, etc) or only can model a software which uses Object Oriented language(Java, c++, etc). Only thing is we should decide what kind of modeling methods is used for giant open source projects(Linux kernel, Openoffice.org, Firefox, Apache http, MySQL, Eclipse, VIM, etc. Yes,We think modeling is good way to figure out software so, UML need to be used. Yes,UML is first and foremost a communication tool, it helps you communicate ideas to other people on your team (or to yourself three months in the future), and as such, should be evaluated based on how easy it can express whatever you have in mind. Yes,Being language-independent, UML cannot be used to express the expected, idiomatic way to use a given API or module, yet this is an essential part of the design. No,Here is a pitfall as well UML cannot easily capture some specific properties of data structures that are relied on by algorithms Yes,Finally, languages may have features that are not represented elegantly in UML at all - for instance, Objective Caml module functors, or closures in any language that has them. Yes, Engineers use standards for building bridges, so that they do not fall over (at least in developed countries); to ensure that the purchaser and the supplier mean the same thing when they draw a symbol for a standard bolt; and we use standards in designing i.e. UML to in the same way. Yes,For small UML diagrams Gaphor is recommended, and for complex UML tool with a lot of functionality ArgoUML recommended.Use tools as per the requirements of projects
  37. 37. 8.2.2Our Own Recommendations(Part-B) 37 B)Should we (CS/IS Department) recommend Unified Modeling Language for active use in CS/IS curricula, for example, as a separate DIS or Advanced Topics course? Yes, A software engineer should know how to choose a right tool for the particular software modeling. Yes, A software engineer should know UML Modeling Standard. Yes, A software engineer should have knowledge of all kinds of UML Tools available and their usage. Yes, UML is being used for fighter aircraft, banks and financial institutions and govt. depts. in developed countries for Information Modeling, Relational Database Modeling, Function Modeling . So, people involved in Information Modeling, Relational Database Modeling, Function Modeling and architecting the softwares of all types should have knowledge in UML Yes, To represent complex things in simplified manner, UML is primary requirement to learn. Yes, Learning UML helps promote a deeper understanding of the system, exposing opportunities for simplification and re-use Manage risk. Yes, UML is for the communication of the desired structure and behaviour of a system between analysts, architects, developers, stakeholders and users. Yes, Learning UML helps visualisation and control of system architecture. Final words: As explained in real world examples above all kinds of fields require the usage of UML: Accounts Systems, Business Management Systems, Health Care Systems, Social Networking Systems, Software's developed for database management, Security systems, Brain Mapping Systems.
  38. 38. Credits(Content help+Pictures)  http://www.sparxsystems.com/uml-tutorial.html  https://en.wikipedia.org/wiki/Unified_Modeling_Language  http://www.tutorialspoint.com/uml/uml_overview.htm  https://www.google.co.in/imgres?imgurl=http://www.softwaretestinggenius.com/photos/TA45.JPG&imgrefurl=http://m.softwaretes tinggenius.com/?page%3Ddetails%26url%3Distqb-advanced-level-test-analyst-and-technical-test-analyst-exam-sample-paper-q- 41-to- 50&h=200&w=542&tbnid=es08jcJVDhGLBM:&docid=p8frQms2eHpeyM&ei=qKCYVpn6OIGLuATl8Y7QDg&tbm=isch&ved= 0ahUKEwiZ7ubLpqvKAhWBBY4KHeW4A-oQMwg3KAcwBw  http://www-306.ibm.com/software/rational/uml/  http://www.togethersoft.com/services/practical_guides/umlonlinecourse/  http://www.ehow.com/info_8584011_list-advantages-uml.html  http://www.methodsandtools.com/tools/tools.php?argouml  http://www.soi.wide.ad.jp/class/20040034/slides/11/25.html  http://www.omg.org  http://www.rational.com/uml/index.jsp  UML Distilled - http://www.awl.com/cseng/titles/0-201-32563-2 38

    Be the first to comment

    Login to see the comments

Unified Modeling Language

Views

Total views

1,363

On Slideshare

0

From embeds

0

Number of embeds

26

Actions

Downloads

46

Shares

0

Comments

0

Likes

0

×