Submission Deadline Marks and Feedback
Submission Deadline Marks and Feedback
AIM
This assignment aims to develop students’ capabilities and skills of solving real-world problems with C# programming language.
A company intends to build a two-floor office building and equip it with an elevator.
Thecompany wants you to develop an object-oriented software control application so
the elevator can work smoothly.
The elevator consists of an elevator car whin which there is a control panel having
buttons and display-window, an elevator shift and request -button panels, one on each
floor.
The elevator cantains a door that opens upon the elevator's arrival at a floor and
closes upon the elevators departure from that floor. The door is closed during the trips
between floors to prevent the passengers from being injured by brushing against the
wall of the elevator shaft. The shaft connects to a "floor door" on each floor so people
cannot fall down the shift when the elevator is not at a floor.
When request-button on a floor is pressed, a built-in light of the button will be on, The
elevator will move towards the floor. The elevator door and floor door will open at the
same time. When a "floor button" of the control panel is pressed, a built-in light will be
on that causes the doors close at the same time. The elevator will then move to the
destination.
When the elevator reaches the destinating floor, it stops and open the doors. After a
while, it closes the doors.
2
TASK DESCRIPTION:
Task 2: To create a control program that processes the events published by the GUI. (10 marks) That is,
When any request button is pressed,
o the elevator appears in the corresponding floor
o then the display areas and the display window on the control panel show the corresponding floor number at the same
time
When the floor number buttons on the control panel are pressed,
o the elevator appears to the corresponding floor
o then the display areas and the display window on the control panel show the corresponding floor number at the same
time
Task 3: To create a log which record all operations. (20 marks) That is,
The corresponding status of the elevator and the time information is stored in a database (it can be MS Access or other
equivalent databases)
To display the information which has been stored in the database on the GUI
Task 4: To animate the events described in Task 2 using delegation and timer (10 marks)
Task 5: To optimise the programs developed in Tasks 1 to 4. (30 marks) That is,
5.1 Optimise the portability by using relative path instead of absolute path
5.2 Optimise the maintainability by avoiding any duplication among the event handlers over the database related functions
5.3 Optimise the robustness by eliminating logical errors and handling exception
5.4 Optimise the efficiency of GUI by implementing multiple tasks concurrently via BackgroundWorker
5.5 The elevator might have more than two floors, apply the “state design pattern” in the program to accommodate future
changes of the requirement. The state is expected to be dispatched dynamically rather than determined by if/switch
Task 6: To prepare a test report, the “Marking Matrix with Self-Assessment” table (which is listed at the end of document) should be
included in the report (10 marks)
SUBMISSION:
The entire C# project including all folders and files, the database and the test report
3
What do I need to do to pass? (Threshold Expectations from UIF)
Design and produce a demonstrable artefact using C# within the .NET using the object-oriented paradigm. Check the marking matrix at the
end of the brief for more details.
Your assignment be marked according to the threshold expectations and the criteria on the following page.
You can use them to evaluate your own work and estimate your grade before you submit.
4
When the log button is pressed, log 5
information is sent to and stored in the
DB
Use the disconnected model rather than 5
connected model (Data source is
updated via DataAdapters Update()
method instead of ExecuteNonQuery()
method)
Task 4 Events described in Task 2 animated 10
using delegation and timer
Task 5 Using relative path instead of absolute 5
path
Avoiding any duplication among the 5
event handlers over the database
related functions
Eliminating logical errors and handling 5
exceptions with try and catch
Optimise the efficiency of GUI by 5
implementing multiple tasks
concurrently via BackgroundWorker
Use state patterns instead of if-else 10
statements to accommodate future
changes of the requirement
Task 6 Test report 10
Total 100