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. |
Page Break
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 simple version of the elevator is illustrated below:
TASK DESCRIPTION:
Task 1: To create a GUI which contains (20 marks)
Task 2: To create a control program that processes the events published by the GUI. (10 marks) That is,
Task 3: To create a log that records all operations. (20 marks) That is,
Task 4: To animate the events described in Task 2 using delegation and timer (10 marks)
Task 5: To optimize the programs developed in Tasks 1 to 4. (30 marks) That is,
Task 6: To prepare a test report, the “Marking Matrix with Self-Assessment” table (which is listed at the end of the 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 Name your submission – Your submission should be named with the following format: studentIDAssignmentOne.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 part of the word count).
|
What do I need to do to pass? (Threshold Expectations from UIF) |
Design and produce a demonstrable artifact 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 the 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 is 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 it.
|
| Lower 2nd – 50-59% | Upper 2nd – 60-69% | 1st Class – 70%+ |
Marking Matrix with Self-Assessment
Task Number | Sub-tasks | Possible Marks | Self-assessment (completed Yes/No) | Reference to your testing report | Mark Awarded |
Task 1 | Complete GUI for Task 1 | 10 |
|
|
|
Skeleton of event handlers in place for all buttons | 10 |
|
|
| |
Task 2 | All event handlers are functional | 10 |
|
|
|
Task 3 | Database (DB) is designed and can be connected | 5 |
|
|
|
Log Information can be retrieved from DB and displayed in the GUI | 5 |
|
|
| |
When the log button is pressed, log information is sent to and stored in the DB | 5 |
|
|
| |
Use the disconnected model rather than connected model (Data source is updated via DataAdapters Update() method instead of ExecuteNonQuery() method) | 5 |
|
|
| |
Task 4 | Events described in Task 2 animated using delegation and timer | 10 |
|
|
|
Task 5 | Using the relative path instead of an absolute path | 5 |
|
|
|
Avoiding any duplication among the event handlers over the database related functions | 5 |
|
|
| |
Eliminating logical errors and handling exceptions with try and catch | 5 |
|
|
| |
Optimize the efficiency of GUI by implementing multiple tasks concurrently via BackgroundWorker | 5 |
|
|
| |
Use state patterns instead of if-else statements to accommodate future changes of the requirement | 10 |
|
|
| |
Task 6 | Test report | 10 |
|
|
|
Total |
| 100 |
|
|
|
0 comments:
Post a Comment