Podcast
Questions and Answers
What is the primary purpose of system modeling in software engineering?
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?
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?
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?
Which type of UML diagram is specifically designed to illustrate the interactions between actors and a system?
Which UML diagram type focuses on representing the flow of activities in a process or data processing?
Which UML diagram type focuses on representing the flow of activities in a process or data processing?
What is the main purpose of a sequence diagram in UML?
What is the main purpose of a sequence diagram in UML?
In UML, which diagram type is used to represent the object classes in a system and the associations between them?
In UML, which diagram type is used to represent the object classes in a system and the associations between them?
How do state diagrams contribute to system modeling?
How do state diagrams contribute to system modeling?
Which two diagram types are primarily used for interaction modeling in software engineering?
Which two diagram types are primarily used for interaction modeling in software engineering?
What is a key difference between use case diagrams and sequence diagrams?
What is a key difference between use case diagrams and sequence diagrams?
What is the original purpose of use cases in software development?
What is the original purpose of use cases in software development?
Which statement best describes the focus of use cases?
Which statement best describes the focus of use cases?
What is a key guideline for naming use cases?
What is a key guideline for naming use cases?
Besides textual descriptions, what other methods can be used to provide further details for use cases?
Besides textual descriptions, what other methods can be used to provide further details for use cases?
In use case modeling, what does an 'actor' represent?
In use case modeling, what does an 'actor' represent?
What distinguishes a 'time' actor from other types of actors in use case diagrams?
What distinguishes a 'time' actor from other types of actors in use case diagrams?
What type of relationship is used to show connections between a use case and an actor?
What type of relationship is used to show connections between a use case and an actor?
Under what condition must a use case be initiated by an actor?
Under what condition must a use case be initiated by an actor?
What does an 'include' relationship between use cases indicate?
What does an 'include' relationship between use cases indicate?
Under what circumstances is the 'extend' relationship used between use cases?
Under what circumstances is the 'extend' relationship used between use cases?
What is the primary characteristic of an abstract use case?
What is the primary characteristic of an abstract use case?
What purpose does generalization serve in use case diagrams regarding actors?
What purpose does generalization serve in use case diagrams regarding actors?
What is the purpose of activity diagrams in UML?
What is the purpose of activity diagrams in UML?
What does a diamond shape represent in an activity diagram?
What does a diamond shape represent in an activity diagram?
What is indicated by a solid bar in an activity diagram?
What is indicated by a solid bar in an activity diagram?
When using models to document an existing system, which criteria are most important regarding the models?
When using models to document an existing system, which criteria are most important regarding the models?
Which type of actor is represented by a physical person who directly uses the system?
Which type of actor is represented by a physical person who directly uses the system?
If a software system needs to interact with other systems, what kind of actor represents these other systems in a use case diagram?
If a software system needs to interact with other systems, what kind of actor represents these other systems in a use case diagram?
Which of the following describes where an arrow should be drawn in an extend relationship?
Which of the following describes where an arrow should be drawn in an extend relationship?
Which of the following would violate the guidelines for representing functionality in use cases?
Which of the following would violate the guidelines for representing functionality in use cases?
When the system itself processes a use case, what is the solution to ensure there is a user-initiated actor?
When the system itself processes a use case, what is the solution to ensure there is a user-initiated actor?
When is it UNACCEPTABLE to use the extend relationship in use case diagrams?
When is it UNACCEPTABLE to use the extend relationship in use case diagrams?
Which of the following is true about UML activity diagrams?
Which of the following is true about UML activity diagrams?
Where is the start of a process indicated in an activity diagram?
Where is the start of a process indicated in an activity diagram?
Which shape represents activities, or specific sub-processes which must be carried out in an activity diagram?
Which shape represents activities, or specific sub-processes which must be carried out in an activity diagram?
What does a swimlane diagram do?
What does a swimlane diagram do?
Which type of arrow may be annotated with guards to indicate the condition when that flow is taken?
Which type of arrow may be annotated with guards to indicate the condition when that flow is taken?
When using a model to facilitate discussion about a proposed system, which criteria are most important regarding the models?
When using a model to facilitate discussion about a proposed system, which criteria are most important regarding the models?
Which UML diagram shows where the workflow starts, where it ends, what activities occur, and what order the activities occur?
Which UML diagram shows where the workflow starts, where it ends, what activities occur, and what order the activities occur?
Flashcards
System Modelling
System Modelling
The process of developing abstract models of a system, with each model presenting a different perspective.
Unified Modeling Language (UML)
Unified Modeling Language (UML)
A standard language for specifying, modeling, visualizing, constructing, and documenting software systems.
Activity Diagrams
Activity Diagrams
Diagrams showing the flow of activities involved in a process or data processing.
Use Case Diagrams
Use Case Diagrams
Signup and view all the flashcards
Sequence Diagrams
Sequence Diagrams
Signup and view all the flashcards
Class Diagrams
Class Diagrams
Signup and view all the flashcards
State Diagrams
State Diagrams
Signup and view all the flashcards
Use Case Diagrams
Use Case Diagrams
Signup and view all the flashcards
Use Case Actor
Use Case Actor
Signup and view all the flashcards
Use Case Relationships
Use Case Relationships
Signup and view all the flashcards
Association Relationship
Association Relationship
Signup and view all the flashcards
Include Relationship
Include Relationship
Signup and view all the flashcards
Extend Relationship
Extend Relationship
Signup and view all the flashcards
Abstract Use Case
Abstract Use Case
Signup and view all the flashcards
Generalization
Generalization
Signup and view all the flashcards
Activity diagrams
Activity diagrams
Signup and view all the flashcards
UML activity diagrams
UML activity diagrams
Signup and view all the flashcards
Start of activity diagram
Start of activity diagram
Signup and view all the flashcards
Activities in activity diagrams
Activities in activity diagrams
Signup and view all the flashcards
Diamonds in Activity Diagrams
Diamonds in Activity Diagrams
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.