background preloader

Practical UML™: A Hands-On Introduction for Developers

Practical UML™: A Hands-On Introduction for Developers
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™. The purpose of this course is to present important highlights of the UML. At the center of the UML are its nine kinds of modeling diagrams, which we describe here. Some of the sections of this course contain links to pages with more detailed information. Why is UML important? Let's look at this question from the point of view of the construction trade. Writing software is not unlike constructing a building. The UML is applicable to object-oriented problem solving. Models consist of objects that interact by sending each other messages. Classes are the "blueprints" for objects. Use case diagrams Use case diagrams describe what a system does from the standpoint of an external observer. Class diagrams Related:  UML

UML 2 Class Diagrams: An Agile Introduction UML 2 class diagrams are the mainstay of object-oriented analysis and design. UML 2 class diagrams show the classes of the system, their interrelationships (including inheritance, aggregation, and association), and the operations and attributes of the classes. Class diagrams are used for a wide variety of purposes, including both conceptual/domain modeling and detailed design modeling. Although I prefer to create class diagrams on whiteboards because simple tools are more inclusive most of the diagrams that I'll show in this article are drawn using a software-based drawing tool so you may see the exact notation. In this article I discuss: 1. Figure 1 depicts a start at a simple UML class diagram for the conceptual model for a university. Figure 1. Enrollment is an associative class, also called a link class, which is used to model associations that have methods and attributes. Figure 2 depicts a reworked version of Figure 1, the associative class has been resolved. Figure 2. 2. 3. Source The UML Class Diagram: Part 1 In the previous article, you saw what UML use cases are, and how to identify and create use cases. Now, you will learn about UML class diagrams, what the elements of a class diagram are, what each of these elements signify, and how to identify them. In our next article, a sequel to this one, we will see how to create class diagrams for our case study—Courseware Management System. By the end of the second article, you will be able to define classes for a system and read and create class diagrams. Basics of UML Class Diagrams What is a UML class diagram? Identify the main members of the familyIdentify how they are related to each otherFind the characteristics of each family memberDetermine relations among family membersDecide the inheritance of personal traits and characters A UML class diagram is similar to a family tree. Similarly, a software application is comprised of classes and a diagram depicting the relationship between each of these classes would be the class diagram. Page 1 of 2

Voices on Project Management In my last post, I wrote about the importance of a project schedule plan and the fact that a project schedule is generally constrained by various factors. In this post, I'll take a deeper dive into the three techniques that can be applied to address resource and time constraints. Resource leveling This technique can be applied to a project's schedule plan when the project is facing resource constraints or when you need to allocate resources consistently and most effectively throughout the life cycle (e.g., all resources utilized at 100 percent capacity by project completion). The basic idea behind resource leveling is to recognize tasks, priorities, dependencies and constraints. Logically speaking, resource leveling is applied in this order: Develop the schedule.Consider work tasks, dependencies and constraints.Identify the critical path of your project schedule.Allocate resources. Schedule crashing This technique focuses on the tasks on the critical path. Fast-tracking

Class Diagram Relationships in UML with ExamplesCreately Blog | Diagramming Articles and Tips on How to Draw Diagrams Many people consider class diagrams a bit more complicated to build compared with ER diagrams. While this might be true, this article helps clip some of the complexities of class diagrams in such a way that even non-programmers and less tech-savvy individuals will come to appreciate the usefulness of this modeling approach. In particular, this article explains how to correctly determine and implement the different class diagram relationships that are applicable in object-oriented modeling. Relationships in UML class diagrams Class Diagrams Explained Class diagrams are visual representations of the static structure and composition of a particular system using the conventions set by the Unified Modeling Language (UML). The following figure is an example of a simple class diagram: Simple class diagram with attributes and operations In the example, a class called “loan account” is depicted. Relationships in Class Diagrams Classes are interrelated to each other in specific ways. Association 1.

Project Management Articles UML - Building Blocks As UML describes the real time systems it is very important to make a conceptual model and then proceed gradually. Conceptual model of UML can be mastered by learning the following three major elements: UML building blocksRules to connect the building blocksCommon mechanisms of UML This chapter describes all the UML building blocks. ThingsRelationshipsDiagrams (1) Things: Things are the most important building blocks of UML. StructuralBehavioralGroupingAnnotational Structural things: The Structural things define the static part of the model. Class: Class represents set of objects having similar responsibilities. Interface: Interface defines a set of operations which specify the responsibility of a class. Collaboration: Collaboration defines interaction between elements. Use case: Use case represents a set of actions performed by a system for a specific goal. Component: Component describes physical part of a system. Node: A node can be defined as a physical element that exists at run time. Interaction:

Kelly's Contemplation