System Modeling with UML Diagrams

Choose a study mode

Play Quiz
Study Flashcards
Spaced Repetition
Chat to Lesson

Podcast

Play an AI-generated podcast conversation about this lesson
Download our mobile app to listen on the go
Get App

Questions and Answers

What is the primary purpose of system modeling in software engineering?

  • To create visually appealing diagrams for stakeholders.
  • To replace the need for communication with customers.
  • To develop model-based requirements and understand different views of the system. (correct)
  • To write code faster and more efficiently.

A system model should include every possible detail to ensure accuracy and completeness.

False (B)

In system modeling, what role is typically responsible for performing the modeling activities?

Requirements Engineer

A system boundary defines what is ______ the system.

<p>inside</p> Signup and view all the answers

Match the following UML diagram types with their primary purpose:

<p>Use Case Diagram = Illustrates interactions between the system and its actors Activity Diagram = Models the workflow of a process or system Sequence Diagram = Shows interactions between objects in a sequence Class Diagram = Describes the structure of a system by showing classes, attributes, and relationships</p> Signup and view all the answers

Which of the following is NOT a typical element represented in a context diagram?

<p>Internal database schemas of the software system (B)</p> Signup and view all the answers

A single software system can have multiple context diagrams, each representing a different aspect of the system.

<p>False (B)</p> Signup and view all the answers

In the context of drawing a context diagram, what should the data flowing between the software and an external entity be labeled as?

<p>Noun</p> Signup and view all the answers

In a UML use case diagram, actors are placed ______ the system boundary.

<p>outside</p> Signup and view all the answers

Match the elements of a use case diagram:

<p>Actor = Represents an entity that interacts with the system Use case = Represents a major piece of system functionality System boundary = Defines the scope of the software Association = Links an actor with the use cases they interact with</p> Signup and view all the answers

What is the recommended range for the number of actions within a single UML use case?

<p>3 to 12 (D)</p> Signup and view all the answers

A use case name should start with a noun, followed by a verb.

<p>False (B)</p> Signup and view all the answers

In UML, what is the diagram called that demonstrates high-level functional requirements from the user's perspective?

<p>Use case diagram</p> Signup and view all the answers

In UML use case diagrams, the name for each ellipse should be ______ .

<p>unique</p> Signup and view all the answers

Match the term to its definition:

<p>&lt;&lt;Include&gt;&gt; = Mandatory to use the actions in the included use case, in order to achieve the objective in the base use case. &lt;&lt;Extend&gt;&gt; = Optional to use the actions in the extending use case, in order to achieve to the objective of the base use case.</p> Signup and view all the answers

In a UML use case diagram, what does a triangular-headed arrow pointing from a specialized actor to a generalized actor represent?

<p>Specialization (D)</p> Signup and view all the answers

In Use Case diagrams, if two job titles need to interact with the exact same set of use cases, they should be modeled as separate actors.

<p>False (B)</p> Signup and view all the answers

State the use of a system boundary notation.

<p>To document the scope of software</p> Signup and view all the answers

In the Car Park Management System, a customer paying for a parking ticket using a debit card will be managed by an external system called ______.

<p>Payment Processing System</p> Signup and view all the answers

Customer and Parking Attendant are both users of the Car Park Management System. Match:

<p>Customer = Manage debit/credit card information Parking Attendant = Delete customer accounts</p> Signup and view all the answers

According to course outcomes, what are the key abilities students should achieve upon completion of the System Modeling course?

<p>Ability to explain analysis and design models using UML and develop UML diagrams. (C)</p> Signup and view all the answers

UML diagrams can only be created using specialized CASE tools, and drawing them on paper is not an acceptable alternative.

<p>False (B)</p> Signup and view all the answers

What is the purpose of a model?

<p>Abstract representation of something real</p> Signup and view all the answers

A useful model has the right level of ______ and represents only what is important for the task in hand.

<p>detail</p> Signup and view all the answers

Match the following descriptions with terminology:

<p>Model = An abstract representation of something real Diagram = Abstract symbols/signs/notations are used to represent things or actions from the real world</p> Signup and view all the answers

Which of the following is a key characteristic of an effective model?

<p>It only represents what is important for the task at hand. (D)</p> Signup and view all the answers

In context diagram creation, the software being developed is written enclosed in a rectangle.

<p>False (B)</p> Signup and view all the answers

In order to indicate direction on an external entity to your software, what has to be included?

<p>Arrow</p> Signup and view all the answers

In the Uber Context Diagram, the ______ refers to any interactions between Uber customer and Driver.

<p>System boundary</p> Signup and view all the answers

Match the interactions of an Uber Driver to the System:

<p>Input to the System = Account Details, Type of Car, Current Location (GPS), Payment Info, Accept/decline ride requests Output from the System = Pickup location (GPS), Journey destination, Payment receipt</p> Signup and view all the answers

