UML (Unified Modelling Language)

What is a UML?
"UML stands for Unified Modeling Language. This object-oriented system of notation has evolved from the work of Grady Booch, James Rumbaugh, Ivar Jacobson, and the Rational Software Corporation. These renowned computer scientists fused their respective technologies into a single, standardized model. Today, UML is accepted by the Object Management Group (OMG) as the standard for modeling object oriented programs."

Types of UML Diagrams

"UML defines nine types of diagrams: class (package), object, use case, sequence, collaboration, statechart, activity, component, and deployment."

--http://www.smartdraw.com/resources/tutorials/object-oriented-design/#/resources/tutorials/Introduction-to-UML


Class Diagrams
"Class diagrams are the backbone of almost every object oriented method, including UML. They describe the static structure of a system."



--http://www.smartdraw.com/resources/tutorials/object-oriented-design/#/resources/tutorials/Introduction-to-UML

"Each class in a Class Diagram is represented by a box with the class name, attributes, and methods (or operations). Relationships between the classes are how the classes communicate with each other. A solid line represents an association, which is a property of a class. Associations are used to represent relationships between objects (when one object has an instance of another object) while attributes show smaller things like Strings, ints, booleans, that are properties of an object.

Dependencies are when the change of one class will affect the second class. The second class depends on the first class. Some examples of dependencies are when one class calls another classes method, a class is passed in as a parameter to a method, or if a class has another class as a variable.

Aggregation and Composition are special cases of Association. Aggregation is used with a whole-part relationship. Composition is a strong form of aggregation where an instance of the part is only associated with and instance of the whole, and the part lives or dies based on the whole. But another instance of the part may be aggregated with another type of whole.

Generalization is the combining of similar traits of two similar concepts into one class and then storing the differences in subclasses. The subclass must contain (i.e. inherit) all of the elements of the superclass, but may override some of the inherited methods and/or fields. Realization indicates the implementation of some interfaces."
--http://agile.csc.ncsu.edu/SEMaterials/tutorials/class_diagrams/

Package Diagrams
"Package diagrams are a subset of class diagrams, but developers sometimes treat them as a separate technique. Package diagrams organize elements of a system into related groups to minimize dependencies between packages."



--http://www.smartdraw.com/resources/tutorials/object-oriented-design/#/resources/tutorials/Introduction-to-UML

"UML package helps to organize and arrange model elements and diagrams into logical groups, through which you can manage a chunk of project data together."
--http://www.visual-paradigm.com/product/vpuml/tutorials/packagediagram.jsp

Object Diagrams
"Object diagrams describe the static structure of a system at a particular time. They can be used to test class diagrams for accuracy."



--http://www.smartdraw.com/resources/tutorials/object-oriented-design/#/resources/tutorials/Introduction-to-UML

"Object diagrams can be imagined as the snapshot of a running system at a particular moment."
--http://www.tutorialspoint.com/uml/uml_object_diagram.htm


Use Case Diagrams

"Use case diagrams model the functionality of system using actors and use cases."




--http://www.smartdraw.com/resources/tutorials/object-oriented-design/#/resources/tutorials/Introduction-to-UML

"A use case is a functionality the users need from the system. A use case diagram depicts the relationships among the actors and use cases. It is usually used for requirements analysis."
--http://agile.csc.ncsu.edu/SEMaterials/tutorials/use_case_diagram/

Sequence Diagrams
"Sequence diagrams describe interactions among classes in terms of an exchange of messages over time."



--http://www.smartdraw.com/resources/tutorials/object-oriented-design/#/resources/tutorials/Introduction-to-UML

"The sequence diagram is used primarily to show the interactions between objects in the sequential order that those interactions occur. "
--http://www.ibm.com/developerworks/rational/library/3101.html



Collaboration Diagrams

"Collaboration diagrams represent interactions between objects as a series of sequenced messages. Collaboration diagrams describe both the static structure and the dynamic behavior of a system."



--http://www.smartdraw.com/resources/tutorials/object-oriented-design/#/resources/tutorials/Introduction-to-UML

