I'm here to share my learnings of "Information System Modeling and Analysis" lecture in my M.Sc study. I use The Unified Modeling Language Reference Manual 2nd Edition [Rumbaugh, Jacobson, Booch] as reference.
UML (Unified Modeling Language) is simply a visual modeling language. It can be used to specify, visualize, construct, and document the artifacts of a software system. It has static, dynamic, environmental, and organizational parts. It includes semantic concepts, notation, and guidelines.
What is Model?
Model is the final representation of a product.
* Visual modeling language
* Used to draw a model which can be easily understood by everybody such as customer, project manager, designer, developer, and etc
* Intended to for use with all development methods, lifecycle stages, application domains, and media.
* Intended to unify past experience about modeling techniques
* Intended to model discrete systems such as those made of software, firmware, or digital logic.
UML is NOT
* Programming language
* Design tool
* Intended for theorem proving
* Intended to model continuous systems such as those found in engineering and physics.
The UML captures information about the static structure and dynamic behavior of a system. A system is modeled as a collection of discrete objects. The static structure defines the kinds of objects important to a system and to its implementation, as well as the relationships among the objects. The dynamical behavior defines the history of objects over time and the communications among the objects to accomplish goals.
The Purpose of UML:
* ALL modelers can use it.
* Be as simple as possible while still being capable of modeling the full range of practical systems to be built.
UML Views and Diagrams:
I'm gonna cover only use case, class, activity, state machine, and sequence diagrams throughout the course of the semester.