Why is it important to discuss and get agreement with external entities before proceeding to model the system's internal requirements?

<p>To define the system boundary accurately based on services to be implemented. (B)</p> Signup and view all the answers

A use case diagram is used to show the internal workings of the system to the client.

<p>False (B)</p> Signup and view all the answers

If there is a small number of actions in a use case, it can be seen as:

<p>Too small</p> Signup and view all the answers

Typically, use notation is from user's ______.

<p>perspective</p> Signup and view all the answers

Match the use of a system with their following names:

<p>&lt;<include>&gt; = If a use case is used by other use cases &lt;<extend>&gt; = Highlights the feature/action that is done by another actor</p> Signup and view all the answers

Which of the following best describes the purpose of UML in system modeling?

<p>A standardized modeling language to visualize the design of a system. (A)</p> Signup and view all the answers

System analyst will only do the UML diagrams.

<p>False (B)</p> Signup and view all the answers

Describe how data flow diagram is used in diagrams in SRS?

<p>Context Diagram</p> Signup and view all the answers

UML consists of an ______ set of diagrams.

<p>integrated</p> Signup and view all the answers

Match the following:

<p>Vehicle Recognition System = Provides plate number as well as the enter time and exit time to the Car Park Management System. Payment Processing System = When a customer exits the parking areas, they can process their payment.</p> Signup and view all the answers

Flashcards

What is a Model?

An abstract representation of something real.

System Modeling

The process of developing model-based requirements, presenting different views of the system.

What is UML?

A standardized language for specifying, visualizing, constructing, and documenting the artifacts of software systems.

What is a Diagram?

A visual representation of a model, showing relationships and elements.

Signup and view all the flashcards

Context Diagram

A high-level, abstract diagram that defines the boundary of a system and its interactions with external entities.

Signup and view all the flashcards

System Boundary

Defines what is 'inside' the system versus 'outside'.

Signup and view all the flashcards

UML Use Case Diagram

Diagrams that show the interactions between a system and its actors.

Signup and view all the flashcards

Use Case Diagram Elements

Show actors and their use cases; high-level functional requirements from the user's perspective. Includes boundary notation.

Signup and view all the flashcards

Actor in Use Case

A stick figure representing people or external systems that interact with the system.

Signup and view all the flashcards

Association Notation

Links actor with the use case(s) with which they interact.

Signup and view all the flashcards

Include Relationship

Indicates one use case needs another, mandatory. Arrow points to the use case being included.

Signup and view all the flashcards

Extend Relationship

Indicates one use case may optionally use another. Arrow points to the base use case.

Signup and view all the flashcards

Study Notes

System Modeling

  • After completing the course on system modeling, students should be able to explain analysis and design models using the Unified Modeling Language (UML).
  • Students should also learn to develop UML diagrams during the software analysis and design stages.
  • UML diagrams can be drawn manually, or created using CASE tools, there are options to consider when deciding which CASE tool your group will use.

Topics Covered

  • Introduction to System Modeling
  • Context models
  • Interaction models
  • Structural models
  • Behavioral models

What is a Model?

  • A model is an abstract representation of something real
  • A useful model has the right level of detail, representing only what's important to the task
  • Many things can be modeled, including bridges, buildings, economic policies, and software

System Modeling Details

  • System modeling is the process of developing model-based requirements
  • Each model presents a different view or perspective of the system
  • Helps to find missing or inconsistent functionality
  • Model-based requirements reduce ambiguity
  • Used to communicate with customers
  • A system model holds the right level of details by only representing what is important for software development using a System Modeling Language.

System Modeling Languages

  • UML (Unified Modeling Language) is used, among other modelling languages, for software architecture.

What is UML?

  • UML consists of an integrated set of diagrams to express the design of a system in different perspectives.
  • The requirements engineer elicits user requirements from stakeholders to document model-based requirements using UML.

Models and Diagrams

  • A model may consist of a single diagram or consist of many related diagrams.
  • Each model presents a different view or perspective of the system.

Object-Oriented Modeling

  • Context Model
  • Interaction Model
  • Behavioral Model
  • Structural Model

Procedural Modeling

  • Context Diagram

What is a Diagram?

  • Abstract symbols/signs/notations are used to represent things or actions from the real world
  • Diagrams follow rules or standards to ensure that different people will interpret them in the same way

Diagrams in SRS

  • Diagrams in Software Requirements Specification broken down by Procedural Modeling and Object-Oriented Modeling

Procedural Modeling

  • Context Diagram (also known as Data Flow Diagram Level-0)

Object-Oriented Modeling

  • UML Use Case Diagram
  • UML Activity Diagram
  • UML Sequence Diagram
  • UML Class Diagram
  • UML State Diagram

Case Study: Car Park Management System (CPMS)

