| Learning outcomes:
1. Demonstrate detailed understanding of established industrial standards by writing software requirements specifications for object-oriented, data-driven and interactive applications. 2. Design object-oriented, data-driven and interactive applications by using UML. 3. Develop and test object-oriented, data-driven and interactive applications by applying object-oriented principles, such as encapsulation, abstraction, inheritance and polymorphism. 4. Apply advanced object-oriented techniques to develop advanced software solutions, which solve real-world problems. |
|
| Plagiarism is presenting somebody else’s work as one’s own. It includes copying information directly from online resources or books without referencing the material, submitting joint coursework as an individual effort; copying another student’s coursework, purchasing coursework from someone else and submitting it as own work. Suspected plagiarism will be investigated and if found to have occurred will be dealt with according to the procedures set by the University. All material copied or amended from any source must be referenced correctly according to specific reference style. Courseworks will be submitted for electronic plagiarism checks. |
Coursework Submission Requirements:
– An electronic copy of the coursework should be uploaded by midnight on the deadline date
– Submit both Part 1 and Part 2 as a single PDF file
– Submit Part 3 as a single C# source code file (.cs)
– The last uploaded version will be the one that is marked
– The limit of the file size is 100 MB
– The submitted documents should be virus-free, not protected by a password or corrupted
– The coursework grade and feedback will be available on Moodle
– The coursework cannot be submitted via email
– A paper copy cannot be submitted for this coursework
Use of AI
In case AI-generated content is included in the coursework, it needs to be enclosed in quotation marks and properly referenced. This applies to both text and source code. Otherwise, if detected, it may be considered plagiarism.
The University website has details of the current Coursework Regulations, including details of penalties for late submission, procedures for Extenuating Circumstances, and penalties for Assessment Offences. See https://www.gre.ac.uk/student-services/regulations-and-policies for details.
Coursework Specification:
An education centre is moving from paper-based book-keeping to a desktop information system. The desktop information system is expected to process information about the following groups of users:
- Teaching Staff
- Administration
- Students
The system is expected to process the following data about each user from all groups:
- Name
- Telephone
- Role (teacher/admin/student)
The system is expected to process the following group specific data:
Teaching Staff:
- Salary
- Names of 2 subjects
Administration:
- Salary
- Full-time/part-time
- Working hours
Students:
- Names of three subjects
The system is expected to provide the following functionality:
- Add new data
- View all existing data
- View existing data by user group
- Edit existing data
- Delete existing data
Task 1
Based on the provided outline, provide a description of the Desktop Information System, which the education centre is planning to use. This description expresses the user’s point of view about the functionality of the system, the data it is expected to process and the required platforms, including operating system (Microsoft Windows) and hardware. Maximum word count for the system description is 300 words.
Based on the provided description, write a software requirements specification of maximum 500 words for the Desktop Information System. The software requirements specification is expected to have the following content:
- Introduction
– Purpose
– Project scope
- Overall Description
– Product
– Users
– Operational Environment
- System Features
– Description
– Functional Requirements
- User Interface Requirements
- Platform Requirements
- Quality Attributes
– Performance
– Security
– Safety
Maximum word count for the software requirements specification is 400 words.
For more information about writing software requirements specification, refer to:
Wiegers, Beatty, “Software Requirements”, Third Edition, Microsoft:
Chapter 10 Documenting the Requirements, page 181
Chapter 11 Writing Excellent Requirements, page 203
Task 2
Provide the following UML diagrams, which represent the design of the Desktop Information System:
– Class Diagram
– Use Case Diagram
For more information about UML, refer to Patrick Grassle “UML 2.0 in Action”.
Task 3
Develop the Desktop Information System, as a C# Console Application with data stored in appropriate data structures.
Implement a base class named “Person”. By utilising the principles of encapsulation, inheritance and polymorphism, implement the classes “Teacher”, “Admin” and “Student” as derived classes from the base class “Person”. The derived classes are expected to handle the data and the functionality for the respective groups of users.
Store the objects into appropriate data structures. The data structures are expected to be able to store unknown number of objects.
The Desktop Information System is expected to provide a text-based menu, which provides access to each of the aforementioned functionalities of adding, viewing, viewing by role, editing and deleting records.
Add comments describing the functionality of the project. The comments are expected to be approximately 30% of the source code.
Organised the project into a single C# source code file (*.cs), which needs to be submitted on Moodle.
Grading criteria
70-100% All requirements completed to an excellent standard.
60-69% All requirements completed. However, there are a number of minor deficiencies in significant areas.
50-59% All requirements completed. However, significant improvements could be made in many areas.
40-49% All requirements completed. However, significant improvements could be made in all areas.
30-39% All requirements attempted but the overall level of understanding and performance is poor.
0-29% There are requirements missing or completed to a very inadequate standard, which indicates a very poor or non-existent level of understanding.
Grading Components
| Task | Achieved well | Partly achieved | Poorly achieved or not achieved |
| Task 1 (20%) | |||
| Description of the Desktop Information System is provided | 5-4 | 3-2 | 1-0 |
| Content of Software Requirements Specification is provided as described | 5-4 | 3-2 | 1-0 |
| Every item in the Software Requirements Specification is successfully addressed | 5-4 | 3-2 | 1-0 |
| Accurate academic language is utilised | 5-4 | 3-2 | 1-0 |
| Task 2 (10%) | |||
| UML Class Diagram describing the structure of the classes of the program is included | 5-4 | 3-2 | 1-0 |
| UML Use Case Diagram describing the expected behaviour of the program is included | 5-4 | 3-2 | 1-0 |
| Task 3 (70%) | |||
| Object-Oriented Features | |||
| Classes and objects are accurately utilised | 10-8 | 7-3 | 2-0 |
| Encapsulation, inheritance and polymorphism are accurately implemented | 10-8 | 7-3 | 2-0 |
| An appropriate data structure containing all objects is successfully implemented | 10-8 | 7-3 | 2-0 |
| Functionality of the Application | |||
| Main Menu | 5-4 | 3-2 | 1-0 |
| Adding new record | 5-4 | 3-2 | 1-0 |
| Listing all records | 5-4 | 3-2 | 1-0 |
| Listing all records by role | 5-4 | 3-2 | 1-0 |
| Editing existing records | 10-8 | 7-3 | 2-0 |
| Deleting existing records | 5-4 | 3-2 | 1-0 |
| Comments accurately describing the functionality of the program | 5-4 | 3-2 | 1-0 |


