Assistant Professor Department of Software Engineering National University of Modern Languages Islamabad Modeling Models what and why? Models are the abstraction that portrays the essentials of a complex problem or system. A model is a simplification at some level of abstraction We build models To better understand the systems, we are developing. To help us visualize To specify structure or behavior To provide template for building system To document decisions we have made Modeling contd. Principles of Modeling: The models we choose have a profound influence on the solution we provide Every model may be expressed at different levels of abstraction Unified Modeling Language. UML is a visual modeling language “A picture is worth a thousand words.” - old saying
“A language provides a vocabulary and the rules
for combining words [...] for the purpose of communication.
A modeling language is a language whose
vocabulary and rules focus on the conceptual and physical representation of a system. Unified Modeling Language. Visual Modeling Is a way of thinking about problems using models organized around real world.
Models are useful for
Understanding the problem Communicating the problem among all stakeholders of the project Modeling enterprises Preparing documentation Designing programs and databases Unified Modeling Language (UML) The Unified Modeling Language (UML) is a general-purpose, developmental, modeling language in the field of software engineering that is intended to provide a standard way to visualize the design of a system. Unified Modeling Language (UML) UML has been evolving since the second half of the 1990s and has its roots in the object-oriented programming methods developed in the late 1980s and early 1990s. It describes notations for a number of different models that may be produced during object-oriented analysis and design UML is now a standard language for OO modelling. UML 2 has many types of diagrams, which are divided into two categories. Some types represent structural information, and the rest represent general types of behavior, including a few that represent different aspects of interactions. These diagrams can be categorized hierarchically. Unified Modeling Language (UML) Unified Modeling Language (UML) UML structural diagrams Class diagram show the classes of the system, their inter-relationships, and the operations and attributes of the classes Component diagram shows the dependencies among software components, including the classifiers that specify them Object diagram (instance diagrams), are useful for exploring real world examples of objects and the relationships between them. It shows instances instead of classes. They are useful for explaining small pieces with complicated relationships, Unified Modeling Language (UML) UML structural diagrams Package diagram simplify complex class diagrams, it can group classes into packages. A package is a collection of logically related UML elements. Packages are depicted as file folders and can be used on any of the UML diagrams. Composite structure diagram used to explore run-time instances of interconnected instances collaborating over communications links. It shows the internal structure (including parts and connectors) of a structured classifier or collaboration. Profile diagrams are an extension of Unified Modelling Language (UML), which are a structural diagram that use stereotypes, tagged values and constraints to extend and customize UML. Deployment diagram depicts a static view of the run-time configuration of hardware nodes and the software components that run on those nodes. Deployment diagrams show the hardware for your system, the software that is installed on that hardware Unified Modeling Language (UML) Behavioural diagrams Activity Diagrams helps to describe the flow of control of the target system State Machine diagram can show the different states of an entity also how an entity responds to various events by changing from one state to another. Unified Modeling Language (UML) Interaction diagram Communication diagrams used to model the dynamic behavior of the use case. When compare to Sequence Diagram, the Communication Diagram is more focused on showing the collaboration of objects rather than the time sequence. Sequence diagram models the collaboration of objects based on a time sequence. It shows how the objects interact with others in a particular scenario of a use case. Interaction overview diagram focuses on the overview of the flow of control of the interactions. It is a variant of the Activity Diagram where the nodes are the interactions or interaction occurrences. It describes the interactions where messages and lifelines are hidden. Timing diagram shows the behavior of the objects in a given period of time. Timing diagram is a special form of a sequence diagram Unified Modeling Language (UML) Use case diagram describes the dynamic behavior of the target system from an external point of view Use cases. A use case describes a sequence of actions that provide something of measurable value to an actor and is drawn as a horizontal ellipse. Actors. An actor is a person, organization, or external system that plays a role in one or more interactions with your system. Actors are drawn as stick figures. Associations. Associations between actors and use cases are indicated by solid lines. An association exists whenever an actor is involved with an interaction described by a use case.