Ask Question, Ask an Expert

+61-413 786 465

info@mywordsolution.com

Ask Java Expert


Home >> Java

Problem Specification

You have been approached by a local university for designing and implementing a room access control system on the university campus. Access to each room on each floor of each campus building is controlled via a swipe card system. All staff and students are permanently issued swipe cards appropriate to their role at the university while visitors are issued with a visitor card upon arrival at reception. Each room can be configured to admit a user based on the roles assigned to their swipe card and the type of room the user is trying to access. In addition certain roles may only allow access to a room at certain times. A user can only access one room at a time.

In addition to the swipe card systems normal operations, and to support health and safety requirements, it should be possible to place a room, building or the entire campus into an "emergency mode". Each campus building has a supply of ‘emergency responder' cards that can be accessed by fire, police and medical personnel. In "normal mode" these cards cannot be used to access any room. When in "emergency mode" these cards should allow access to ANY room.

The swipe card system should log into a text file the following information every time a card holder attempts to access a room:

1. The date and time that the user made the attempt to access a room.

2. The users name and swipe card ID number.

3. A code identifying the building in which the room is located (i.e. Babbage = BGB)

4. The room's floor and room number (i.e. room 7 on floor 2 of the Babbage building might be logged as BGB 207).

5. The mode in which that room is operating (i.e. "Normal" or "Emergency").

6. Whether access was granted or refused.

Whenever a room, building or the entire campus enters "emergency mode" the log file should record the date and time as well as the reason for the change (room X entered emergency mode, building Y entered emergency mode or the whole campus went into emergency mode). A folder should be created named EM_. A copy of the following items should be placed into this folder:

1. The current log file and

