Complete Answers and Explanations | UNISA
Assignment Guide
Question 1: System Sequence Diagrams (SSD)
Question: What is a System Sequence Diagram (SSD), and how does it differ from a detailed
Sequence Diagram in Object-Oriented Design?
Answer:
System Sequence Diagram (SSD): Used during the analysis phase to document the
sequence of inputs and outputs between an external actor and the system treated as a
single black box (:System). It shows what the system must do without revealing internal
object interactions.
Detailed Sequence Diagram: Used during the design phase to show how internal
software objects (e.g., UI forms, controllers, domain objects, data access objects)
collaborate to fulfill a specific use case by passing messages to each other.
Question 2: Use Case Relationships (<<include>> vs. <<extend>>)
Question: Explain the difference between the <<include>> and <<extend>> relationships in
UML Use Case Diagrams.
Answer:
<<include>>: Indicates that a base use case always explicitly incorporates the behavior
of another use case. The included use case is a mandatory sub-step (e.g., Process
Payment is included in Checkout Order).
<<extend>>: Indicates that a use case provides optional or conditional behavior that
extends a base use case under specific conditions defined at an extension point (e.g.,
Apply Discount Code extending Checkout Order only if a promo code is entered).
Question 3: Domain Class Diagrams vs. Design Class Diagrams (DCD)
, Question: Contrast a Domain Class Diagram with a Design Class Diagram (DCD).
Answer:
Domain Class Diagram: Created during analysis; depicts real-world business entities,
attributes, and associations. It omits implementation details like method signatures,
visibility modifiers, and programming types.
Design Class Diagram (DCD): Created during design; provides a blueprint for software
construction. It includes explicit attribute types, visibility modifiers (+ public, - private),
method signatures, navigation arrows, and design patterns.
Question 4: Multiplicity Notation in UML
Question: In a university database, a Student can enroll in zero or many Courses, while a Course
must have between 10 and 50 Students. State the multiplicity notation at both ends of the
association.
Answer:
On the Course end of the association: 0..* (or *) — a student can register for zero to
many courses.
On the Student end of the association: 10..50 — a course must have a minimum of 10
and a maximum of 50 students enrolled.
Question 5: Association Classes
Question: When is an Association Class required in a domain model? Provide a brief scenario.
Answer:
An association class is required when an association between two classes has attributes of its
own that cannot logically belong to either individual class alone.
Example: A Student registers for a Course. The attribute grade or enrollmentDate
depends on both the specific student and the specific course. Therefore, a Registration
association class is created to hold grade and enrollmentDate.
Question 6: Three-Layer Architecture