---
title: "Collaboration and use case diagram case"
subject: "Object Oriented Analysis and Design"
chapter: 2
key: "semester_6/object_oriented_analysis_and_design:population-system-collaboration-usecase"
source: https://www.bctengineer.com/q/semester_6/object_oriented_analysis_and_design/population-system-collaboration-usecase
site: BCT Engineering
---

# Collaboration and use case diagram case

Object Oriented Analysis and Design · Chapter 2: Object Oriented Analysis

- Asked in: 2069 Poush, 6+6 marks
- Video: [UML use case diagrams: Everything you need to know](https://www.youtube.com/watch?v=4emxjxonNRI) — Lucid Software
- Answer checked by Claude Opus 5.5 (high effort) on 2026-10-14
- Page: https://www.bctengineer.com/q/semester_6/object_oriented_analysis_and_design/population-system-collaboration-usecase
- Whole chapter: https://www.bctengineer.com/md/semester_6/object_oriented_analysis_and_design/chapter-2

## Question

Read the following case study carefully and answer the given questions. Ministry of Health and Population is willing to computerize its system. This new system will be able to tell the population of the country, zone and district and even of the ward of specific place. The system will update its data in monthly basis so that the birth rate and death rate can be easily seen. The home page is displayed when a person enters to the system. Administrators can enter to the admin panel by logging in with an ID and a password. He/she has privileges to enter and modify the data into the database. On the other hand, normal users can view the data but not modify them. They can also visualize the data in graphical form with animated charts, maps as well as in tabular form based on their selection of data. Besides, they can also view the forecasted data. (Make your assumptions if necessary)
Draw collaboration diagram and use case diagram.

## Short answer

Actors: User and Administrator. User views population data, with optional visualisation and forecasts. Admin performs data entry, modification, and monthly updates after login. Collaboration: User selection triggers DataController to query Database and render results; Admin logs in via AuthController.

## Answer

**Assumptions:** the system is the "Population Information System" (PIS). Actors are the **Administrator** and the **User** (normal visitor). Data is updated monthly by the administrator. A `Database` object holds the data.

#### Use case diagram

```text
              +------------------------------+
              |  Population Information Sys. |
  [User] -----|-( View Home Page )           |
  [User] -----|-( View Population Data )     |
              |        ^ <<extend>>          |
  [User] -----|-( Visualize Data )           |
  [User] -----|-( View Forecast Data )       |
              |                              |
 [Admin] -----|-( Enter Data )--+            |
 [Admin] -----|-( Modify Data )-+ <<include>>|
              |                 v            |
              |             ( Login )        |
 [Admin] -----|-( Update Monthly Data )      |
              +------------------------------+
```

Actors and their use cases:

| Actor | Use cases |
|---|---|
| User | View Home Page, View Population Data (by country, zone, district, ward), Visualize Data (chart, map, table), View Forecast Data |
| Administrator | Login, Enter Data, Modify Data, Update Monthly Data (birth and death rate) |

Relationships: `Enter Data`, `Modify Data` and `Update Monthly Data` **include** `Login`; `Visualize Data` **extends** `View Population Data` (optional graphical form); `View Forecast Data` is a separate use case.

#### Collaboration (communication) diagram
Scenario: the user views the population of a district in graphical form. Objects: `:User` (actor), `:HomePage`, `:DataController`, `:Database`, `:ChartView`. Numbers show message order.

```text
        1: selectDistrict()
 :User ------------------> :HomePage
                               | 2: getPopulation(district)
                               v
                         :DataController
                          |            |
          3: query(district)|            | 5: render(data)
                          v            v
                      :Database      :ChartView
                          |  4: data      ^
                          +-- (returned) -+
                            6: show chart to :User
```

Message list:
1. `selectDistrict()` from User to HomePage
2. `getPopulation(district)` HomePage to DataController
3. `query(district)` DataController to Database
4. `data` returned to DataController
5. `render(data)` DataController to ChartView
6. `showChart()` to User

Admin scenario: `1: login(id,pw)` -> `:AuthController`, `1.1: verify()` -> `:Database`; `2: enterData()` -> `:DataController`; `2.1: save()` -> `:Database`.

## Check yourself

The answer's key points as multiple-choice questions, with the correct option and why.

1. Who are the actors in the Population Information System?
   A. Only the Database
   B. Student and Teacher
   C. Administrator and User
   D. Ministry and Campus
   Answer: C. Admin enters/modifies data; normal users view, visualize and see forecasts. (Key point: Actors)

2. Why do Enter Data and Modify Data include Login?
   A. Login extends Enter Data
   B. Admins must be authenticated before changing data
   C. Normal users must log in to view
   D. Login is optional for admins
   Answer: B. Only admins with ID and password may modify data, so Login is always performed. (Key point: Include relationship)

3. In the answer, Visualize Data relates to View Population Data by:
   A. generalization to Admin
   B. extend (optional graphical form)
   C. include (always done)
   D. dependency on Login
   Answer: B. Graphical display is an optional extension of viewing population data. (Key point: Extend relationship)

4. What do the numbers on messages in a collaboration diagram show?
   A. The priority of actors
   B. The order of messages
   C. The multiplicity of links
   D. The number of objects
   Answer: B. Numbered messages (1, 2, 3...) show the sequence of interaction. (Key point: Collaboration diagram numbering)

## Related in Object Oriented Analysis and Design

- [Math Training Institute use case diagram](https://www.bctengineer.com/question.md?key=semester_6%2Fobject_oriented_analysis_and_design%3Amath-training-institute-use-case) — Object Oriented Analysis and Design, chapter 2
- [Money transfer sequence diagram questions](https://www.bctengineer.com/question.md?key=semester_6%2Fobject_oriented_analysis_and_design%3Amoney-transfer-sequence-diagram) — Object Oriented Analysis and Design, chapter 2
- [Coffee vending machine use case diagram](https://www.bctengineer.com/question.md?key=semester_6%2Fobject_oriented_analysis_and_design%3Acoffee-vending-machine-use-case) — Object Oriented Analysis and Design, chapter 2
- [Health care center class diagram to code](https://www.bctengineer.com/question.md?key=semester_6%2Fobject_oriented_analysis_and_design%3Ahealth-care-class-diagram-code) — Object Oriented Analysis and Design, chapter 4
- [Importance of use case diagram](https://www.bctengineer.com/question.md?key=semester_6%2Fobject_oriented_analysis_and_design%3Ause-case-diagram-importance-uml) — Object Oriented Analysis and Design, chapter 2
- [Event management system summary and class diagram](https://www.bctengineer.com/question.md?key=semester_6%2Fobject_oriented_analysis_and_design%3Aoems-executive-summary-class-diagram) — Object Oriented Analysis and Design, chapter 2

## Related in other subjects

- [Case study: new system vs existing (cost, manpower)](https://www.bctengineer.com/question.md?key=semester_5%2Finstrumentation_ii%3Acs-cost-manpower-automation) — Instrumentation II, chapter 10, asked 4×
- [Case study: existing vs proposed system](https://www.bctengineer.com/question.md?key=semester_5%2Finstrumentation_ii%3Acs-2074asoj) — Instrumentation II, chapter 10
- [Case study: revamping MBI system for CEO](https://www.bctengineer.com/question.md?key=semester_5%2Finstrumentation_ii%3Acs-ceo-revamp) — Instrumentation II, chapter 10
- [Case study: feasibility, drawbacks, convincing](https://www.bctengineer.com/question.md?key=semester_5%2Finstrumentation_ii%3Acs-2072kartik-feasibility) — Instrumentation II, chapter 10
