Skip to content
Share
Explore

Use Case Specification Document for the United Earth Space Exploration Command (UESEC) Enterprise Information System

Below is a complete Use Case Specification Document for the United Earth Space Exploration Command (UESEC) Enterprise Information System, derived directly from a lexical analysis of the Assignment Sheet.

🪐 USE CASE SPECIFICATION DOCUMENT

United Earth Space Exploration Command (UESEC)

Enterprise Information System — Kotlin Console Version

System Name: UESEC EIS v1.0 ​Author: Prof. Peter Sigurdson ​Course: MADS4013 – Kotlin Programming ​Version: Draft 1.0

🧭 System Overview

The United Earth Space Exploration Command Enterprise Information System (UESEC EIS) manages organizational resources required for space missions — specifically Spaceships, Personnel, and Missions.
The system is a text-based console application that supports basic CRUD operations (Create, Read, Update, Delete) and relationships between these entities.

🎯 Primary Actor

User Role: UESEC Operations Officer (student or trainee) ​Goal: To manage the organizational data necessary to plan, assign, and complete space missions.

💡 Stakeholders and Interests

Table 1
Stakeholder
Interest
UESEC Command
Efficient management of fleet and crew resources.
Systems Engineering Students
Practice in object-oriented design and data modeling.
Instructor
Demonstrate relationships and lifecycle management between entities.
There are no rows in this table

🧩 USE CASE 1: Manage Spaceships

Use Case ID: UC-01 ​Primary Actor: UESEC Officer ​Goal: Maintain records of all available spacecraft within the fleet.

Basic Flow:

User selects Manage Ships from the main menu.
System displays the Ship Management Menu with options to:
Add Ship
View Ships
Delete Ship
Return to Main Menu
User chooses an option:
Add Ship: User enters name, class type, and capacity. System creates a new Spaceship object (default isAvailable = true).
View Ships: System lists all ships with attributes.
Delete Ship: User selects a ship by index; system removes it from collection.
System confirms the operation and returns to the Ship Management Menu.

Alternate Flows:

AF1: Invalid input → System displays error message and returns to menu.

Postcondition:

Ship record is added, viewed, or deleted in system memory.

🧩 USE CASE 2: Manage Personnel

Use Case ID: UC-02 ​Primary Actor: UESEC Officer ​Goal: Record and maintain crew member information.

Basic Flow:

User selects Manage Personnel from the main menu.
System displays Personnel Management Menu (Add, View, Delete, Return).
User chooses:
Add Personnel: Enter name, rank, specialty → system creates new Personnel object.
View Personnel: System lists all recorded personnel.
Delete Personnel: Select by index → record removed.
Confirmation message is displayed.

Postcondition:

Personnel records are maintained in system memory.

🧩 USE CASE 3: Create a Mission

Use Case ID: UC-03 ​Primary Actor: UESEC Officer ​Goal: Define a new mission to be executed by the UESEC fleet.

Basic Flow:

User selects Manage Missions → Add Mission.
System prompts for mission name and objective.
System creates a Mission object with assignedShip = null and status = "Planned".
System confirms mission creation.

Alternate Flow:

AF1: User leaves fields blank → system prompts for valid input.

Postcondition:

Mission exists in system without a ship assigned (nullable association).

🧩 USE CASE 4: Assign Ship to Mission

Use Case ID: UC-04 ​Primary Actor: UESEC Officer ​Goal: Assign an available ship to a mission, activating it.

Preconditions:

At least one mission exists.
At least one ship is available (isAvailable = true).

Basic Flow:

User selects Manage Missions → Assign Ship.
System displays list of missions and available ships.
User selects mission index and ship index.
System sets mission.assignedShip = ship and ship.isAvailable = false.
System updates mission.status = "Active".
Confirmation message is displayed.

Postcondition:

Mission is now active and linked to one ship.

🧩 USE CASE 5: View Mission Status

Use Case ID: UC-05 ​Primary Actor: UESEC Officer ​Goal: Display all missions and their current status.

Basic Flow:

User selects Manage Missions → View Missions.
System lists each mission with:
Mission Name
Assigned Ship (if any)
Number of Crew (if any)
Mission Status (Planned / Active / Completed)

Postcondition:

User has situational awareness of all current UESEC operations.

🧩 USE CASE 6: Complete a Mission

