CSC/ECE 517 Summer 2008/wiki2 3 kb

From Expertiza_Wiki
Jump to navigation Jump to search

Unified Modeling Language(UML)

what is UML?

The Unified Modelling Language (UML) is a diagramming language or notation to specify, visualise and document models of Object Orientated software systems. UML is not a development method, that means it does not tell you what to do first and what to do next or how to design your system, but it helps you to visualise your design and communicate with others. UML is controlled by the Object Management Group (OMG) and is the industry standard for graphically describing software.

UML is designed for Object Orientated software design and has limited use for other programming paradigms.

UML is composed of many model elements that represent the different parts of a software system. The UML elements are used to create diagrams, which represent a certain part, or a point of view of the system. The following types of diagrams are supported by Umbrello UML Modeller:

  • Use Case Diagrams show actors (people or other users of the system), use cases (the scenarios when they use the system), and their relationships
  • Class Diagrams show classes and the relationships between them
  • Sequence Diagrams show objects and a sequence of method calls they make to other objects.
  • Collaboration Diagrams show objects and their relationship, putting emphasis on the objects that participate in the message exchange
  • State Diagrams show states, state changes and events in an object or a part of the system
  • Activity Diagrams show activities and the changes from one activity to another with the events occurring in some part of the system
  • Component Diagrams show the high level programming components (such as KParts or Java Beans).
  • Deployment Diagrams show the instances of the components and their relationships.

Web extensions to UML: Using the MVC Triad

Current Web Modelling Languages (WMLs) fall short of the requirements for the modelling of web system development. In particular, those WMLs with a hypermedia basis are more closely focussed on the information architecture whereas software system WMLs are more focussed on the functional architecture. Generally, modelling languages have failed to bridge the gap between these two areas. They also do not handle well the connection between different levels of abstraction and are largely unable to connect well with business models. Based on an analysis of existing modelling approaches, we propose a conceptual extension to modelling approaches that attempts to address these limitations. We show how it can implemented using UML modelling along with the addition of concepts taken from Web information modelling approaches, WebML in particular. The extensions are structured around the Model- View-Controller concept, which we argue provides an appropriate integrating modelling framework.

Java the UML Way

The Case

  • To renovate an apartment:
  • How much paint, or wallpaper, will you need for a wall? Or how much flooring?
  • Here: A little program calculating the area of a surface, e.g. afloor or a wall.
  • We'll work with this case throughout the book. At last we'll have a useful program with graphical user interface (Fig. 15.8)
  • Basic questions when solving a programming problem:
  • utput data: What do we expect to get? What will the program display to theuser?
  • Input data: What has the user to input for the program to produce the given output?

In this case:

  • Output data: the area in square meters
  • Input data: length and width

Example Run: Length: 5.8 m Height: 2.4 m The area of the wall is 13.92 square meters.

Unfortunately, it is rather difficult to read data in to a program in Java.

Ruby the UML Way

References

External Links