In this assignment, students begin to create UWP applications and explore UI design techniques & class relationships. Students use GIT and BitBucket and use best development practices such as iterative development, creating professional comments using XML comments and outline solutions using comments.
Visual Studio solution containing all the source files as a ZIP file that contains all files required to load the project into Visual Studio and the GIT repository (.git folder)
Part I (45%): User Interface Layer. The application is used by a dealership that deals in 0-10 year old vehicles. The dealers capture the parameters that impact price of the vehicles using the interface shown in Appendix 1. The captured parameters are then used to compute the depreciated cost using the following logic:
Depending upon how old the vehicle model is, there is a depreciation of 10% each year.
An additional depreciation of 2.5% is computed for each 10000 Km of run.
In case of an accident history, an additional insurance related depreciation %age is provided by the user.
Using Visual Studio, design a Universal App solution with following features:
Generate the layout as depicted in the Appendix 1
On pressing of “Submit Information” that page shall use the dealership object to submit the information of a vehicle and its depreciation parameters.
All the information fields are required, so make sure that all the values have been entered by user.
Clicking on “Show Report” should
Show the total value of all the vehicles on current date.
Show the details of the vehicles which have the highest depreciation percentage.
Show the details of the vehicles which have the lowest depreciation percentage.
Part II (50%): Business Logic. Implement the core functionality of the application in the business logic classes: Dealership, Vehicle and Depreciation. The business logic classes to be developed are (you are free to add additional classes / attributes ad required):
The “RecordVehicleInformation” method should create and initialize a vehicle object with the required attributes and save the same in the field vehicleList.
The “CalculateTotalValue” method should calculate and return the total depreciated value of all the vehicles on current date.
Define the field variables and properties for maintaining ID, Make, PurchasePrice.
Define the field variables and properties for maintaining Model, Mileage, InsuranceDepreciation.
Also, define const for maintaining % deprecation per year, % depreciation per 10,000 Km as described in Part I.
Define a read-only property “DepreciationValue” that calculates the depreciation of the vehicle on current date.
Version Control (5%).
Milestone 1. (1%) Project Creation. Create the initial C# project and add the project to version control using GIT and publish in to BitBucket.
Milestone 2. (2%) Creation of UI components. Commit all the changes done so far with the message “Presentation Tier Complete”
Milestone 3. (2%) Define the classes Dealership, Vehicle and Depreciation. Commit all the changes done so far with the message “Business Logic Layer Complete”
The professionalism of your submission, clarity of written communication is extremely important. The ability to communicate your knowledge is as important as the knowledge itself.
Up to 20% of the mark for any written work can be deducted due to poor presentation / communication: title page (5%), document organization (5%), layout (5%) and grammar and spelling (5%).
Up to 20% of the mark for a program can be deducted due to poor presentation / communication: quality of names according to our naming and coding conventions (10%) and comments (10%).
All assignment shall be submitted by the deadline. Late submissions will be penalized with 10% per day for up to 3 calendar days after which the assignment cannot be submitted anymore. An
email must be sent should you choose to submit a late assignment. Assignments are not accepted after the solutions have been posted.
Submission is done in electronic format using the SLATE DropBox. DO NOT email your submission.
Appendix 1: UI Design