UML Tutorial

Identifiable object-oriented modeling languages began to appear between mid-1970 and the late 1980s as various methodologists experimented with different approaches to object-oriented analysis and design. The number of identified modeling languages increased from less than 10 to more than 50 during the period between 1989-1994. Many users of OO methods had trouble finding complete satisfaction in any one modeling language, fueling the “method wars.” By the mid-1990s, new iterations of these methods began to appear and these methods began to incorporate each other’s techniques, and a few clearly prominent methods emerged.

The development of UML began in late 1994 when Grady Booch and Jim Rumbaugh of Rational Software Corporation began their work on unifying the Booch and OMT (Object Modeling Technique) methods. In the Fall of 1995, Ivar Jacobson and his Objectory company joined Rational and this unification effort, merging in the OOSE (Object-Oriented Software Engineering) method.

What is software Engineering?

Software engineering (SE) is concerned with developing and maintaining software systems that behave reliably and efficiently, are affordable to develop and maintain, and satisfy all the requirements that customers have defined for them. It is important because of the impact of large, expensive software systems and the role of software in safety-critical applications. It integrates …

What is software Engineering? Read More »

Definitions of Software Engineering

 Definitions of Software Engineering Over the years, numerous definitions of the discipline of Software Engineering have been presented. For the purpose of this document, we highlight the following definitions: “The establishment and use of sound engineering principles (methods) in order to obtain economically software that is reliable and works on real machines” [Bauer 1972]. “Software …

Definitions of Software Engineering Read More »

Software Engineering Approaches

Software Engineering Approaches Responsibility-driven versus data-driven approaches It is often said that data are more stable than functions and so data-centred approaches are to be preferred in most cases. However, one of the greatest dangers in adopting a method based too much on structured techniques is that of data-driven design. Two software engineers at Boeing …

Software Engineering Approaches Read More »

Evolution of UML

Evolution of UML Identifiable object-oriented modeling languages began to appear between mid-1970 and the late 1980s as various methodologists experimented with different approaches to object-oriented analysis and design. The number of identified modeling languages increased from less than 10 to more than 50 during the period between 1989-1994. Many users of OO methods had trouble …

Evolution of UML Read More »

Use of the Unified Modeling Language (UML)

Use of the Unified Modeling Language (UML) has quickly spread throughout the software development industry as a concrete foundation for designing and developing software applications. It has become the de facto standard in the world of object-oriented systems and is becoming essential for component-based development (CBD). For IT professionals looking for key career differentiators, UML …

Use of the Unified Modeling Language (UML) Read More »

Pros and Cons of UML

  Pros and Cons of UML Pros: Wide Industry Acceptance in comparison to previous Modeling Language. Supports OOAD methodology Bridges the communication gap between different entities of system development(i.e . System Analyst, Developer, Client etc) Constructed models are easy to understand, even for non-programmers Unified and Standardize Modeling language. Cons: UML is often criticized as …

Pros and Cons of UML Read More »

Diagrams in UML

Diagrams in UML UML 2 defines many basic diagram types, divided into two general sets: 1. Structural Modeling Diagrams Structure diagrams define the static architecture of a model. They are used to model the ‘things’ that make up a model – the classes, objects, interfaces and physical components. In addition, they are used to model …

Diagrams in UML Read More »

Structural Modeling Diagrams

Structural Modeling Diagrams Structure diagrams define the static architecture of a model. They are used to model the ‘things’ that make up a model – the classes, objects, interfaces and physical components. In addition, they are used to model the relationships and dependencies between elements. Package diagrams are used to divide the model into logical …

Structural Modeling Diagrams Read More »

Behavioral Modeling Diagrams

   Behavioral Modeling Diagrams Behavior diagrams capture the varieties of interaction and instantaneous states within a model as it ‘executes’ over time; tracking how the system will act in a real-world environment, and observing the effects of an operation or event, including its results. Use Case diagrams are used to model user/system interactions. They define …

Behavioral Modeling Diagrams Read More »

Package diagrams

Package diagrams In the Unified Modeling Language(UML), a package diagram depicts how a system is split up into logical groupings by showing the dependencies among these groupings. As a package is typically thought of as a directory, package diagrams provide a logical hierarchical decomposition of a system. Packages are usually organized to maximize internal coherence within each package and …

Package diagrams Read More »

Class Diagram

Class Diagram In the Unified Modeling Language (UML), a class diagram is a type of static structure diagram that describes the structure of a system by showing the system’s classes, their attributes, and the relationships between the classes. The class diagram models the data elements in the system,the ways in which they are grouped together and the relationships between them. Class diagrams …

Class Diagram Read More »

Composite Structure diagrams

Composite Structure diagrams A Unified Modeling Language (UML) composite structure diagram shows the internal structure of a class and the collaborations that this structure makes possible. This can include internal parts, ports through which the parts interact with each other or through which instances of the class interact with the parts and with the outside world, and connectors between …

Composite Structure diagrams Read More »

Component diagrams

Component diagrams In the Unified Modeling Language, a component diagram depicts how a software system is split up into physical components and shows the dependencies among these components. Physical components could be, for example, files, headers, link libraries, modules, executables, or packages. Component diagrams can be used to model and document any system’s architecture. Note that components are types and only executable components may have …

Component diagrams Read More »

Implementation Diagram

Implementation Diagram In the Unified Modeling Language, a deployment diagram serves to model the hardware used in system implementations, the components deployed on the hardware, and the associations between those components. The elements used in deployment diagrams are nodes (shown as a cube), components (shown as a rectangular box, with two rectangles protruding from the left side) and associations. In UML 2.0 …

Implementation Diagram Read More »

Activity Diagrams

Activity Diagrams In the Unified Modeling Language, an activity diagram represents the business and operational step-by-step workflows of components in a system. An activity diagram shows the overall flow of control. In UML, an activity diagram is used to display the sequence of activities. Activity diagrams show the workflow from a start point to the finish point detailing the many decision …

Activity Diagrams Read More »

State Diagrams

State Diagrams State diagrams are used to graphically represent finite state machines. State transition tables are another possible representation. There are many forms of state diagrams, which differ slightly and have different semantics. When to Use: State Diagrams? Use state diagrams to demonstrate the behavior of an object through many use cases of the system. Only use …

State Diagrams Read More »

Communication Diagrams

Communication Diagrams In the Unified Modeling Language (UML) 2.0, a communication diagram is a simplified version of the UML 1.x collaboration diagram. A Communication diagram models the interactions between objects or parts in terms of sequenced messages. Communication diagrams represent a combination of information taken from Class, Sequence, and Use Case Diagrams describing both the static structure and dynamic behavior of a system. However, …

Communication Diagrams Read More »

Timing Diagrams

Timing diagrams Timing diagrams (UML 2.0) are a specific type of interaction diagram, where the focus is on timing constraints. Timing diagrams are used to explore the behaviors of objects throughout a given period of time. A timing diagram is a special form of a sequence diagram. The differences between timing diagram and sequence diagram are the axes …

Timing Diagrams Read More »

Scroll to Top