Presentation on theme: "1 UML ++ Mohamed T IBRAHIM University of Greenwich -UK."— Presentation transcript:
1 UML ++ Mohamed T IBRAHIM University of Greenwich -UK
2 Outline Background – “modelling” What is UML? Why use it? Development methodologies A simple Example
3 Outline Background – “modelling” What is UML? Why use it? Development methodologies A Simple “Forest” Example
4 Background – “modelling” Real world systems “universe of discourse” “Context / domain” Information Systems “Computerised or NOT” ICT Real world Systems models Models the real world Computers & Networks
5 What is the purpose of modeling? Developing a model for an industrial-strength software system prior to its construction or renovation is as essential as having a blueprint for large building. Good models are essential for communication among project teams and to assure architectural soundness. As the complexity of systems increase, so does the importance of good modeling techniques. There are many additional factors of a project's success, but having a rigorous modeling language standard is one essential factor.
6 Information Models Data Models Two main kinds –ER models / structured paradigm Kinds of: Entity, relationships, attributes –Object Oriented paradigm Classes and objects
7 Information Models –ER models: ERA an entity: physical or conceptual thing E.g. forest, tree, stand, … E.g. seminar, course, order, … ForestStandTree containsincludes Forest (id-attr, attr1, attr 2, ……………………..)
9 Outline Background – “modelling” What is UML? Why use it? Development methodologies A simple Example
10 What is UML? The Unified Modeling Language™ (UML™) is the industry-standard language for specifying, visualizing, constructing, and documenting the artifacts of software systems. It simplifies the complex process of software design, making a "blueprint" for construction.
11 What is UML? Unified Modelling Language Graphical & Visual Models – static & dynamic Class, object, sequence, activity, collaboration, interaction, state, deployment, implementation/component
12 UML The heart of object-oriented problem solving is the construction of a model. The model abstracts the essential details of the underlying problem from its usually complicated real world. Several modeling tools are wrapped under the heading of the UML™, which stands for Unified Modeling Language™. At the center of the UML are its nine kinds of modeling diagrams
13 UML Artifacts Use case diagrams Class diagrams Object diagrams Sequence diagrams Collaboration diagrams State chart diagrams Activity diagrams Component diagrams Deployment diagrams
14 Outline Background – “modelling” What is UML? Why use it? Development methodologies A simple Example
15 Why use it? It’s a language to express in a visual form our perception of a real world system, its structure, its behaviour and the constraints that apply to both – static & dynamic
16 Why use it? One characteristic of UML - in fact, the one that enables the widespread industry support that the language enjoys - is that it is methodology-independent. Regardless of the methodology that you use to perform your analysis and design, you can use UML to express the results. And, using XMI (XML Metadata Interchange, another OMG standard), you can transfer your UML model from one tool into a repository, or into another tool for refinement or the next step in your chosen development process. These are the benefits of standardization!
17 What can you Model with UML? UML defines twelve types of diagrams, divided into three categories: Four diagram types represent static application structure; five represent different aspects of dynamic behavior; and three represent ways you can organize and manage your application modules. 4 Structural Diagrams include the Class Diagram, Object Diagram, Component Diagram, and Deployment Diagram. 5 Behavior Diagrams include the Use Case Diagram (used by some methodologies during requirements gathering); Sequence Diagram, Activity Diagram, Collaboration Diagram, and Statechart Diagram. 3 Model Management Diagrams include Packages, Subsystems, and Models.
18 Outline Background – “modelling” What is UML? Why use it? Development methodologies A simple Example
19 Development methodologies UML is NOT a methodology It can be used with any method, e.g. USDP, RUP, etc Methods: –architecture-centric, –Use-case driven, –iterative
20 Development methodologies Models vs. Methodologies: The process of gathering and analyzing an application's requirements, and incorporating them into a program design, is a complex one and the industry currently supports many methodologiesmany methodologies A methodology defines formal procedures specifying how to go about it.A methodology defines formal procedures specifying how to go about it
21 Outline Background – “modelling” What is UML? Why use it? Development methodologies A Simple Example: Forest Inventory
22 An ER Model ForestStandTree containsincludes Forest (id-attr, attr1, attr 2, ……………………..) Stand (id-attr, attr1, attr 2, ……………………..) Tree(aid-attr, attr1, attr 2, ……………………..)