"A collaboration diagram, also called a communication diagram or interaction diagram, is an illustration of the relationships and interactions among software objects in the Unified Modeling Language (UML). The concept is more than a decade old although it has been refined as modeling paradigms have evolved."
--http://searchsoftwarequality.techtarget.com/definition/collaboration-diagram

Statechart Diagrams
"Statechart diagrams describe the dynamic behavior of a system in response to external stimuli. Statechart diagrams are especially useful in modeling reactive objects whose states are triggered by specific events."



--http://www.smartdraw.com/resources/tutorials/object-oriented-design/#/resources/tutorials/Introduction-to-UML

"Statechart diagram describes the flow of control from one state to another state. States are defined as a condition in which an object exists and it changes when some event is triggered. So the most important purpose of Statechart diagram is to model life time of an object from creation to termination."
--http://www.tutorialspoint.com/uml/uml_statechart_diagram.htm

Activity Diagrams
"Activity diagrams illustrate the dynamic nature of a system by modeling the flow of control from activity to activity. An activity represents an operation on some class in the system that results in a change in the state of the system. Typically, activity diagrams are used to model workflow or business processes and internal operation."



--http://www.smartdraw.com/resources/tutorials/object-oriented-design/#/resources/tutorials/Introduction-to-UML


"The Activity Diagram can help to describe the flow of control of the target system, such as the exploring complex business rules and operations, describing the use case also the business process."

--http://www.visual-paradigm.com/VPGallery/diagrams/Activity.html

What are Entity Relationship Diagrams?
"Entity Relationship Diagrams (ERDs) illustrate the logical structure of databases."



---http://www.smartdraw.com/resources/tutorials/object-oriented-design/#/resources/tutorials/Introduction-to-ERD"

"Entity relationship diagramming is a technique that is widely used in the world of business and information technology to show how information is, or should be, stored and used within a business system."
--http://www.getahead-direct.com/gwentrel.htm


What are Data Flow Diagrams?
"Data flow diagrams illustrate how data is processed by a system in terms of inputs and outputs."



--http://www.smartdraw.com/resources/tutorials/object-oriented-design/#/resources/tutorials/Introduction-to-DFD


"Data flow diagrams are used to describe how the system transforms information. They define how information is processed and stored and identify how the information flows through the processes."
--http://it.toolbox.com/blogs/enterprise-solutions/data-flow-diagrams-dfds-14573


Context Diagrams

"A context diagram is a top level (also known as Level 0) data flow diagram. It only contains one process node (process 0) that generalizes the function of the entire system in relationship to external entities."



--http://www.smartdraw.com/resources/tutorials/object-oriented-design/#/resources/tutorials/Context-Diagrams

"A context diagram is a graphic design that clarifies the interfaces and boundaries of the project or process at hand. "
--http://www.modernanalyst.com/Resources/Articles/tabid/115/articleType/ArticleView/articleId/1355/Introduction-to-Context-Diagrams.aspx

Fishbone Diagram

"A fishbone diagram (also called Ishikawa diagram and cause-and-effect diagram) was originally developed by Kaoru Ishikawa to visualize the causes of a specific event. It is one of the seven basic Quality control tools, and has become commonly used to determine components needed for a desired outcome. The main issue is written in a box that is typically in the center of the right edge of the page. A line called the "spine" or "backbone" extends to the left starting from the edge of the main box. Branches angle off of the spine, each representing a cause or effect of the main issue. Each of these branches may contain additional branches."




--http://www.smartdraw.com/specials/fishbone-diagram-template.htm

A Fishbone Diagram simply shows a cause and effect relationship.


References:
-http://www.smartdraw.com/specials/fishbone-diagram-template.htm
-"http://www.smartdraw.com/resources/tutorials/object-oriented-design/#/resources/tutorials/Context-Diagrams
-http://www.smartdraw.com/resources/tutorials/object-oriented-design/#/resources/tutorials/Introduction-to-UML
-http://www.smartdraw.com/resources/tutorials/object-oriented-design/#/resources/tutorials/Introduction-to-ERD






Comments

Popular posts from this blog

First international travel