System Modelling with UML

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 a visually appealing user interface.
  • To develop abstract models representing different perspectives of a system. (correct)
  • To replace the need for communication among project team members.
  • To write code directly without planning.

What benefit does system modeling provide to project teams?

  • It isolates testers from developers, ensuring unbiased testing.
  • It facilitates communication between various stakeholders involved in a project. (correct)
  • It eliminates the need for architectural design.
  • It ensures that all project members use different programming languages.

Which of the following is a key characteristic of models used for detailed system implementation?

  • They are only useful during the initial stages of development.
  • They should primarily focus on facilitating discussion rather than accuracy.
  • They must be both correct and complete. (correct)
  • They can be incomplete to allow for flexibility during implementation.

Which type of UML diagram is specifically designed to illustrate the interactions between actors and a system?

<p>Use case diagram. (B)</p> Signup and view all the answers

Which UML diagram type focuses on representing the flow of activities in a process or data processing?

<p>Activity diagram (A)</p> Signup and view all the answers

What is the main purpose of a sequence diagram in UML?

<p>Depicting interactions between actors and system components over time. (D)</p> Signup and view all the answers

In UML, which diagram type is used to represent the object classes in a system and the associations between them?

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

How do state diagrams contribute to system modeling?

<p>They model how a system responds to internal and external events. (A)</p> Signup and view all the answers

Which two diagram types are primarily used for interaction modeling in software engineering?

<p>Use case diagrams and sequence diagrams. (D)</p> Signup and view all the answers

What is a key difference between use case diagrams and sequence diagrams?

<p>Use case diagrams show interactions at a high level, while sequence diagrams present detailed interaction sequences. (A)</p> Signup and view all the answers

What is the original purpose of use cases in software development?

<p>To support requirements elicitation from stakeholders who interact directly with the system. (A)</p> Signup and view all the answers

Which statement best describes the focus of use cases?

<p>Representation of interactions involving external systems. (D)</p> Signup and view all the answers

What is a key guideline for naming use cases?

<p>The name should start with a verb. (C)</p> Signup and view all the answers

Besides textual descriptions, what other methods can be used to provide further details for use cases?

<p>A structured description in a table or a sequence diagram. (B)</p> Signup and view all the answers

In use case modeling, what does an 'actor' represent?

<p>Any entity that interacts with the system, such as a user or another system. (A)</p> Signup and view all the answers

What distinguishes a 'time' actor from other types of actors in use case diagrams?

<p>A 'time' actor triggers events when a certain amount of time passes. (D)</p> Signup and view all the answers

What type of relationship is used to show connections between a use case and an actor?

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

Under what condition must a use case be initiated by an actor?

<p>Every use case must be initiated by an actor, except abstract use cases. (D)</p> Signup and view all the answers

What does an 'include' relationship between use cases indicate?

<p>One use case uses the functionality provided by another use case. (C)</p> Signup and view all the answers

Under what circumstances is the 'extend' relationship used between use cases?

<p>When a use case conditionally adds functionality based on specific conditions. (A)</p> Signup and view all the answers

What is the primary characteristic of an abstract use case?

<p>It cannot be initiated directly by an actor. (C)</p> Signup and view all the answers

What purpose does generalization serve in use case diagrams regarding actors?

<p>It is relevant if different types of actors initiate some use cases that other types do not. (D)</p> Signup and view all the answers

What is the purpose of activity diagrams in UML?

<p>To model the processing of data and the flow of functionality. (B)</p> Signup and view all the answers

What does a diamond shape represent in an activity diagram?

<p>A choice or decision point. (A)</p> Signup and view all the answers

What is indicated by a solid bar in an activity diagram?

<p>Activity coordination or synchronization. (D)</p> Signup and view all the answers

When using models to document an existing system, which criteria are most important regarding the models?

<p>The models should be an accurate representation of the system, but may be incomplete. (B)</p> Signup and view all the answers

Which type of actor is represented by a physical person who directly uses the system?

<p>User actor (A)</p> Signup and view all the answers

If a software system needs to interact with other systems, what kind of actor represents these other systems in a use case diagram?

<p>External system actor (C)</p> Signup and view all the answers

Which of the following describes where an arrow should be drawn in an extend relationship?

<p>From the use case that is being extended from to the use case that is being extended. (D)</p> Signup and view all the answers

Which of the following would violate the guidelines for representing functionality in use cases?

<p>“Add course”, “delete course” and “update course” (C)</p> Signup and view all the answers

When the system itself processes a use case, what is the solution to ensure there is a user-initiated actor?

<p>Include it in another use case that is initiated by another user. (B)</p> Signup and view all the answers

When is it UNACCEPTABLE to use the extend relationship in use case diagrams?