About the System

  • Customers and parking attendants register accounts and log in to access the system
  • Customers can manage debit/credit card information
  • When a customer enters or exits parking, an external system called the 'Vehicle Number Recognition System' will provide the license plate number and entry/exit times to CPMS
  • CPMS calculates the total fee when the customer exits the parking area
  • A customer who pays with a debit or credit card will be managed by a "Payment Processing System"
  • Parking attendants can delete customer accounts

Context Diagram

  • Represents the software being developed, external entities interacting with the software, and data flowing between the software and external entities
  • There should be one context diagram for one software

Steps to Draw a Context Diagram

Step 1

  • Write the software name and draw a circle around it

Step 2

  • Write down external entities and enclose each one in a rectangle
    • Human users who interact with the software
    • External software integrated with the system
    • Every external entity must be a noun

Step 3

  • Identify the data flowing from your software to an external entity and use an arrow to represent the direction
    • Every data must be a noun

Step 4

  • Identify the data flowing from an external entity to your software and use an arrow to indicate the direction.

Context Diagram for Car Park Management System

  • Includes customer with username, password, vehicle plat number, vehicle color and credit card number
  • System boundary, parking management system provides removal ID, and Total Fee
  • Parking attendant provides customer details, and also receives online payment status through payment processing system
  • Includes Vehicle Number Recognition System, receiving the license plate, enter time, and exit time.

System Boundary

  • Defines what is inside the system
  • Identify the data that flows in and out between external entities and the system boundary.

Interaction Model

  • UML Use Case Diagram

UML Use Case Diagram

  • Shows the interactions between a system and its actors
  • Actors in a use case may be people or external systems
  • There is only one UML Use Case Diagram for one software

UML Use Case Diagram Details

  • Demonstrates the high-level functional requirements of the software from the user's perspective using use case notation

Usecase Notation Details

  • Is drawn as ellipses with a name in or below each ellipse
  • Represents a major piece of system functionality
  • The name must begin with a verb, followed by a noun
  • The name starts with lower case
  • Every use case in a use case diagram may have a unique ID (optional)
  • Must have unique names
  • Follows a [verb] [noun] format

Example Usecases

  • Register account
  • Login

Tips for Usecases

  • One use case should have 3 to 12 actions within it

Diagram Limitations

  • The size of a use case should only have 3 to 12 actions within it.
  • A use case should not be too small or too big

UML Use Case Diagram- System Boundary

Considerations

  • Documents the scope of the software using system boundary notation
  • A rectangle around a group of use cases that belong to the same software to represent the software’s scope
  • Every system boundary must have the system name written in the top-middle

UML Use Case Diagram - Actors

  • The diagram shows different kinds of actors that interact with the software

Actors

  • Drawn as stick people with a name (be specific and avoid naming as ‘user’)
  • Actors are outside the system boundary
  • Can be people or external systems that interact with a particular use case or use cases
  • If two job titles need to interact with the exact same set of use cases, combine those 2 job titles into 1 actor.

UML Use Case Diagram - Association Notation

  • Shows which actors are interacting with which use case, using association notation
  • Links an actor with the use case(s) with which they interact

UML Use Case Diagram - Include Relationship

  • Purpose: a use case need to be reused by other use case OR if you want to highlight the feature to user OR the action is done by another actor. using <> or <> notation.

  • <> means, it is MANDATORY to use the actions in the included use case, in order to achieve objective of the base use case

  • <> means, it is OPTIONAL to use the actions in the extending use case, in order to achieve objective of the base use case

  • Car Park Management System use case where a customer needs to register account, login, pay with debit/credit card, and delete customer account

  • System must manage debit/credit card information.

  • 'include' and 'extend' are also displayed

UML Use Case Diagram Specifics

  • Every time a customer or parking attendant logs into the system, it is mandatory for the system to perform multi-factor authentication
  • A Customer can manage debit/card information to add, edit, or delete card details
  • The customer can access the "Manage Debit/Credit Card" feature via a button or link in the menu after logging in
  • Additionally, when a customer receives the total parking fee and proceeds with payment using a debit/credit card, they will have the Option to Manage their Card information during this process.

UML Use Case Diagram - Actor Generalization

  • Both Customer and Parking Attendant are Actors.
  • They inherit the action of a User
  • However, each has extra specialization that they can do
  • If two job titles need to interact with the exact same set of use cases, combine those 2 job titles into 1 actor.

Studying That Suits You

Use AI to generate personalized quizzes and flashcards to suit your learning preferences.

Quiz Team

Related Documents

More Like This

UML Diagrams for System Behavior Design
6 questions
System Modeling Quiz
48 questions

System Modeling Quiz

IndividualizedJade9119 avatar
IndividualizedJade9119
System Modelling with UML
39 questions

System Modelling with UML

MasterfulRhythm8817 avatar
MasterfulRhythm8817
Use Quizgecko on...
Browser
Browser