220 likes | 375 Views
UML ++. Mohamed T IBRAHIM University of Greenwich -UK. Outline. Background – “modelling” What is UML? Why use it? Development methodologies A simple Example. Outline. Background – “modelling” What is UML? Why use it? Development methodologies A Simple “Forest” Example.
E N D
UML ++ Mohamed T IBRAHIM University of Greenwich -UK
Outline • Background – “modelling” • What is UML? • Why use it? • Development methodologies • A simple Example
Outline • Background – “modelling” • What is UML? • Why use it? • Development methodologies • A Simple “Forest” Example
Background – “modelling” Real world Systems • Real world systems “universe of discourse” “Context / domain” • Information Systems “Computerised or NOT” • ICT models Models the real world Computers & Networks
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.
Information Models • Data Models • Two main kinds • ERmodels / structured paradigm • Kinds of: Entity, relationships, attributes • Object Oriented paradigm • Classes and objects
Information Models • ERmodels: ERA • an entity: physical or conceptual thing • E.g. forest, tree, stand, … • E.g. seminar, course, order, … contains includes Forest Stand Tree Forest (id-attr, attr1, attr 2, ……………………..)
Forest: Stand: Tree: 1 * 1 * Attributes Attributes Attributes Methods Methods Methods Information Models • Object Oriented paradigm • Classes and objects; associations, • Encapsulation, inheritance, …
Outline • Background – “modelling” • What is UML? • Why use it? • Development methodologies • A simple Example
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.
What is UML? • Unified Modelling Language • Graphical & Visual • Models – static & dynamic • Class, object, sequence, activity, collaboration, interaction, state, deployment, implementation/component
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
UML Artifacts • Use case diagrams • Class diagrams • Object diagrams • Sequence diagrams • Collaboration diagrams • State chart diagrams • Activity diagrams • Component diagrams • Deployment diagrams
Outline • Background – “modelling” • What is UML? • Why use it? • Development methodologies • A simple Example
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
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!
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.
Outline • Background – “modelling” • What is UML? • Why use it? • Development methodologies • A simple Example
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
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 methodologies • A methodology defines formal procedures specifying how to go about it.
Outline • Background – “modelling” • What is UML? • Why use it? • Development methodologies • A Simple Example: Forest Inventory
contains includes Forest Stand Tree An ER Model Forest (id-attr, attr1, attr 2, ……………………..) Stand (id-attr, attr1, attr 2, ……………………..) Tree(aid-attr, attr1, attr 2, ……………………..)