<p>To represent choices (A)</p> Signup and view all the answers

Which of the following is true about UML activity diagrams?

<p>They may be used to define business process models (C)</p> Signup and view all the answers

Where is the start of a process indicated in an activity diagram?

<p>A filled circle (A)</p> Signup and view all the answers

Which shape represents activities, or specific sub-processes which must be carried out in an activity diagram?

<p>Rectangles with round corners (B)</p> Signup and view all the answers

What does a swimlane diagram do?

<p>Applies workflow analysis (B)</p> Signup and view all the answers

Which type of arrow may be annotated with guards to indicate the condition when that flow is taken?

<p>Arrows leaving a decision point (diamond) (A)</p> Signup and view all the answers

When using a model to facilitate discussion about a proposed system, which criteria are most important regarding the models?

<p>The models can be incomplete and incorrect as long as they support discussion. (D)</p> Signup and view all the answers

Which UML diagram shows where the workflow starts, where it ends, what activities occur, and what order the activities occur?

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

Flashcards

System Modelling

The process of developing abstract models of a system, with each model presenting a different perspective.

Unified Modeling Language (UML)

A standard language for specifying, modeling, visualizing, constructing, and documenting software systems.

Activity Diagrams

Diagrams showing the flow of activities involved in a process or data processing.

Use Case Diagrams

Diagrams showing interactions between a system and its environment.

Signup and view all the flashcards

Sequence Diagrams

Diagrams showing interactions between actors and the system, and between system components.

Signup and view all the flashcards

Class Diagrams

Diagrams showing the object classes in the system and their associations.

Signup and view all the flashcards

State Diagrams

Diagrams showing how the system reacts to internal and external events.

Signup and view all the flashcards

Use Case Diagrams

Diagrams that give a simple overview of an interaction.

Signup and view all the flashcards

Use Case Actor

A system that interacts directly with the system.

Signup and view all the flashcards

Use Case Relationships

Association, Include, Extend, and Generalization

Signup and view all the flashcards

Association Relationship

Shows relationship between use case and actor.

Signup and view all the flashcards

Include Relationship

A relationship where one use case uses functionality provided by another.

Signup and view all the flashcards

Extend Relationship

A relationship where one use case optionally extends another.

Signup and view all the flashcards

Abstract Use Case

A use case not started directly by an actor, providing additional functionality to others.

Signup and view all the flashcards

Generalization

Placing entities into more general classes and learning the characteristics of these classes.

Signup and view all the flashcards

Activity diagrams

Illustrate the flow of functionality in a use case

Signup and view all the flashcards

UML activity diagrams

May be used to define business process models.

Signup and view all the flashcards

Start of activity diagram

Indicated by a filled circle

Signup and view all the flashcards

Activities in activity diagrams

Rectangles with round corners represent activities

Signup and view all the flashcards

Diamonds in Activity Diagrams

A diamond is used to represent some choice made.

Signup and view all the flashcards

Study Notes

System Modelling

  • System modelling involves creating abstract models of a system.
  • Each model offers a unique view or perspective of the system.
  • System models can be used to generate complete or partial system implementations.
  • Unified Modelling Language (UML) serves as a standard language.
  • UML is used for specifying, modeling, visualizing, constructing, and documenting software systems.

System Modelling Benefits

  • Facilitates communication among project teams, including users, developers, analysts, testers, and managers.
  • Aids in exploring potential designs.
  • Validates the architectural design of the software and is independent of particular programming languages and development processes.

UML Diagram Types

  • Activity diagrams illustrate the flow of activities within a process or during data processing.
  • Use case diagrams depict interactions between a system and its environment.
  • Sequence diagrams outline interactions between actors and a system, as well as among system components.
  • Class diagrams show object classes within a system.
  • Class diagrams also show the associations between them.
  • State diagrams illustrate how a system responds to internal and external events.

Use of Graphical Models

  • Graphical models can facilitate discussions about a proposed system.
  • Incomplete models are acceptable for supporting discussion.
  • Graphical models document an existing system.
  • Models should accurately represent the system but may be incomplete.
  • Graphical models can be used for detailed system descriptions that can implement the system.
  • Models must be correct and complete.

Interaction Models

  • Use case and sequence diagrams can be used for interaction modelling.
  • Use case models and sequence diagrams present interaction at different levels of detail.
  • This allows the model and diagrams to be used together.
  • The details of interactions in a high-level use case can be documented in sequence diagrams.

Use Case Modelling

  • Use Cases were originally developed to support requirements elicitation from stakeholders who interact directly with the system.
  • Each use case represents a task involving interaction with an external system.
  • Designed to focus on automated processes, not the order of execution.
  • Naming conventions require use case names to begin with a verb.

