CIS116-2 Desktop Applications And Software Engineering Assignment – UK.

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%
CIS116-2 Desktop Applications And Software Engineering Assignment – UK.

CIS116-2 Desktop Applications And Software Engineering Assignment

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. The company 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 contains 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:

Task Description:
Task 1: To create a GUI which contains
1.Two request buttons corresponding to the two floors, respectively
2.One control panel with two buttons and a display window
3.Two display areas that display the status of the elevator, i.e. which floor the elevator currently stays, one is of each floor
4. A log button, which trigger the historical information of the elevator operation to be displayed

CIS116-2 Desktop Applications And Software Engineering Assignment – UK.

CIS116-2 Desktop Applications And Software Engineering Assignment

Task 2: To create a control program that processes the events published by the GUI.
1.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
2.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.
1.The corresponding status of the elevator and the time information is stored in a database (it can be MS Access or other equivalent databases)
2.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

Task 5: To optimise the programs developed in Tasks 1 to 4.
a. 5.1 Optimise the portability by using relative path instead of absolute path
b. 5.2 Optimise the maintainability by avoiding any duplication among the event handlers over the database related functions
c. 5.3 Optimise the robustness by eliminating logical errors and handling exception
d. 5.4 Optimise the efficiency of GUI by implementing multiple tasks concurrently via Background Worker
e. 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

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 Name your submission – Your submission should be named with the following format: student ID Assignment One.zip
Where to submit – Under the assignment 1 folder in the Assessment menu of this Unit’s BREO site, called “Assignment One C#”

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).

What do I need to do to pass? (Threshold Expectations from UIF)

CIS116-2 Desktop Applications And Software Engineering Assignment – UK.

CIS116-2 Desktop Applications And Software Engineering Assignment

Design and produce a demonstrable arte fact 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.