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
🧩 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: 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). 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 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" Basic Flow:
User selects Manage Missions → Complete Mission. System lists all active missions. 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
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). Planned → Active → Completed is a typical mission lifecycle. Ships change state from Available → Busy → Available again. 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
Corresponding UML Concept
sample run scenarios
🎞️ UESEC Demonstration Sequence
(Create Mission → Assign Crew → Assign Ship)
PHASE 1 — INITIAL SETUP
At main menu, select 2. Manage Personnel. Add three personnel records: Enter dummy data for each (any text). Enter simple text for name, class, capacity. PHASE 2 — CREATE MISSION
Select 3. Manage Missions. 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”. 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. 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”. 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. Go to Manage Ships → View Ships to verify ship availability = true. PHASE 6 — WRAP-UP
Choose 4. Exit to end the program. Optional Quick Reset (if retaking footage)
Rerun program (data resets because everything is in memory only). 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.