CS 33901 Software Engineering
Team Assignment - Building Security Management System


These are the software requirements for a new product that provides security management functions for a medium to large sized building. The purpose of this system is to prevent and report unauthorized entry into a building or a secure area of a building. It tracks personnel entry/exit history and monitors the patrols of security guards and reports any anomalies in their patrol schedules. It is also responsible for monitoring fire and smoke detectors and raising the appropriate alarm.

  • Monitor and control the normal entry and exit of building occupants through the use of personal security cards. This includes entry and exit from the building proper and entry and exit from particular security zones within the building. The system controls the locks on the doors and will not unlock a door unless the appropriate security card is swiped through the security-card reader by the door.
  • Detect a forced break-in of doors or windows. Break-ins are monitored both for outside entrances or windows and entrances or windows leading to particular security zones within the building.
  • Fire and smoke detectors are strategically placed throughout the building. These detectors must be monitored. If fire or smoke is detected the appropriate alarms must be raised.
  • The tracking of security-guard patrols is accomplished by having the security guards swipe their ID cards at checkpoint locations along their patrol routes. The system knows the normal schedule for such patrols, and reports any anomalies in the monitored patrols.
  • The system allows multiple levels of security for restricting access to certain security zones, possibly based on the time of day.
  • In the case of certain major violations of security, the system must have the ability to lock down the violated security zone or an enclosing zone in order to prevent exit of the perpetrators from the building or a zone.
  • In the case of fire or other emergency, the system will allow “emergency evacuation” from the affected zones. This will allow unrestricted exit from those zones but will not allow entry. Sirens in the affected zones are activated to alert the occupants that they must evacuate.
  • There is at least one security control center that contains a computer screen(s) and a printer. Such a control center may cover the entire building or be for a set of security zones. Every security zone must report to one and only one control center. Alarms, security violations, and security events are logged to a data base and optionally be printed as the happen. A screen will show a list of unresolved violations and alarms. An audible alarm will sound as long as the list is not empty. The control center operators can resolve a violation or alarm by interacting with the system (via keyboard and mouse).
  • The tracking of personnel location history is accomplished by recording an individual’s entrance/exit, with times, into the building and/or security zone. This information can be retrieved in the control center via the person’s name or ID card.
  • The control center manages ID cards and security levels.
Security Events:
  • An authorized entrance or exit
  • A security guard swiping his card at a control checkpoint at the appropriate time
Security Violations:
  • An unauthorized attempt to enter or exit a security zone
  • A security guard being X (typically 5) minutes late to a checkpoint
  • A security door being held open for more then X (typically 1) minute
Security Alarm:
  • A break-in
  • A security guard being more then X (typically 10) minutes late to a check point
  • A door being open more then X (typically 5) minutes
  • A fire or smoke detector signal


Team Assignments

Your team has been tasked with developing the previously described Building Security Management System. The team MUST follow the process describe in the Head First Software Development book.

Your system must be designed to be maintainable and flexible. For instance, a planned upgrade of this system is to interface it with the personnel database system so ID cards are linked to detailed and up to date information. Additionally, this will allow ID cards to be automatically invalidated for terminated employees. Other upgrades may include additional fire prevention such as automatically closing of hallway doors and dynamic emergency lighting exit routing. The user interface is also an obvious place for upgrades. Other upgrades may support iPhone and/or Android devices for security personnel to monitor security violations while making rounds in the building.

Your team must use a UML tool in developing the system.

EACH team member must keep detailed records of how much time you spend on developing the system (use lectures/TimeLog.xlsx form).

All materials need to be committed to the team repo in GitHub (as pdf). The individual time sheets need to also be committed. Name these LASTNAME-TimeLog.pdf.

Step 1: Due Oct 26
  • Develop a use case diagram that gives the features of the system – this implies you must refine the requirements and detail any assumptions you make
  • For each system feature develop a usage scenarios.
  • Develop a detailed data dictionary
  • Provide a numbered list of the features (from use case diagram) that the team came up with.
Step 2: Due Nov 2
  • Estimate the effort of each feature (using planning poker)
  • Estimate the time it will take to design that aspect of the system
  • Estimate the time it will take to implement that aspect of the system
Step 3: Due Nov 16
  • The instructor will prioritize the set of features for implementation
  • Construct at least one sequence diagram for each feature
  • Develop a set of Class diagrams to describe the design of your system in the context of the set of features you will are to implement
  • Use at least one design pattern while developing your system design

Last update: Wed Nov 4 14:01:05 2020 EST