TEXTUAL REQUIREMENTS The task is to design the software to support a computerized access control system. The purpose of the system is to control the access rights to an office. An entrance leading to an office can have four different securitylevels: 1. always unlocked 2. requires a card to unlock 3. requires a card as well as a code to unlock 4. always locked The security levels of an office entrance can be altered during the day. Each employee working in the office has a card with a personal code consisting of four digits. To enter through a door with security level three, the employee enters her card into a cardreader and types her personal code on a keypad. The time between consecutive keystrokes when typing the code is not allowed to exceed three seconds.To enter through a door with security level two the employee just enters her card into a cardreader. Each entrance leading into the office provides its own door as well as a cardreader, keypad and display on the outside, and an exitbutton on the inside. The employee only needs the card and code to *enter* the office. To exit, the employee just presses the exit button and the door is unlocked for ten seconds. All entrances communicate directly with a centralcontroller which makes sure that a validation of the correctness of cards and codes is performed. The controller has access to a database consisting of all cardnumbers and their corresponding personal codes. If the card is valid and, in case of security level three, the corresponding code correct, the door is unlocked for ten seconds and the employee may enter. In case of an invalid or unregistered card, access to the office is not allowed. In case of an incorrect code, the employee is informed of this and must try again by entering the card into the cardreader and retyping the personal code. The access control system must read its data, consisting of cardnumbers with their corresponding personal code, from a database. The database is managed by using a separate managementsystem that is not developed within the project. The systemoperator, who is running the management system, is authorized to register new employees, cards and codes, to change a code if the employee wishes so, to delete employees from the database if they are quitting and to change the security level of a door. The system operator is also responsible for initializing the access control system. All the actions mentioned above are done using the management system. The system must be able to recover from computer and connection failures. If a connection between an entrance and the central controller is lost, the door is locked from the outside not permitting anyone to enter (i.e.security level four is set). It is, however, possible to open the door from the inside by means of the exit button. The system must be extensible to include new functions and be easily maintained.