logo资料库

软件工程课程项目设计.pdf

第1页 / 共24页
第2页 / 共24页
第3页 / 共24页
第4页 / 共24页
第5页 / 共24页
第6页 / 共24页
第7页 / 共24页
第8页 / 共24页
资料共24页,剩余部分请下载后查看
Software Engineering Course Project Parking Garage/Lot Project designed by Ivan Marsic Department of Electrical and Computer Engineering Rutgers University Project website: http://www.ece.rutgers.edu/~marsic/books/SE/projects/ This project develops a computerized system to manage parking usage and online reservations in a parking garage. It is intended to be done by a team of 4-6 undergraduate students during an academic semester, in conjunction with lectures and other class activities. Other related projects and a software engineering textbook are available for download at this website: http://www.ece.rutgers.edu/~marsic/books/SE/ PP 1. Project Description The purpose of this project is to track and manage occupancy of a parking garage and allow customers to find and reserve available parking places. The system-as-is can be described as follows. The parking garage currently operates without any computerized system. The management has concerns about inefficiencies of sub-optimal usage of parking space (lost opportunity/profit). Congestion inside the garage is often caused by drivers searching for vacant spots. In addition, it is well known that a great deal of traffic congestion in cities generally is caused by drivers looking for a parking space. Currently, the management monitors the garage occupancy by having employees walk around the decks to inspect the occupancy of individual spots. Some parking garages already monitor the occupancy using a
Ivan Marsic  Rutgers University 2 sensor system which keeps tally of the vehicle entrance and exit events that occur in the parking structures. Our customer garage decided to develop a more advanced system, called “Park-a-lot,” as described next. The parking garage will be remodeled so that the parking decks above the ground level will be accessible only using an elevator that will lift the vehicles to different decks. There will be no other way to reach the upper decks. All vehicles will depart the garage by descending down the designated exit pathway to the ground level. Only passenger vehicles can be parked in this parking garage. That is, large trucks, busses, etc., cannot enter this parking garage. The ground level will be reserved for walk-in customers. All other levels will be reserved for registered customers that made advance reservation. The parking garage will not distribute special electronic tags or markings for customer vehicle identification. Instead, the garage will use camera-based license-plate recognition systems. Customers will register at the company website in advance of using the parking garage. At the registration time, the customer will provide demographic information and a valid email and his or
Software Engineering Course Project  Parking Lot/Garage 3 her credit card number. The customer may provide the license plate numbers for his or her vehicle(s), but this is not required to allow registration of customers who do not own vehicles, but will use a borrowed or rented vehicle. The same vehicle may appear under several customers, for example different family members, or vehicle borrowed from a friend, or rented from a rental agency. In case of a borrowed or rented vehicle, the customer will specify the registration plate number at the time of making a parking reservation. If the specified registration number is different from the number in the customer’s profile, the software-to-be will create a temporary association of the number to this customer, and the association will be deleted after the parking garage is used during the requested interval. The registration software may also support guaranteed reservations, which allow customers to make a (monthly) contract with the parking garage for a parking spot. For example, commuters going regularly to work need parking on a daily basis during a predetermined period. Another example is corporate customers who wish to keep permanently reserved parking space for their personnel and visitors. Such customers are desirable because they can provide predictable and steady income. The following devices will be installed inside the parking garage (see Figure 1): S1 & S2. The garage will have installed two license-plate readers: one at the lift platform and the other at the end of the exit pathway. The reader will use a digital camera and a license-plate recognition system widely used in toll stations in road-tolling systems. When a vehicle drives up on to the lift platform, the license-plate reader will read the vehicle registration number. The other reader will record the registration number of the departing vehicles. S3. Every parking spot has installed a sensor that senses the occupancy of the spot by a vehicle. The sensor could be based on visible or infra-red light, ultrasound, or a similar sensing technique. D1. There will be a digital display installed on the ground floor that will indicate available vacancies for the walk-in customers without reservations. This display will also indicate if the ground-level parking area is full. D2. There will be a digital display installed in the vehicle elevator to display various messages. Other messages will include information for non-registered customers of a denied access to upper decks, or information for registered customers of changes in their reservation. D3. An entrance console will be installed in the vehicle elevator. If the vehicle registration number is not recognized by the license-plate reader (e.g., because this is a borrowed or rented vehicle and the customer did not know the license plate number at the time he or she made the parking reservation), then the system will display the message for and offer the driver option to enter the reservation confirmation number on the console installed in the vehicle elevator. To prevent the drivers from entering the upper decks via the exit driveway, there will be a one- way barrier installed at the endpoint of the exit driveway. 1.1 Business Policies for the System-to-be The company has decided to adopt the following business policies for the system-to-be:
Ivan Marsic  Rutgers University 4 S3. Occupancy photosensor D2. Elevator display S1. Elevator camera D3. Elevator console S2. Exit camera Figure 1: Parking garage system-to-be: sensors, displays, and other devices. P1. If the license-plate recognition system does not recognize the vehicle registration number as associated with a registered customer (e.g., a walk-in customer drives on to the lift platform by mistake), the platform will remain motionless and the display board will notify the driver that the registration number is not recognized, and request to enter their reservation confirmation number or membership number (as per the business policy (P2) described next) on the console installed in the vehicle elevator, or back away from the platform and park on the ground level. Vehicles with a missing license plate will be treated the same as those with an unrecognized registration number. P2. A registered customer may be allowed to walk-in without a reservation if there are currently available parking spots. If the vehicle registration number is recognized, but the system cannot find an existing reservation associated with the customer who owns this vehicle, then the customer will be offered to specify the expected duration of parking or departure time using the console installed in the vehicle elevator. If the vehicle registration number is not recognized, the customer will be offered to type in their membership number and the expected parking duration. If the membership number is not recognized, the customer will be asked to back away. P3. If a customer does not show up at the start of their reserved interval, the parking spot will be held reserved for a given “grace period” (e.g., one-half hour) after the start of the reserved
Software Engineering Course Project  Parking Lot/Garage 5 interval. If the customer arrives within the holding period, he or she shall park on their reserved spot and will be billed for the full reserved period. The customer will be offered to pay an additional fee to hold the reservation beyond the regular grace period. P4. If the customer arrives any time after the grace period after the start of the reserved interval, he or she will be asked for how long he or she plans to stay. If there are vacant and unreserved spots during the desired interval, the customer will be offered to park. The customer will be billed from the start of their original reservation until the end of their newly reserved interval. P5. If the customer does not arrive during their reserved interval, he or she will be billed for the entire duration of their reserved interval. P6. If a customer departs before their reserved period expires (“understay”), he or she will be billed for the full reserved period. The spot’s status in the database will be changed to “vacant” immediately as the sensor detects that the vehicle has left, and the spot will be made available to other customers for use. P7. The customer is allowed to extend an existing reservation one-half hour prior to the scheduled expiration if only if there are available (not reserved or occupied spots) for the desired period. The reservation may be extended unlimited number of times if the extension is requested one-half hour prior to the scheduled expiration if only if there are available for the desired period. P8. If a customer fails to depart as scheduled after their reserved period expires, he or she will be billed for the duration of their reserved period at a regular rate and at a higher rate for the duration of their overstay. The rate will be increased progressively with the duration of overstay. A notification will be sent to the customer about these actions. P9. Each customer is allowed to have multiple standing reservations on his or her names, but these reservations cannot be contiguous. A minimum of one hour gap is imposed between any consecutive reservations, and a maximum of three outstanding reservations is allowed. If a customer tries to make contiguous reservations, he or she should be offered to merge the contiguous reservations into a single one, or to cancel or modify some of the contiguous reservations. P10. If a customer arrives and his or her reserved spot is still occupied by a previous customer who failed to depart as scheduled, but there are other available spots, the arriving customer will be offered to park on an available spot. The message will be displayed on the display inside the vehicle elevator. P11. The system may overbook the parking space reservations. The overbooking mechanism will be described below. P12. If a customer arrives on a full parking garage, because of overbooking or some customers failed to depart as scheduled, the customer will be asked to leave without parking, and will be given a rain check. P13. The registered customer is billed once a month by emailing a monthly statement, which includes parking fees or penalty fees, if any. P14. If the recognized vehicle registration number is associated with a single registered customer, the garage usage will be billed to this customer. If the vehicle is currently associated with more than one registered
Ivan Marsic  Rutgers University 6 T customer, the vehicle will be billed to the customer with the current temporal association with this vehicle number, which is created at the time of the parking reservation request. he practice of overbooking (policy (P11))—accepting reservations for more spots than are available by forecasting the number of no-show reservations, overstays, understays, and walk-ins, with the goal of attaining 100 percent occupancy—is common in many service industries, such as airlines and hotels. For example, the book Hotel Front Office Management (by James A. Bardi, 4th Edition, John Wiley & Sons, Inc., Hoboken, NJ, 2007) describes how overbooking works in the hotel industry. The operator always wants to minimize the financial loss due to no-shows and other issues. The occupancy management policy is based on management of the occupancy categories into which customers are placed: those with confirmed reservations, those with guaranteed reservations, overstays, understays, and walk-ins. The reservation is guaranteed with a credit card number on record in the customer’s profile, to ensure the customer’s intent of arrival and thus guarantee payment for parking services. Here is a (partial) glossary of terms used in overbooking decisions: Confirmed reservations represent registered customers who make reservations as the need arises. These reservations are honored until a specified time (including the grace period after the start of the reserved interval). Such customers represent the critical element in no-shows. Guaranteed reservations represent the registered customers who made a contract with the parking garage for a parking spot, such as commuters going to work who need parking on a daily basis during a predetermined period. Such customers represent a less volatile group because they need to show up for their work. Overstays are currently parked customers who wish to extend their stay beyond the time for which they made reservations. Understays are customers who arrive on time but decide to leave before their predicted time of departure. Walk-ins are registered customers who arrive to the parking garage without a contract or reservation. They are welcome because they can enhance the garage occupancy percentages (if there are available parking spaces). The following occupancy management formula considers confirmed reservations, guaranteed reservations, no-show factors for these two types of reservations, predicted overstays, predicted understays, and predicted walk-ins to determine the number of additional parking reservations needed to achieve 100 percent occupancy. No-show factors are based on prior experience with customers with confirmed or guaranteed reservations who did not show up. total number of parking spots available  confirmed reservations  no-show factor based on historical data  guaranteed reservations  no-show factor based on historical data  predicted overstays  predicted understays  predicted walk-ins = number of additional parking spots available to achieve 100 % occupancy (1)
Software Engineering Course Project  Parking Lot/Garage 7 1.2 Assumptions about the System-to-be We identified the following assumptions about the parking garage system-to-be: A1. The license-plate recognition system works correctly 100 % of time, with no errors because of dirty or scratched license plates. If the registration number cannot be recognized, the software- to-be will assume that this vehicle does not belong to a registered customer. A2. If the license-plate recognition system cannot recognize the vehicle registration number and the customer does not provide a valid confirmation number or membership number, the customer will be asked (display message) to back away from the vehicle elevator (business policies (P1) and (P2)). We assume that the customer will always obey and depart. If we suspect otherwise, we may manage this risk by having the system to notify the garage security personnel. We also need an additional sensor to sense a vehicle presence in the elevator and assumptions about its correct operation. (Perhaps the license-plate recognition camera can serve this purpose?) A3. The spot-occupancy recognition system works correctly 100 % of time, with no errors because of sensor malfunctioning or incorrect sensing. If the sensor positively detects occupancy, we assume that this result is only due to a vehicle, and no other object occupying the spot. For example, if the sensor is based on visible light, we assume that “dark” is sensed is only because a vehicle is present above the sensor, rather than because of lighting outage or some other condition; similarly, “light” is sensed is only because of a vacant spot and not because of another accidental light source. A4. The vehicle elevator will lift the vehicle to the appropriate deck, and will never stop on a wrong deck by mistake. A5. In the case of the business policy (P10), we assume that the customer will always accept the offered parking spot and will never wish to opt out and leave the parking garage without parking his or her vehicle. A6. We assume that the customer will always park at their assigned spot, and will never park at an arbitrary vacant spot. We assume that the garage currently does not have installed sensors for continuous tracking of customers from the vehicle elevator to their assigned spot. This is a strong assumption (and we know that people are unpredictable!), but the accuracy of the parking reservations table depends on this assumption. If a customer parks on a wrong spot (e.g., spot B), and the system thinks that the customer is parked correctly on spot A, then the system will direct future customers to an already occupied spot B (or accept reservations for B), and meanwhile the system will consider spot A as occupied, while it is actually available. A7. If the license-plate reader successfully recognizes the vehicle registration number, the system assumes that the driver is a registered customer. The system-to-be will not consider separately scenarios where the driver is a non-registered customer who borrowed the vehicle from a friend who is a registered customer, or if the vehicle was stolen from a registered customer. The customer to be billed for the parking garage use will be decided as per the business policy (P14). A8. It is possible that the customer is an organization with multiple individuals (rather than an individual person).
Ivan Marsic  Rutgers University 8 A9. We assume that the customer has access to email and a mobile phone with SMS texting capabilities. We do not assume that the customer will regularly check his or her email or will always be able to receive instantaneously SMS messages. For example, the customer may be in a meeting with the phone turned off. Also, we do not assume that the customer has access to a computer or smartphone while driving. T he above description of the system is only preliminary, provided as a reference example. The student developers team may add, drop, or modify any of the statements as deemed appropriate. Also, the team should consider how will the system functioning be affected by scenarios in which the above assumptions are not satisfied. 1.3 Statement of Requirements for User Interaction The architecture of the envisioned parking garage computer system is shown in Figure 2. A relational database is maintained at the server. The database contains various information, including: Information about the registered customers   The occupancy state of each parking spot: “available,” “reserved,” or “occupied”  Current parking reservations  The record of transactions for each customer, such as past reservations, garage usages, whether the customer showed-up late, or failed to show up during their reserved period, etc.  Various statistics about the garage usage The garage operator should be able to view but not edit the profiles of registered customers. The operator should also be able to set the prices for different services, such as parking fee within the reserved period, parking fee during overstays, and the fee for no-shows. Internet Remote client Server software: - parking occupancy monitoring - garage access control - user reservation management - system administration Database ( customers, occupancies, reservations, transactions, … ) Garage ( with sensors and displays ) Figure 2: The architecture of the parking garage computer system.
分享到:
收藏