Uploaded by Beatrice Sinawang

smart-parking

advertisement
SIE 277: Object-Oriented Modeling and Design
Smart Park Software Proposal
Professor:
Sherilyn Keaton
By:
Chris Zurita
Chris Miller
December 6, 2016
Overview
This system is a pilot project and will be built in a phased approach. The first phase, the one we will
define and model here, will implement real-time space occupancy sensors only for spaces designated for
Accessible Parking. Overall garage availability will be measured through vehicle counts upon enter / exit
(e.g., 33 / 100 spaces available). Per-space occupancy sensors will be implemented for the remaining
spaces (garage, lot, and metered) in future phases if this project proves successful.
The Smart Park system has a central server (hub) component, a browser-based graphical user interface
(GUI) and a device level controller / monitor component. The server component is responsible for
running the business logic of the system (see Use cases below), storing and displaying availability
information, sending counts and informational messages to LED signs at each garage, and providing
reports like garage usage trends over time. The user interface will use a standard web browser for
displaying system information to internal staff and external, registered users.
Wireless vehicle detection sensors are installed in each parking space (phase 1 is for spaces designated
as Accessible Parking only). The space-specific status (occupied / unoccupied) is transmitted to a local
data collector which in turns sends the data to the central server for storage and system display. For
overall garage availability status, vehicle counts are generated at the entry and exit points, updated for
each vehicle, via detectors tracking vehicle direction and collected by the local controller that sends the
information on to the central server. There are message signs at the entrance of each garage that
display the current number of open spaces (received from the controller connected to the detectors)
and another message sign that displays informational messages.
«device»
D ataCollector
1 ..
1 ..
1 ..
1 ..
1 ..
1
0 ..*
«device»
S m artP arkC entralServer
«device»
EntryExitSensor
1
1 ..
1 ..1 ..
«device»
A p p licationServer
1 ..
«device»
L E DMessageSign
1 ..
0 ..*
1 ..
0 ..*
0 ..*
«device»
Terminal
«device»
H an d HeldDevice
0 ..*
«device»
D eskto p D evice
0 ..*
«device»
LEDAvailabilityDisplaySign
0 ..*
«device»
W irelessVehicleDetectionSensor
Diagram: Class ModeL
The following class diagram displays the interactions between the different systems for the
parking system.
Diagram: SystemViewStatus
Use Case: Register for Smart Park
ID: SPS001
Brief Description: A new user registers for the Smart Park system
Primary Actor: Driver
Secondary Actors:
Precondition: Email must not be previously registered
Main Flow:
a. The use case starts when the Driver opens the application
b. The user selects register for account
c. The user enters email, password, and vehicle type
d. The use case ends when the user selects submit
Post Condition: The new user is registered
Alternative Flow: The email is taken
Use Case: System View Status
ID: SPS002
Brief Description: A user views available of the system
Primary Actor: Driver
Secondary Actors:
Precondition: Driver must be a registered user
Main Flow:
a. The use case begins when the user opens the application
b. The driver selects view system status
c. The driver selects their current location
Post Condition: The System displays the current status of garages in their area
Alternative Flow: There are no garages in the driver’s area
Use Case: Search for Accessible Parking Availability
ID: SPS003
Brief Description: A registered Driver checks for parking availability
Primary Actor: Driver
Secondary Actors:
Precondition: The driver must be registered as an Accessible user
Main Flow:
a. The use case starts when the driver selects the status of a garage
b. The Driver selects the view Accessible Parking Availability
c. The Driver selects the desired parking garage
d. The Driver selects time range of parking
Post Condition: The system displays available Accessible Parking spots
Alternative Flow: The system displays a no vacany message for garage
Use Case: Control Device by Schedule
ID: SPS004
Brief Description: A controller is set for an event at a future date
Primary Actor: Parking Garage Manager
Secondary Actors:
Precondition: Must be a future time and date
Main Flow:
a. The user case begins when the Parking Garage Manager logs into
the system
b. The PGM creates a scheduled event
c. The PGM selects the designated garage
d. The PGM sets the time, date, and duration of event
e. The PGM saves the event
Post Condition: The event is scheduled
Alternative Flow:
Use Case: Send Device Measurement to Central Server
ID: SPS005
Brief Description: Vehicle sensor is activated
Primary Actor: Device
Secondary Actors:
Precondition: Device must be online
Main Flow:
a. The use case begins when the device senses a vehicle entering a
spot
b. The device logs time of day and location
Post Condition: The device sends information to the Central Server
Alternative Flow: The device is unable to communicate with Central Server
Use Case: Send Alert
ID: SPS006
Brief Description:
Primary Actor: Parking Garage Manager
Secondary Actors: Driver
Precondition:
Main Flow:
a. The use case begins when the PGM logs into the system
b. The PGM creates an alert
c. The PGM selects the designated Driver for the alert
d. The PGM saves the alert
Post Condition: The designated driver is alerted
Alternative Flow: The driver does not exist
Use Case: Create Parking Space Report
ID: SPS007
Brief Description:
Primary Actor: Parking Garage Manager
Secondary Actors:
Precondition:
Main Flow:
a. The use case begins when the PGM logs into the system
b. The PGM selects a garage from the system
c. The PGM selects run report
Post Condition: The system creates a Parking Space Report
Alternative Flow: There is no data to report
Diagram: ControlDeviceBySchedule
This sequence diagram demonstrates that in order to use the schedule feature on the application,
information from the Central Server as well as the local Garage are needed. This also shows that it is
the Central Server communicating with the LED sign when scheduling for parking.
Diagram: ControlDeviceBySchedule
This object diagram is an enumeration of a driver at Cherry Garage who schedules parking and,
again, requires that the LED sign responds to the new schedule and the Central Server and parking
sensor to become aware of the change as well.
Diagram: CreateParkingSpaceReport
This sequence diagram shows that the parking manager uses the parking application which takes
information from the Central Server to create the parking space report.
Diagram: CreateParkingSpaceReport
This object diagram is an enumeration at 6th Street as well as 2nd Street Garage. It shows that
each garage gathers information from the Central Server, but each garage communicates with its
own accessible sensor.
Diagram: RegisterForSmartPark
This class diagram like many others, represents how the application relies on information from the
Central Server.
Diagram: RegisterForSmartPark
This sequence diagram shows how the driver must first select to register for parking through the
application. That information is then sent to the Central Server.
Diagram: RegisterForSmartPark
Here, an account of a registration shows that the application connects with the Central Server.
Diagram: RegisterForSmartPark
The activity diagram shows that the registration information must be put into the system and
verified before continuing.
Diagram: RegisterForSmartPark
The possible states of the driver going through the registration process are shown in this state
diagram.
Diagram: SearchAccessibleParkingAvailability
Diagram: SendAlert
Diagram: Activity
Diagram: SendAlert
Diagram: SendDeviceMeasurementToCentralServer
Diagram: SendDeviceMeasurementToCentralServer
Diagram: SystemViewStatus
This class diagram shows how the application interface needs to interact with the Central Server in
order to view the status of the parking availability.
Diagram: SystemViewStatus
Download