Java代写 | CSSE2002/7023 — Semester 2, 2020 Assignment 2

本次Java代写是完成一个建筑管理系统的作业

 

Introduction
In this assignment you will finish building a simple simulation of a building management system
(BMS). A building management system monitors the structures of buildings, including their internal floors and rooms. A BMS uses different types of sensors to gather contextual information
about the building.
In the first assignment you implemented the core model for the BMS. In the second assignment
you will implement some of the more advanced logic to provide a very simple simulation for the
BMS.
In addition to the ability to determine hazard levels in a room from sensors that were implemented in assignment one, you will add functionality to determine comfort level in a room from
the sensors. You will need to integrate this new feature into the system. This is an example of a
common situation when building a large system. New features need to be added to the system. A
well designed system that uses interfaces to define an API means it should be simple to add the
new feature.
Requirements:
You need to implement loading multiple buildings from a data file. The JavaDoc for the loadBuildings
method in the BuildingInitialiser class describes the format of a building data file. Saving
buildings is done by the save method in the ViewModel class. A building data file is structured
using a hierachy as follows:
• First Building information
– First floor in building information
∗ First Room on floor information
· First sensor in room information
· Second sensor in room information
– Second floor in building information
∗ First Room on floor information
· First sensor in room information
∗ Second Room on floor information
· First sensor in room information
• Second Building information
– First floor in building information
∗ First Room on floor information
· First sensor in room information
· Second sensor in room information
• etc.

Tasks
1. Implement the classes and methods described in the Javadoc as being requried for assignment
two.
2. Implement the indicated features of the user interface.
3. Write JUnit 4 tests for all the methods in the following classes:
• BuildingInitialiser (in a class called BuildingInitialiserTest)
• MaintenanceSchedule (in a class called MaintenanceScheduleTest)
Marking
The 100 marks available for the assignment will be divided as follows:
Symbol Marks Marked Description
F 45 Electronically Functionality according to the specification
R 35 Course staff Code review (Style and Design)
J 20 Electronically Whether JUnit tests identify and distinguish between correct and
incorrect implementations
The overall assignment mark will be A2 = F + R + J with the following adjustments:
1. If F < 5, then R = 0 and code style will not be marked.
2. If R > F, then R = F.
For example: F = 22, R = 25, J = 17 ⇒ A2 = 22 + 22 + 17.
The reasoning here is to place emphasis on functional code and to not to give marks to well styled
code and well implemented JUnit tests when the code is not functional.
Functionality Marking
The number of functionality marks given will be
F =
Functionality tests passed
Total number of functionality tests · 45
Each of your classes will be tested independently of the rest of your submission. Other required
classes for the tests will be copied from a working version of the assignment.
Code Review
Your assignment will be reviewed and style marked with respect to the course style guide, located
under Learning Resources > Guides. The marks are broadly divided as follows:
Naming 5
Commenting 7
Structure and Layout 7
Code Design 8
Object-Oriented Practices 8
For Code Design we are looking for well thought out code that is easily followed and is maintainable. For Object-Oriented Practices we are looking for the course content to be applied to solve
certain challenges present in the assignment.