Parking lot

Questions & Requirements

  • Who? what kind of car, what kind of parking lot/building
  • What? parking, finding parking spot
  • Where? parking lot
  • When? Move in date, Move out date
  • How? How to park(how to find empty parking spot), payment function
  • Why? None

For example:

  • N levels, each level has M rows of spots and each row has K spots. So each level has M*K spots
  • the parking lot can park motorcycles, cars and buses
  • The parking lot has motorcycle spots, compact spots, and large spots
  • Each row,
    • motorcycle spots ID is in range [0, K/4)
    • compact spots ID is in range [K/4, K/4*3)
    • large spot ID is in range [K/4*3, K)
  • A motorcycle can park in any spot
  • A car park in single compact spot or large spot
  • A bus can park in htree large spots that are consecutive and within same row. it cannot park in small spots

Define Class (Properties, State)

  • Location
    • Parking spot
      • ID, Spot Size,
      • Available
    • Level
      • ID, Rows number, each Rows' spots number
      • Available spots number
    • Parking lot/building
      • ID
  • Vehicle (base class)
    • ID, Size
    • Motorcycle
    • Car
    • Bus

Define Class(Relationship)

  • Location
    • Parking Spot
      • Row number, Level number
    • Level
      • parking spot list
    • Parking lot/building
      • Level list
      • Dictionary<Vehicle, Parking Spot>
      • Dictionary<Parking Spot, Vehicle>

Define Class (Behavror)

  • Parking Spot
    • Park vehicle/Leave spot
    • isAble to park
  • Level
    • Leave/Park in Spots
    • Find Available Spots
  • Parking Lot
    • Leave/Park in Spots
    • Find Available Spots
  • Vehicle
    • Move in Spot
    • Move out Spot

Design Elevator

Question & Requirements

  • What? Building management system?

Define Class (Object)

  • Elevator
  • User/Passager
  • Building Management(Singleton)
  • Message/Event

Define Class (properties, state)

  • Elevator
    • ID
    • Elevator Info
    • Status, running/stop/emergency
    • Door Status, open/lock/working/emergency
    • Current Floor
  • Elevator Info
    • Elevator size
    • Max Weight
  • User
    • ID
  • Message
    • Status
    • Elevator id
    • Target Floor
    • Time/Date -> Time out declare emergency
    • Operation

Define Class(Relationship)

  • Building Management(Singleton)
    • Elevator set
    • Message Queue

Define Class (Behavior)

  • Elevator
    • Move up, Move down
    • Open door, Close door
    • Get Status
    • Get Current Floor
    • Stop
    • Enter Emergency
  • User
    • Call Elevator Up
    • Call Elevator Down
    • Get Current Floor
    • Go to Floor
    • Open Door
    • Close Door
    • Declare Emergency
  • Message
    • Operations: Move Up, Move, Down, Open Door, Close Door
  • Building Management
    • Get Message
    • PerformMessageOnElevator

results matching ""

    No results matching ""