0% found this document useful (0 votes)
117 views5 pages

Submission Deadline Marks and Feedback

This document provides details for Assignment 1 on developing a C# project to control an elevator. It outlines 6 tasks to complete, including: 1) Creating a GUI interface; 2) Developing event handlers; 3) Creating a log database; 4) Animating events; 5) Optimizing the code; and 6) Writing a test report. It also includes a marking matrix that students can use for self-assessment. The submission requirements are the full C# project code and a testing report under 3,000 words.

Uploaded by

RanaBarzamArshad
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
117 views5 pages

Submission Deadline Marks and Feedback

This document provides details for Assignment 1 on developing a C# project to control an elevator. It outlines 6 tasks to complete, including: 1) Creating a GUI interface; 2) Developing event handlers; 3) Creating a log database; 4) Animating events; 5) Optimizing the code; and 6) Writing a test report. It also includes a marking matrix that students can use for self-assessment. The submission requirements are the full C# project code and a testing report under 3,000 words.

Uploaded by

RanaBarzamArshad
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 5

Submission Deadline Marks and Feedback

Before 10am on: 20 working days after deadline (L4, 5 and 7)


15 working days after deadline (L6)
3/11/2019 10 working days after deadline (block delivery)

Unit title & code Desktop Applications and Software Engineering


Assignment number and title Assignment 1: Control an Elevator - A C# Project
Assessment type WR-I (Individual Coursework)
Weighting of assessment 30%
Unit learning outcomes 1. Demonstrate the following knowledge and understanding
• Systematically categorize the concepts, principles and techniques for object-oriented programming
and software engineering process.
2. Demonstrate the following skills and abilities
• Analyse a complex problem and apply a programming language to design, develop and critically
evaluate a software solution to the given problem; and analyse and apply a range of concepts,
principles and techniques to the software development process.
What am I required to do in this assignment?

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.

A simple version of the elevator is illustrated below:

2
TASK DESCRIPTION:

Task 1: To create a GUI which contains (20 marks)


 Two request buttons corresponding to the two floors, respectively
 One control panel with two buttons and a display window
 Two display areas that display the status of the elevator, i.e. which floor the elevator currently stays, one is of each floor
 A log button, which trigger the historical information of the elevator operation to be displayed

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:

What to submit – Testing Report and The Entire C# Project Code

The entire C# project including all folders and files, the database and the test report

Is there a size limit?


There is no limit on the size of the source code.
The testing report should not exceed 3000 words (source code in the report is not counted as the part of the work count).

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.

How do I produce high quality work that merits a good grade?

Detailed in the marking matrix at the end of the brief.

How does assignment relate to what we are doing in scheduled sessions?

Implementation of the knowledge and skills delivered from Week 1 to Week 6.

How will my assignment be marked?

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.

Lower 2nd – 50-59% Upper 2nd – 60-69% 1st Class – 70%+


Marking Matrix with Self-Assessment
Task Sub-tasks Possible Self-assessment Reference to Mark
Number Marks (completed your testing Awarded
Yes/No) report
Task 1 Complete GUI for Task 1 10
Skeleton of event handlers in place for 10
all buttons
Task 2 All event handlers are functional 10
Task 3 Database (DB) is designed and can be 5
connected
Log Information can be retrieved from 5
DB and displayed in the GUI

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

You might also like