UML: Software Engineering Class Notes

Updated: Aug 18

Mobiprep has created last-minute notes for all topics of Software Engineering to help you with the revision of concepts for your university examinations. So let’s get started with the lecture notes on Software Engineering.

1. Coding and Testing

2. Function-Oriented Software Design

3. (a)Requirements analysis and specification (b) Software Design

4. Software Development Life Cycle Models

5. Software Engineering

6. Software Project Management

7. UML

Our team has curated a list of the most important questions asked in universities such as DU, DTU, VIT, SRM, IP, Pune University, Manipal University, and many more. The questions are created from the previous year's question papers of colleges and universities.

  1. What is UML?

  2. What are the different system views that can be modelled using UML?

  3. What are the building blocks of a UML diagram?

  4. Develop the use case model for a standard bank ATM.

  5. What are the different types of models of a problem that can be constructed using UML?

UML


Question 1) What is UML?

Answer) Unified Modeling Language(UML) is different from the other programming languages, since it is a general purpose visual modeling language used to make software blueprints.

This pictorial language is used to visualize, specify, construct, and document software systems.

It is used to model software and non-software systems both.

Tools combined with UML diagrams can be used to generate code in various languages. UML has a direct relation with object oriented analysis and design.


 

Question 2) What are the different system views that can be modelled using UML?

Answer) There are 5 different system views that can be modelled using UML. These views just provide the thinking methodology and expectations. They are:

1. User’s view: This contains the diagrams in which the user's part of interaction with the software is defined. No internal working of the software is defined in this model. The diagrams in this view are:

  • Use case diagram

2. Structural view: In the structural view, only the structure of the model is explained. This gives an estimate of what the software consists of. However, internal working is still not defined in this model. The diagram that this view includes are:

  • Class Diagrams

  • Object Diagrams

3. Behavioral view: The behavioral view contains the diagrams which explain the behavior of the software. These diagrams are:

  • Sequence Diagram

  • Collaboration Diagram

  • State chart Diagram

  • Activity Diagram

4. Environmental view: The environmental view contains the diagram which explains the after-deployment behavior of the software model. This diagram usually explains the user interactions and software effects on the system. The diagrams that the environmental model contain are:

  • Deployment Diagram

5. Implementation view: The implementation view consists of the diagrams which represent the implementation part of the software. This view is related to the developer’s views. This is the only view in which the internal workflow of the software is defined. The diagram that this view contains is as follows:

  • Component Diagram

 

Question 3) What are the building blocks of a UML diagram?

Answer) 1. Things

a. Structural the static part

  • Class − set of objects having similar responsibilities.


class in software engineering class notes
  • Interface − set of operations specifying the responsibility of a class.


interface in software engineering class notes
  • Collaboration −defines an interaction between elements.

collaboration in software engineering class notes
  • Use case −represents a set of actions performed by a system for a specific goal.


use case  in software engineering class notes
  • Component −describes the physical part of a system.


component  in software engineering class notes
  • Node −A physical element that exists at run time.


node  in software engineering class notes

b. Behavioral: the dynamic part

  • Interaction − a behavior that consists of a group of messages exchanged among elements to accomplish a specific task.


interaction  in software engineering class notes
  • State machine − defines the sequence of states an object goes through in response to events. Events are external factors responsible for state change

state machine  in software engineering class notes

c. Grouping

  • Package − It is the only one available for gathering structural and behavioral things.


package  in software engineering class notes

d. Annotational

  • Note - It is the only one available used to render comments, constraints, etc. of an UML element.


note  in software engineering class notes

2. Relationships

a. Dependency

  • a relationship between two things in which change in one element also affects the other.


dependency  in software engineering class notes

b. Association

  • a set of links that connects the elements of a UML model. It also describes how many objects are taking part in that relationship.


association  in software engineering class notes

c. Generalization

  • a relationship which connects a specialized element with a generalized element.

  • It basically describes the inheritance relationship in the world of objects.


generalization  in software engineering class notes


d. Realization

  • a relationship in which two elements are connected. One element describes some responsibility, which is not implemented and the other one implements them.

  • This relationship exists in case of interfaces.

3. Diagrams

  • Class diagram

  • Object diagram

  • Use case diagram

  • Sequence diagram

  • Collaboration diagram

  • Activity diagram

  • State chart diagram

  • Deployment diagram

  • Component diagram

 

Question 4) Develop the use case model for a standard bank ATM.

Answer) Here we have two Actors: Customer and Bank. An Actor is one which specifies the role played by a user or any other system that interacts with the subject.

We also have many use cases like Log In, Deposit Cash, Check Balance, Credit Card Login, Print Receipt, etc... Use cases are used to refer to the behavior of an actor or it describes the actions performed by the actors. They are represented by a vowel shape. Include and extends are the relationship between the use cases.

In this ATM Use Case, we have one actor, that is one Customer who performs the following operations: Money Transfer, Withdraw Cash, Check balance, Log Out, Deposit a Check, Deposit Cash, Log In.

We have another actor which is a Bank, it helps to manage and perform the operations asked by the customer.

case model for standard bank ATM  in software engineering class notes

 

Question 5) What are the different types of models of a problem that can be constructed using UML?

Answer) They are mainly classified into two-types:

Structural diagrams

Behavioral diagrams

Structural Diagrams

Class Diagrams: These are the main building block of any object-oriented solution. It shows the classes in a system, attributes, and operations of each class and the relationship between each class.


Component Diagrams: They display the structural relationship of components of a software system. These are mostly used when working with complex systems with many components. Components communicate with each other using interfaces.


Deployment Diagrams: Object Diagrams, sometimes referred to as Instance diagrams are very similar to class diagrams. They show how a system will look like at a given time.

Package Diagrams: As the name suggests, a package diagram shows the dependencies between different packages in a system.


Composite Structure Diagrams: Composite structure diagrams are used to show the internal structure of a class.


Behavioral Diagrams

Use Case Diagrams: Use case diagrams give a graphic overview of the actors involved in a system, different functions needed by those actors and how these different functions interact.

Activity Diagrams: Activity diagrams represent workflows in a graphical way. They can be used to describe the business workflow or the operational workflow of any component in a system.


State Machine Diagrams: These are similar to activity diagrams, although notations and usage change a bit. These are very useful to describe the behavior of objects that act differently according to the state they are in at the moment.


Sequence Diagrams: Sequence diagrams in UML show how objects interact with each other and the order those interactions occur. It’s important to note that they show the interactions for a particular scenario.


Communication Diagrams: Also called as collaboration diagrams. Communication diagrams are similar to sequence diagrams, but the focus is on messages passed between objects.


Interaction Overview Diagrams: Interaction overview diagrams show a sequence of interaction diagrams. They are a collection of interaction diagrams and the order they happen.

Timing Diagrams: They represent the behavior of objects in a given time frame. If it’s only one object, the diagram is straightforward. But, if there is more than one object involved, a Timing diagram is used to show interactions between objects during that time frame.








4 views0 comments