Use Case ID: UC-06 ​Primary Actor: UESEC Officer ​Goal: Mark an active mission as completed and free the assigned ship for reuse.

Preconditions:

Mission status = "Active"
Ship assigned to mission

Basic Flow:

User selects Manage Missions → Complete Mission.
System lists all active missions.
User selects one.
System updates mission.status = "Completed".
System sets mission.assignedShip.isAvailable = true.
System displays confirmation message.

Postcondition:

Mission status is "Completed".
Ship becomes available for future missions.

🧩 USE CASE 7: Delete a Mission

Use Case ID: UC-07 ​Primary Actor: UESEC Officer ​Goal: Remove a mission record no longer needed.

Preconditions:

At least one mission exists.

Basic Flow:

User selects Manage Missions → Delete Mission.
System displays list of missions.
User chooses mission index to delete.
System removes mission from list and confirms action.

Postcondition:

Mission record removed from system.

🧩 USE CASE 8: Exit System

Use Case ID: UC-08 ​Primary Actor: UESEC Officer ​Goal: Safely terminate the program.

Basic Flow:

User selects Exit from the main menu.
System displays farewell message and ends execution.

Postcondition:

All in-memory data is cleared (since persistence is not implemented).

🧠 System Notes

Relationships:
Each Mission has exactly one assigned Spaceship when active.
Each Spaceship can be assigned to at most one mission at a time.
Each Mission can have zero or many personnel assigned (future enhancement).
Lifecycle Concepts:
PlannedActiveCompleted is a typical mission lifecycle.
Ships change state from AvailableBusyAvailable again.
Educational Intent:
Encourage understanding of object relationships, state management, and system boundaries.
Reinforce the principle that objects don’t manage each other — the system does.

🧩 UML Alignment Summary

Table 2
Use Case
Corresponding UML Concept
Manage Ships
CRUD operations on entity class
Manage Personnel
CRUD on human resources entity
Create Mission
Object instantiation with nullable relationships
Assign Ship
Association between entities
Complete Mission
State transition and relationship update
System Boundary (menus)
Controller component managing subsystems
There are no rows in this table
sample run scenarios


🎞️ UESEC Demonstration Sequence

(Create Mission → Assign Crew → Assign Ship)

PHASE 1 — INITIAL SETUP

Run program (main()).
At main menu, select 2. Manage Personnel.
Add three personnel records:
Enter dummy data for each (any text).
Return to main menu.
Select 1. Manage Ships.
Add two ships:
Enter simple text for name, class, capacity.
Return to main menu.

PHASE 2 — CREATE MISSION

Select 3. Manage Missions.
Choose 1. Add Mission.
Enter mission name (e.g., “Mission-1”) and objective (any short text).
Choose 2. View Missions to confirm it appears.
Note status should display “Planned” and ship field shows “No ship assigned”.
Return to main menu.

PHASE 3 — ASSIGN CREW (MANUAL SIMULATION)

(If you kept the simple scaffold, personnel aren’t yet linked directly to missions; simulate this step for narration.) 14. Re-enter Manage Personnel. 15. Use View Personnel to list crew. 16. Verbally indicate which personnel will be assigned to the new mission. 17. Return to main menu.

PHASE 4 — ASSIGN SHIP

Enter Manage Missions again.
Choose 4. Assign Ship.
Select the mission you created (e.g., “Mission-1”).
From available ships list, choose Ship #1.
Confirm system message: “Assigned [ship] to [mission].”
Choose 2. View Missions again.
Verify that mission now shows a ship and status = “Active”.
Return to main menu.

PHASE 5 — COMPLETE MISSION

Enter Manage Missions again.
Choose 5. Complete Mission.
Select the mission you assigned earlier.
Confirm system output: mission marked “Completed,” ship released.
Choose 2. View Missions once more to show updated status.
Return to main menu.
Go to Manage Ships → View Ships to verify ship availability = true.

PHASE 6 — WRAP-UP

Return to main menu.
Choose 4. Exit to end the program.
Stop screen recording.

Optional Quick Reset (if retaking footage)

Rerun program (data resets because everything is in memory only).
Repeat phases 1–5.
This checklist gives you a smooth, self-contained demonstration path with zero creative overhead. Keep this on your second monitor, scroll step-by-step, and you’ll have a clean, continuous screencast sequence.
Want to print your doc?
This is not the way.
Try clicking the ··· in the right corner or using a keyboard shortcut (
CtrlP
) instead.