124LLP109 Digital Application Development
124LLP109 – Digital Application Development
Coursework Report (100%) The coursework report for this module consists of two parts:
- Part 1. Software development (60%): develop a car rental system usingObject-Oriented Programming principles.
- Part 2. Report (40%): write a 2000-word report about yoursoftware development.This assessment asks you to apply the skills and tools you’ve learned throughoutthe module on a selection of different tasks. General guidelines are as follows:Deadline: 3:00 pm (UK time) on 22 November 2024 (Friday) in Week 8.
- Requirements: You must not share your code with anyone. You are welcometo discuss questions with other students, but don't share the answers. Applyinglogical thinking to solve problems algorithmically is the core aim of the module,and your solution must make sense to you. If someone asks you for theanswer, resist – just say no!
- Plagiarism: Your work must not be plagiarized. You are NOT allowed to useChatGPT or similar AI tools to generate any part of your code or your writtereport. Rather than being an easy solution, remember that it is likely that these toolswill not produce working code on their own and you will need to fix the output. It iseasier if you write code that you understand than to decode/debug ChatGPT.
- Advice: Develop your answers incrementally. To perform a complicated task,break it up into steps, perform each step on a different line, and check that eachintermediate result is what you expect.Remember your rubber duck – explain the code out loud or to someoneelse and you will find the missing pieces.
- Remember that we do assignments to test our knowledge and getfeedback; it is ok if things are not perfect. If something does not work,reflect on it through your comments and in your report. Do the best you can.
- It is better to receive a lower mark on your own work and use thisassignment to reflect on your knowledge than to copy or plagiarise, get agood mark, and inevitably show up to a job interview or your 代写124LLP109 Digital Application Development first day ofwork with no idea of your own skills. Be honest, value your own time, andset yourself up for the best possible long-term outcome of this course.2Part 1: Software Development (60%) This part is to build a car rental system using Object-Oriented Programming.Your rental shop has a stock of cars available for rent. These rules apply forrenting:
- When a car is not rented, it is available to the customer to rent.
- Once a car is rented, the car is assigned to the customer andremoved from the rental poolWhen the car is returned by the customer, it is assigned back into therental pool.ee types of cars are available: hatchback, sedan, and SUV. Prices ardependent on the length of rent as follows:Less than a week (< 7 days): Hatchback £30, sedan £50, SU£100 per day.A week or longer (≥ 7 days): Hatchback £25, sedan £40, SUV for£90 per day.When renting a car:
- Prompt the customer for 1) the type of car, and 2) the no. of daysthey would like to borrow the car.Check stock for availability. If available, display the followingmessage (or something similar) to the customer: “You have rented a { } car for { } days. You will be chargeper day, We hope that you enjoy our service." Update the stock accordingly.If unavailable, inform the customer that the car is out of stock.Upon returning a rented car:
- Update the stock accordingly,Issue a bill with more details including the type of vehicle rented,rental period, rate per day, and total cost.Step 1: Create your classes Your program should have at least two main classes as follows (you can use furthersubclasses asyoudeem appropriate):Customer(s) who can:
- Inquire about available stock and prices,
- Rent a car,
- Return a car they have previously rented.
- The Rental Shop(s) can:
- Issue a bill when the customer returns their car,
- Display available inventory and prices when a customer enquires,
- Process rent requests from customers after verifying stock availability.3
Since classes are used, various numbers of customers/shops can be instantiatedas needed.For simplicity, we assume that any one customer requests a rental of only
one type (hatchback, sedan, SUV) for a given number of days.
Step 2: Run your code Create the main script (main.py) to run the classes you implemented. Import yourclasses into your main script. When run, main.py should output a series of promptsto the console, which allows a customer to interact with your classes via thecommand line. Your implementation should include the following:Create instances of your classes. Initiate the car stock with, forinstance, 10 cars (4 hatchbacks, 3 sedans, 3 SUVs).Via the command line, a customer should be able to perform differenttransactions to rent and return (according to the rules on the previous page):(1) Rent a specific car for a given number of days.(2) View a display of the stock to see available vehicles.(3) Return a previously rented car and receive a bill for the rental.(4) Exit the rental platform.Step 3: Extend your program Create a VIP class for customers with a loyalty card. VIP customers have a specialrate of:
VIP daily rate: Hatchback £20, sedan £35, SUV £80 per day.Hint: VIP class will inherit from the general Customer class!! You must comment your code throughout !! Demonstrate your understanding of your code using in-line comments. They do notneed to be full/complete sentencesbut should outline functions, class definitions,and input/output arguments.4 2: Report (40%) Each report should contain the following five sections for your software development.The overall report should include approximately 2000 words (10% more or lss).There no word limit for each section in the report; you should address each of therequired points as clearly and concisely as possible. The word limit does not includeany addition of a front page, list of contents, references, appendix, andsections/blocks from the software code itself, which can be any length.
- IntroductionYou should (1) give a clear overview of what your programs are intended to doYour introduction should also clearly explain (2) where the program might beused in an industrial application and (3) how it relates to the field of digitaltechnologies in generalProgram structure(1) Explain in general how your program is structured. You can use a block diagram ifyou wish or any appropriate method to show how the program you are submitting isconstructed. It should be possible to fully understand how the program works at a basiclevel without necessarily reading your codes in detail: you should (2) explain howyourclasses are organised, (3) how they work together (e.g., pass arguments), and (4) howa customer interacts procedurally via the command line.
- Application development(1) Define technical concepts that have been used generally (e.g., their basic functionand why they would be used) and (2) detail how they are used in your programspecifically. Choose three from: list, tuple, dictionary, control flows (while loops, if/elsestatements, conditional statements), functions, and classes.
Program functionality Prove in this section that your codes do work by (1) showing the result of inputting tesdata and (2) showing the output in screenshots for each of the above four actions withspecified requirements (you must demonstrate all requirements). Although you shouldimplement a working code, you should (3) note any parts that do not work, yourintended function and your attempt to implement it, and reflect on why the code doesnot work as intended.
Conclusion and further work (in the end of the report) (1) Discuss critically the software you developed (e.g., what you have achieved, whatare the current limitations, are there any parts that do not fully work and need furtherdevelopment?). Think about the real-world context and what else might be needed tomake your implementation usable by an actual company or customer.!! You do not need to include references in your report !!; however, if you do include they will not be included in the word count, and they must breferenced correctly in-text and in bibliography using Harvard style. Incorrect referencing will receive mark deductions.5
Submitting your coursework To submit your work on Learn, you will need to include:
1) your report in PDF version;2) your Python codes in .py files for software development. You must put your Python
code files into one zipped folder and submit it.Please make sure that your PDF and Python codes are clear to read and run afteryour zip file!Your code should be able to be run from ONLY the resources included in this
folder. Your code should not require the use of external libraries or resources that must be downloaded.
!! REMEMBER: You must NOT include your name in your submission title or file, in line with anonymous marking !! You can instead use your ID number and name your files as follows:<your_id_number>.pdf --- Report<your_id_number>.zip --- Code, including all Python files needed to run the program
Grading Your grade will be assessed on the overall quality of each part.The overall quality of Part 1 (software development, 60%) will be assessed on bothand style.Correctness: How well the program works according to specifications.
Style: The quality of the code and documentation (including in-line comments)Part 1 (Software Development, 60%) should be well-written and well-commented. Youare encouraged to format your code in accordance with Python style guidelines. It shouldbe clear enough for another programmer to understand it. For example, every functionwritten is commented in text, in your own words, which should describe its behaviour,parameters, and returns, and highlight any special cases.The overall quality of Part 2 (Report, 40%) will be assessed on the overall report and howwell the five sections are answered according to specifications.
浙公网安备 33010602011771号