Produce a java desktop application

Assignment Help JAVA Programming
Reference no: EM131305569

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_<timestamp>. 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?

Reference no: EM131305569

Questions Cloud

Find financial strategies that multinational company can use : Evaluate the different methods by which an importer can assure payment without having to prepay for goods.  Evaluate the financial strategies that a Multinational Company can use in a foreign country so as to avoid being perceived as a threat
What conditions can joint members suffer fatigue failure : Name at least three bolt, thread, or bolt and thread configurations which can improve the fatigue resistance of a bolt ? Under what conditions can joint members suffer fatigue failure?
What might that range be with imperfect tools and operators : What range of preload would you expect to encounter when that torque is applied to a production quantity of this joint; assuming perfect tools and operators? What might that range be with imperfect (i.e. normal) tools and operators?
Discuss about the dress code in an organization : Discuss about the dress code in an Organization.Private firms are free to impose dress codes and personal clothes requirements on employees as long as they don't discriminate. Many Companies have dress codes that require men to wear suits and women..
Produce a java desktop application : SOFT251: Object Oriented Programming - 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.
What do you believe is the greatest achievement : What do you believe is the greatest achievement that the health care industry has made from both the patient and provider perspectives? Why?Do you believe that there is too much or too little redundancy in our health care delivery system? Where d..
Write a paper about the what population you worked with : Write a paper about the what population you worked with.To introduce why u are interested in service in this community. To introduce how u service with those people and what have you learned from the activity. Briefly write down your personal reflect..
What succession planning process will you use : 1. What are the critical knowledge, skills, and abilities (KSAs) of that position?2. Will you select, train, or both for these KSAs?3. How will you ensure your selected successor does not leave the firm?4. What succession planning process will you us..
What are some strategies you can use to learn : As a manager, you may encounter people from many different countries, each of whom have different perspectives based on their own unique combination of characteristics. Think about a culture from outside of the United States that you may have enco..

Reviews

len1305569

12/8/2016 7:14:07 AM

• Demonstrate your ability to design a software solution that meets user requirements • Demonstrate your ability to code some basic Java classes according to specific requirements. • Demonstrate your ability to run tests to ensure that the classes you have coded meet the requirements and produce correct results. • Demonstrate your ability to design a simple graphical user interface and link it to data model classes.

len1305569

12/8/2016 7:13:57 AM

Your data models UML Class Diagram and NetBeans Java Class Library with JUnit tests project. Presentation to include: 1. UML Class diagram that you have used in your solution giving the rationale for the model. 2. Brief review of your JUnit tests giving the rationale behind the tests you have created. Completed solution including: 1. Your implementation of the data model as a Java Class Library. 2. A functional Java application OR Java web application that uses the data model library 3. Javadoc web site for your data model

Write a Review

JAVA Programming Questions & Answers

  Test a java application that will read file containing data

Design, Implement and test a Java application that will read a file containing data related to the passengers on the Titanic

  Create a frame and set its layout to flowlayout

Create a frame and set its layout to FlowLayout, create two panels and add them to the frame and Each panel contains three buttons. The panel uses FlowLayout.

  What access modifier do you use to restrict access

Given a method in a protected class, what access modifier do you use to restrict access to that method to only the other members of the same class?

  Working for hypothetical insurance company

Assume that you are working for hypothetical insurance company. This company offers insurance for 4 types of vehicles: cars, trucks, motor cycles and boats. In order to keep the program manageable, we will assume that we do not make a finer distin..

  Write the code and output result1 real cash register can

write the code and output result.1. real cash register can handle both bills and coins. design a single class that

  Create menu-based programs using guis

You will learn how to create menu-based programs using GUIs. Please respond to all of the following prompts with 1-2 paragraphs of original content: Discuss GUI components, explain how to handle key and mouse events, and state how they relate to GU..

  Implement a class called fulladdress and inherit it

I need assistance in commenting on the enclosed code, consider things like code layout, use of variable names, general readability and understandability.

  Create a java gui app implement inside a main method

Create a Java GUI app, implement the following criteria inside a main method 1) set up a visible frame with width 500, height 300; 2) frame title is "CSE205 Frame app"; and 3) setDefaultCloseOperation to EXIT_ON_CLOSE.

  We developed a stringlog adt it represents a log that holds

we developed a stringlog adt. it represents a log that holds objects of class string. suppose that instead of

  Write a program that displays a countdown first

Write a program that displays a countdown first, and then displays the position and velocity of an object for every second it drops, as long as it is above 500 feet

  Design a class that can be used to hold information

Implement and design a class that can be used to hold information about a musical note - Prepare a complete java program the default constructor should set a note to a middle C quarter note.

  Allows the user to enter students names followed

Write a program that allows the user to enter students names followed by their test scores and outputs the following information(assume that the maximum nmber of students in the class is 50

Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd