Skip to content

Prelab 4

omerbelemir edited this page Mar 4, 2026 · 1 revision

Prelab Tasks

1) Fundamental Use Cases → Key Classes

Use Case A: Route Planning (Static Blueprint)

Key classes

  • User
  • MobilityProfile
  • Location
  • RouteRequest
  • Route
  • RouteSegment
  • RoutingEngine

Use Case B: Volunteer Accessibility Reporting

Key classes

  • User
  • ObstacleReport
  • PhotoEvidence
  • Location
  • ReportService

Use Case C: Municipality Resolution & Citizen Validation

Key classes

  • User (Authority role)
  • ResolutionUpdate
  • ValidationVote
  • ObstacleReport
  • NotificationService
  • IssueLifecycleService

2) Elementary Class Design

User

Fields

  • userId
  • name
  • email
  • role (Guest, Citizen, Authority, Admin)
  • trustScore

Methods

  • register()
  • login()
  • logout()

MobilityProfile

Fields

  • profileId
  • userId
  • primaryAid (Wheelchair, Cane, None)
  • avoidStairs
  • maxSlope

Methods

  • updatePreferences()

Location

Fields

  • latitude
  • longitude
  • address

Methods

  • distanceTo(otherLocation)

ObstacleReport

Fields

  • reportId
  • reporterId
  • location
  • category
  • description
  • status (Unverified, Confirmed, Passive, Resolved)

Methods

  • addPhoto()
  • upvote()
  • flag()
  • markResolved()

PhotoEvidence

Fields

  • photoId
  • reportId
  • url
  • uploadDate

Methods

  • validatePhoto()

ResolutionUpdate

Fields

  • updateId
  • reportId
  • authorityId
  • afterPhotoUrl
  • notes

Methods

  • publish()

ValidationVote

Fields

  • voteId
  • reportId
  • voterId
  • voteType (Confirm, Reject)

Methods

  • submitVote()

RouteRequest

Fields

  • requestId
  • startLocation
  • destinationLocation

Methods

  • validateRequest()

Route

Fields

  • routeId
  • segments
  • totalDistance
  • estimatedTime

Methods

  • summarize()

RouteSegment

Fields

  • fromLocation
  • toLocation
  • streetName
  • slope

Methods

  • isAccessible()

3) Elementary Class Diagram (Mermaid)

classDiagram

User --> MobilityProfile
User --> ObstacleReport
ObstacleReport --> Location
ObstacleReport --> PhotoEvidence
ObstacleReport --> ValidationVote
ObstacleReport --> ResolutionUpdate

RouteRequest --> Location
Route --> RouteSegment
RouteSegment --> Location

ReportService --> ObstacleReport
RoutingEngine --> Route
NotificationService --> User
IssueLifecycleService --> ObstacleReport
Loading

Project

Team Members

Lab Reports

Weekly Meetings

Scenarios and Mock ups

Use Case Diagrams

Class Diagram

Sequence Diagrams

Milestone Review

Clone this wiki locally