CET211 Intermediate Software Development
C# Assignment Help, C# Homework Help, C# Programming Help
The PPW is designed to reflect on and assess all learning outcomes for CET211. Over the duration of the assessment timeline you will be given a series of programming and related modelling tasks. Details of each will be released daily. We anticipate this assessment will constitute a maximum of 18 hours of work. You must submit all sprints as a single zip folder on canvas, by the time and day indicated in the schedule.
Scenario
Sunderland Despatch Agency (SDA) is a company which offers parcel collection and delivery services to local businesses in the North East region. SDA have experienced significant growth and have been reviewing and modelling the operation of their despatch depot to identify where they can make improvements.
Currently, parcels arriving for delivery are stored in a text file. As new parcels arrive at the sorting office, this file is updated manually. SDA have identified this as a point of inefficiency, and have requested a single-user, stand-alone system which will act as a proof of concept and enable the despatch coordinator to manage deliveries more effectively.
System development started in October 2018, but the original developer accepted a new position in Newcastle and was therefore unable to finish her work. Before starting her new post, a code hand over was carried out but related UML documentation and design rationale documents were not completed. The system has only been partially developed. Everything that was handed over has been shared with you, in a folder called handover.zip. The system is being implemented within an agile framework, and the remaining documentation and development tasks have been structured into two Sprints. It is your responsibility to complete these Sprints and submit all listed deliverables.
In addition to the code handover, you have been provided with information about the type of data stored in the system. The data fields recorded for each Parcel are listed in the table below:
Name |
Description |
Example |
Id |
Unique tracking number.. |
8990000 |
Arrival Date |
Date that the parcel arrived at the sorting office. |
10/02/16 |
Delivery Date |
Date that the parcel must be delivered. |
12/02/16 |
Recipient |
The person to whom the parcel will be delivered. |
Mr Peter Jones |
Delivery Address |
Location the parcel must be delivered to. |
9 St. Peter’s Close |
Postcode |
Postcode of the Delivery Address. |
SR6 0DD |
Weight |
The weight of the parcel in kilograms. |
0.6 |
Poster Tubes are a special type of Parcel which have the following additional data fields:
Circumference |
The circumference of the tube in centimetres |
12.5 |
Height |
The height of the tube in cm |
45 |
Sprint 1 – Released Monday at 9 am (20 marks)
Having looked at the existing code (DespatchManager.sln) your opinion is that it could be better structured by applying the principles of OOP and inheritance. You explained this to the management team and have stressed the importance of using OOP to enable simple code maintenance and future extension of system functionality.
The SDA management team have considered your recommendations and have tasked you with designing, documenting, and implementing a class hierarchy, to better represent parcels and poster tubes in the system.
Your deliverables for Sprint 1 are:
Deliverable 1.1 – Proposed UML Model.
Use your knowledge of generalization and specialisation to create a UML Class Diagram which restructures the Parcel and PosterTube classes in DespatchManager.sln into an inheritance hierarchy. Your UML model should not suppress any relevant detail. Class attributes, visibility, constructors, operations, and relationships should all be shown.
Deliverable 1.2 – UML Design Rationale.
Explain in detail (guideline 400 words) how your UML model uses object-oriented approaches. This should include:
A definition of inheritance, and explanation of where your UML diagram demonstrates this relationship.
A definition of polymorphism, and explanation of where your UML diagram demonstrates the ability to write polymorphic code.
An evaluation of the advantages of object-oriented software design, including
o The use of Classes
o Inheritance (generalisation and specialisation)
o Polymorphism
Deliverable 1.3 – C# Prototype System.
Implement the code in your UML model, including the overridden ToString() methods. This purpose of the ToString() method is to provide a summary of all objects which need to be delivered.
As a proof of concept, write a small console based application which demonstrates how the system can make polymorphic ToString() method calls. Specifically, you should make a Collection of multiple Parcels, including tubes, and output the result of calling ToString() to the console . This C# application should be submitted as a single zipped Visual C# solution (version 2017).
To ensure adequate time resource for Sprint 2 tasks, the recommended submission date for Sprint 1 is Monday at 5 pm. Should you have any issues with meeting the Monday deadline, please ask one of your tutors.
Submission details
Hand drawn UML diagrams are acceptable but must be neat and clearly legible and then scanned for online submission. You may use a UML drawing tool e.g. Software Ideas Modeller for this task but if you do so then the UML notation used must be consistent with that covered in the module and you should export the diagram to an image file which can be embedded within the report document.
Programming deliverables should be submitted as Visual C# solutions (version 2017), containing your application.
All work should be clearly named according to the task, and zipped and uploaded to Canvas by the specified hand-in date, using the assignment icon provided in the assessment area.