2. A copy of the current state of the swipe card data model. (You may save the data model's current state using either object serialization, an XML file OR a database). It should be possible to load the saved data model using your GUI and view the campus data model as it appeared after emergency mode was entered.

Each room has 3 states: Busy, Available and Free. In Busy state, a room is being used for a lecture, practical session or a formal meeting. In Available state, a room is being used for informal meeting of university staff members or students. In Free state, a room is empty and is available to any authorised user. A room changes its state from Free to Available state once an authorised user enters the room.

Each room has a seating capacity. In "normal mode", the access to a room is blocked when it reaches its full capacity. When a room is in Busy or Available state and the number of people in the room are at least 75% of the total room capacity then all the room lights are automatically turned on. When the room is in Busy or Available state and the number of people in the room are at least 50% of the total room capacity, 50% of the room lights are automatically turned on. When the room is in Busy or Available state and the number of people in the room are at least 25% of the total room capacity, 33% of the room lights are automatically turned on. When the room is in Busy or Available state and the number of people in the room are up to 25% of the total room capacity, 25% of the room lights are automatically turned on. When the room is in Free state, all the lights are turned off.

The system should be able to maintain an hourly record of room states for improving the workspace utilisation as well as the energy consumption pattern. A log file should be separately stored in the system carrying hourly entries about the room, its state, utilisation statistics and energy consumption statistics.

Requirements

You are required to produce a Java desktop application OR a Java web application that meets the universities requirement specification given in the problem statement of this assignment. This application should follow the Model-View-Controller (MVC) pattern.

Using additional software design patterns in your data model design from the following list will earn you:

- Strategy Pattern

- State Pattern

- Observer Pattern

- Command Pattern

- Decorator Pattern

- Factory Pattern

- Singleton Pattern

You are required to use test driven development (TDD) to create your solution to the scenario. Your solution should be implemented in the Java programing language using the NetBeans IDE.

The implementation should contain two NetBeans projects as follows:

1. A Java Class Library containing the implementation of your data model as per your UML Class diagram. This project should also include the set of JUnit tests used to create your data model. The data model should have a full set of documentation generated for it using the Javadoc tool. It is not sufficient to simply mark-up your classes you MUST GENERATE the Javadoc web site. A 5% marking penalty will be applied if this is not done.

2. A Java NetBeans project which provides a Java application OR a Java web application. This project MUST make use of the classes in your Java Class Library (see 1 above). The application should provide the following functionalities by allowing a user to:

a. Add or remove a room and modify its capacity

b. See and change the current operating mode for every room and building on the university campus.

c. Add, remove, modify or view the lightning bulbs installed in a room

d. View an alphabetical list of campus users.

e. Add or remove people from the list of campus users

f. Add or remove roles from people on the list of campus users

g. "Simulate" a person on the list of campus users "swiping into a room on campus". This should generate the appropriate log entry.

h. View the current log file of users for accessing the rooms.

i. Save / load the campus data model and log file.

j. View the hourly record of room states

In addition to the software you are also required to write a short reflection on the design and implementation of your solution.

There is no minimum word count for this section. You are not expected to write more than 1000 words. The reflection should cover the following:

- How your design meets good design criteria?

- How your design has evolved during implementation?

Java, Programming

  • Category:- Java
  • Reference No.:- M92060203

Have any Question? 


Related Questions in Java

Solving 2nd degree equationsbull write the following java

Solving 2nd degree equations • Write the following Java methods • boolean real-sols(double a, double b, double c): it returns true if the 2nd degree equation ax2 + bx + c has real solutions • double solution1(double a, d ...

Retail price calculatorwrite a java program that asks the

Retail Price Calculator Write a JAVA program that asks the user to enter an item's wholesale cost and its markup percentage. It should then display the item's retail price. For example: (If an item's wholesale cost is 5. ...

Part a specification - robot simulationpart a

PART A Specification - Robot Simulation PART A Requirements To complete this assignment you will use the supplied eclipse project Robot P1/. It is already set up to execute a simple arm movement loop which you will build ...

Assessment instructionsin this assessment you will complete

Assessment Instructions In this assessment, you will complete the programming of two Java class methods in a console application that registers students for courses in a term of study. The application is written using th ...

Assignment - java program using array of objectsobjectives

Assignment - JAVA Program using array of objects Objectives - This assessment item relates to the course learning outcomes as stated in the Unit Profile. Details - For this assignment, you are required to develop a Menu ...

Can someone help me please with those question1what is the

Can someone help me please with those question 1:what is the best data type for student id datatime,currency,number,decimal 2:which relationshipis preferable? one to one,one to many,many to many 3:if you add table A's pr ...

Object-oriented software development1 introduction 11

OBJECT-ORIENTED SOFTWARE DEVELOPMENT 1. Introduction 1.1 Assignment Requirement 1.2 Deliverables and Structure (what to submit) 1.3 Software Restrictions 1.4 How to score high... 1.5 Assumptions 2. System Requirements 2. ...

Assignment game prototypeoverviewfor this assessment task

Assignment: Game Prototype Overview For this assessment task you are expected to construct a prototype level/area as a "proof of concept" for the game that you have designed in Assignment 1. The prototype should function ...

Assessment socket programmingtaskwrite a java gui program

Assessment: Socket Programming Task Write a JAVA GUI program that would facilitate text chatting/exchanging between two or multiple computers over the network/internet, using the concept of JAVA socket programming. If yo ...

Assignment taskwrite a java console application that allows

Assignment task Write a java console application that allows the user to read, validate, store, display, sort and search data such as flight departure city (String), flight number (integer), flight distance (integer), fl ...

  • 4,153,160 Questions Asked
  • 13,132 Experts
  • 2,558,936 Questions Answered

Ask Experts for help!!

Looking for Assignment Help?

Start excelling in your Courses, Get help with Assignment

Write us your full requirement for evaluation and you will receive response within 20 minutes turnaround time.

Ask Now Help with Problems, Get a Best Answer

Why might a bank avoid the use of interest rate swaps even

Why might a bank avoid the use of interest rate swaps, even when the institution is exposed to significant interest rate

Describe the difference between zero coupon bonds and

Describe the difference between zero coupon bonds and coupon bonds. Under what conditions will a coupon bond sell at a p

Compute the present value of an annuity of 880 per year

Compute the present value of an annuity of $ 880 per year for 16 years, given a discount rate of 6 percent per annum. As

Compute the present value of an 1150 payment made in ten

Compute the present value of an $1,150 payment made in ten years when the discount rate is 12 percent. (Do not round int

Compute the present value of an annuity of 699 per year

Compute the present value of an annuity of $ 699 per year for 19 years, given a discount rate of 6 percent per annum. As