Nov
01
2016
By abernal
Unified Modeling Language
Within the Information Technology world, It is useful to ¨model¨ in simple drawings a system of software.
The basis of this modeling language in the software context is the Object Oriented Programming paradigm.
Object Oriented concepts in detail
- Objects
- Represents something in the real or "unreal" world, for example
- Ball
- House
- Triangle
- Represents something in the real or "unreal" world, for example
- Class
- Is the blue print of an object, a sort of squeleton that will be used when a new object is created
- Abstraction
- Represents the Behavior of an entity
- For example in the context of a Ball
- All balls rolls
- For example in the context of a Ball
- Represents the Behavior of an entity
- Encapsulation
- A mechanism that shield the properties of an object and provides an API in order to access or modify them
- Inheritance
- A mechanism of reutilization and relationship among objects
- Sample
- An object of type Bar tender inherits from the class Employee, since every bar tender is an employee
- Sample
- A mechanism of reutilization and relationship among objects
- Polymorphism
- A mechanism through which an object that inherits other can impersonate it
The purpose of Object Oriented Programming Analysis and Design
- Identifying the objects of a system
- Identify their relationships
- Make a design that can be converted to executables using OO languages
So the stages are
- Analysis
- Design
- Implementation
UML Building Blocks
Those are
- Things
- Relationships
- Diagrams
Things
- Structural
- Static part of the UML
- Class
- Interface
- Collaboration
- Define interaction between elements
- Use Case
- Set of actions performed by a system for a specific goal
- Component
- Describe physical part of a system
- Node
- Physical element that exists at run time
- Static part of the UML
- Behavioral
- Dynamic part of the UML
- Interaction
- Message
- State machine
- Define the sequence of state an object goes through in response to events
- Interaction
- Dynamic part of the UML
- Grouping
- Package
- Gather structural and behavioral things
- Package
- Annotational
- Note
- Used to comments and notes
- Note
Relationships
- Dependency
- A relation between two things in which change in one element affect the other
- Association
- Set of links that connects elements of a UML model and describes how many object are taking part in that relationship
- Generalization
- Describe Inheritance, which is the connection among a specialized element with a generalized one
- Realization
- Describe interfaces, which is the connection among an element that defines behavior and other that implements it
Diagrams
- Class Diagram
- Object Diagram
- Use Case Diagram
- Sequence Diagram
- Collaboration Diagram
- Activity Diagram
- Statechart Diagram
- Deployment Diagram
- Component Diagram
UML Architecture
There are 4 concepts that center their attention in a Use Case, which represents a given functionality
- Design
- Define the collaboration of entities
- Implementation
- Define which components make the whole system
- Process
- Define the flow of the system
- Deployment
- Define and represent the physical nodes of the system
Types of UML modeling
- Structural Modeling
- Gather the static features
- Class diagram
- Object diagram
- Deployment diagram
- Package diagram
- Composite structure diagram
- Component diagram
- Gather the static features
- Behavioral Modeling
- Define the interaction in the system, shows the dynamic nature of the system
- Activity diagrams
- Interaction diagrams
- Use case diagrams
- Define the interaction in the system, shows the dynamic nature of the system
- Architectural Modeling
- Represents the overall framework of the system. It contains both structural and behavioral elements.
- Considered as the blue print of the entire system
- Package diagram lies in this category