Use Cases

  • Use case diagrams provide a simple overview of an interaction and need more detail for full understanding.
  • Further details can be provided through:
  • Simple textual descriptions
  • Structured descriptions in a table
  • Sequence diagrams

Use Case Actor

  • The Mentcare system has a use case with two actors: the operator transferring data and the patient record system.

Use Cases for the Medical Receptionist

  • The medical receptionist manages patient registration, information viewing, and data transfer.
  • In emergencies, the receptionist is responsible for contacting patients.

Use Case Actors

  • Users of the system: Physical persons who directly uses the system.
  • Other systems: Systems that interact with the system being built.
  • Time: Time becomes an actor when the passing of a certain amount of time triggers some event in the system (out of control).

Relationships in Use Cases

  • Association: The relationship between a use case and an actor only.
  • Include and Extend: The only two types of relationships allowed between use cases.
  • Generalization: The only relationship allowed between actors.

Association Relationship

  • Used to show the relationship between a use case and an actor.
  • Every use case must be initiated by an actor.
  • Except for abstract use cases (in include and extend relationships).

Include Relationship

  • Allows one use case to use the functionality provided by another use case.
  • This is applicable in 2 scenarios:
  • Multiple use cases share a large piece of identical functionality.
  • A single use case has an unusually large amount of functionality.
  • Include relationships suggest that one use case always utilizes the functionality of another.

Extend Relationship

  • Allows one use case the option to extend functionality from another use case.
  • When the "Change Reservation" use case is running, "Check Credit" runs only if the reservation amount has changed.
  • The arrow in an extend relationship is drawn from the use case that is optionally run to the use case being extended.

Abstract Use Cases

  • An abstract use case cannot be initiated directly by an actor.
  • Provides additional functionality for other use cases.
  • Use cases participating in include or extend relationships are abstract use cases.

Generalization

  • Rather than learning the characteristics of every entity, place these entities in more general classes.
  • Generalizations are shown as an arrowhead pointing to the more general class.
  • Higher-level classes attributes and operations are associated with lower-level classes.
  • Lower-level classes are subclasses that inherit operations from super classes and add specific attributes.

Generalization example

  • It may be worth including actor generalizations if some use cases are initiated by some types of students, and other use cases are initiated by other types of students.
  • If all students use the same use cases, it is probably not necessary to show an actor generalization.

Check List for Use Case Diagrams

  • Verify each functional requirement is within at least one use case.
  • Consider how each end user will interact with the system.
  • Determine the information each end user will provide to and receive from the system.
  • Consider maintenance issues for system initialization and shutdown.
  • Identify all external systems and the information they provide to and receive from the system.

Identifying the Actor

  • The actor is the one who directly uses the software.
  • (e.g., If a student needs a grade report and asks an employee to prepare the request, the employee is the primary actor in that use case)

Functionalities in Use Cases

  • Every use case should represent a main functionality.
  • Steps are steps of a certain use case and not its own case e.g.(“Make Reservation”, “Register" or "Search for Products”)
  • Avoid vague names.
  • Do not create a use case for "enter data in database”, “choose” or “save data" , but rather create a use case called "manage data".
  • Consolidate similar use cases into one more general one
  • Don't create "Add course”, “delete course” and “update course” as 3 use cases but create one use case called "Manage course data".

Relationships Involving System Processes

  • When a use case is processed by the system itself, without direct user interaction, it should not have a "system" actor.
  • Add the system processed use case as an included case within a user-initiated use case for resolution or incorporate the "system" use case into the user initiated use case.

Avoiding Misuse of "Extend" Relationship

  • Use "extend" to represent options.

Activity Diagrams

  • UML activity diagrams may be used to define business process models.
  • Activity diagrams illustrate the flow of functionality in a use case for used in requirements gathering.
  • Activity diagrams used for modeling data processing.
  • Activity diagrams define workflow start, end, activities, and their order.

Activity Diagram Symbols

  • A filled circle indicates the start of a process.
  • A filled circle inside another circle indicates the end.
  • Activities are represented by rectangles with round corners.
  • Arrows depict the flow of work.
  • A diamond represents a decision point with multiple choices.
  • A solid bar indicates activity coordination, where all incoming activities must complete before progress.
  • A solid bar leading to activities indicates parallel execution.
  • Arrows may contain guards specifying conditions for the flow.

Workflow Analysis

  • Appropriate when different users with different roles interact via a user interface.
  • Helps understand how work processes need the completion of several people (and roles).
  • Workflow can be effectively represented by a UML swimlane diagram.
  • A variation on the activity diagram.

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
Use Quizgecko on...
Browser
Browser