The document provides an overview of system modeling using the Unified Modeling Language (UML). It describes UML as a standard language for specifying, visualizing, and documenting software systems. The key components of UML covered include building blocks like things, relationships, and diagrams. Specific UML diagrams and concepts like use case diagrams, class diagrams, objects, states, interactions, and generalizations are also summarized.
Download as PPTX, PDF, TXT or read online on Scribd
0 ratings0% found this document useful (0 votes)
42 views
Lecture 04 System Modelling Using UML
The document provides an overview of system modeling using the Unified Modeling Language (UML). It describes UML as a standard language for specifying, visualizing, and documenting software systems. The key components of UML covered include building blocks like things, relationships, and diagrams. Specific UML diagrams and concepts like use case diagrams, class diagrams, objects, states, interactions, and generalizations are also summarized.
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 41
SOFTWARE ENGINEERING PRINCIPLES
Lecture 3: System modelling using UML
Learning objectives Introduction to UML To understand the process of modelling real world problems and systems using UML To develop skills on object oriented software development (OOSD). UML block diagrams Types of UML modeling What is UML. UML (Unified Modeling Language) is a standard language for specifying, visualizing, constructing, and documenting the artifacts of software systems. UML is a pictorial language used to make software blueprints. UML was created by the Object Management Group (OMG) and UML 1.0 specification draft was proposed to the OMG in January 1997. It was initially started to capture the behavior of complex software and non-software system and now it has become an OMG standard. Goals of UML To define some general purpose modeling language, which all modelers can use and it also needs to be made simple to understand and use. UML diagrams are not only made for developers but also for business users, common people, and anybody interested to understand the system A Conceptual Model of UML A conceptual model can be defined as a model which is made of concepts and their relationships. A conceptual model is the first step before drawing a UML diagram. It helps to understand the entities in the real world and how they interact with each other. To understand the conceptual model of UML we have to learning; UML building blocks Rules to connect the building blocks Common mechanisms of UML Object-Oriented Concepts UML can be described as the successor of object-oriented (OO) analysis and design. An object contains both data and methods that control the data. The data represents the state of the object. A class describes an object and they also form a hierarchy to model the real-world system. The hierarchy is represented as inheritance and the classes can also be associated in different ways as per the requirement. Fundamental concepts of the object- oriented Objects − Objects represent an entity and the basic building block. Class − Class is the blue print of an object. Abstraction − Abstraction represents the behavior of an real world entity. Encapsulation − Encapsulation is the mechanism of binding the data together and hiding them from the outside world. Inheritance − Inheritance is the mechanism of making new classes from existing ones. Polymorphism − It defines the mechanism to exists in different forms. OO Analysis and Design OO analysis is the investigation of objects OO design the collaboration of identified objects. The purpose of OO analysis and design is to: Identifying the objects of a system. Identifying their relationships. Making a design, which can be converted to executables using OO languages. The input from OO analysis and design is the input to UML diagrams. UML building blocks The building blocks of UML can be defined as; Things Relationships Diagrams Things Things are the most important building blocks of UML. Things can be: Structural Behavioral Grouping Annotational Structural Things Structural things define the static part of the model. They represent the physical and conceptual elements. Following are the brief descriptions of the structural things Class Notation Represents a set of objects having similar responsibilities
Objects can be anything having properties and
responsibility Class Notation cont.… Object Notation The object is represented in the same way as the class. The only difference is the name which is underlined As the object is an actual implementation of a class, which is known as the instance of a class. It has the same usage as the class. Interface It defines a set of operations, which specify the responsibility of a class It is represented by a circle Interface is used to describe the functionality without implementation Interface is just like a template where you define different functions, not the implementation Collaboration notation Collaboration defines an interaction between elements It represents responsibilities. Generally, responsibilities are in a group. Use Case Notation Represents a set of actions performed by a system for a specific goal It may contain additional responsibilities. It is used to capture high level functionalities of a system Actor Notation An actor can be defined as some internal or external entity that interacts with the system An actor is used in a use case diagram to describe the internal or external entities. Initial State Notation Initial state is defined to show the start of a process. This notation is used in almost all diagrams. Final State Notation Final state is used to show the end of a process. This notation is also used in almost all diagrams to describe the end. The usage of Final State Notation is to show the termination point of a process. Active Class Notation Active class looks similar to a class with a solid border. Active class is generally used to describe the concurrent behavior of a system. It is used to represent the concurrency in a system Component Notation A component describes the physical part of a system. It is used to represent any part of a system for which UML diagrams are made Node Notation A node in UML is represented by a square box It represents the physical component of the system. It is used to represent the physical part of a system such as the server, network, etc. Behavioral Things A behavioral thing consists of the dynamic parts of UML models such as: Interaction − Interaction is defined as a behavior that consists of a group of messages exchanged among elements to accomplish a specific task. Interactions can be of two types 1. Sequential (Represented by sequence diagram) 2. Collaborative (Represented by collaboration diagram) Interaction Notation Behavioral Things Cont… State machine − State machine is useful when the state of an object in its life cycle is important. It defines the sequence of states an object goes through in response to events. The state can be active, idle, or any other depending upon the situation. Events are external factors responsible for state change State Machine Notation Grouping Things Grouping things can be defined as a mechanism to group elements of a UML model together. Package − Package is the only one grouping thing available for gathering structural and behavioral things. Annotational Things Annotational things can be defined as a mechanism to capture remarks, descriptions, and comments of UML model elements. Note - It is the only one Annotational thing available. It is used to render comments, constraints, etc. of an UML element. Relationship Relationship is another most important building block of UML. It shows how the elements are associated with each other and this association describes the functionality of an application. Types of Relationship Dependency is a relationship between two things in which change in one element also affects the other.
Association is basically a set of links that connects
the elements of a UML model. It also describes how many objects are taking part in that relationship. Types of Relationship Cont.… Generalization it is a relationship which connects a specialized element with a generalized element. Hence it describes the inheritance relationship in the world of objects. Realization it is a relationship in which two elements are connected. One element describes some responsibility, which is not implemented and the other one implements them. UML - Architecture Before designing a system, the architecture is made with different perspectives in mind for different viewers. These perspectives are; Design Implementation Process Deployment The better we understand those perspective the better we can build the system. UML – Architecture cont.. The center is the Use Case view which connects all these four. A Use Case represents the functionality of the system so other perspectives are connected with use case. Design of a system consists of classes, interfaces, and collaboration. UML provides class diagram, object diagram to support this. UML – Architecture cont.. Implementation defines the components assembled together to make a complete physical system. UML component diagram is used to support the implementation perspective Process defines the flow of the system. Hence, the same elements as used in Design are also used to support this perspective. Deployment represents the physical nodes of the system that forms the hardware. UML deployment diagram is used to support this perspective. Types of UML modeling There are three important types of UML modeling namely: 1. Structural modelling 2. Behavioral Modelling 3. Architectural Modelling Structural modelling Structural model represents the framework for the system and this framework is the place where all other components exist. They consist of the following: Classes diagrams Objects diagrams Deployment diagrams Package diagrams Composite structure diagram Component diagram The structural model never describes the dynamic behavior of the system Behavioral Modeling Behavioral model describes the interaction in the system. It represents the interaction among the structural diagrams. Behavioral modeling shows the dynamic nature of the system. They consist of the following; Activity diagrams Interaction diagrams Use case diagrams Architectural Modeling Architectural model represents the overall framework of the system. It contains both structural and behavioral elements of the system. Architectural model can be defined as the blueprint of the entire system. Package diagram comes under architectural modeling. Class presentation In a group of four, prepare a comprehensive presentation on the following UML diagrams (a) Class , Object and Use case diagram (b) Sequence, Collaboration and Activity diagram (c ) State chart, Deployment and Component diagram