COSC2674程序 写作、 辅导Canvas留学生程序

” COSC2674程序 写作、 辅导Canvas留学生程序Page 1 of 8COSC2674/2755 Semester 1, 2020Assignment 2 SpecificationMarks allocated: This assignment will be marked out of 100 and is worth 35% of your overallmarkDeadline: Sunday 17.05.2020 (11:59 pm AEST)Submit via: CanvasWork mode: In a group of 4 (individual submissions discouraged)Submission format: .zip (No other formats will be accepted)Online demo: Week 11 Monday – Friday (No Demo No marks)0 READ THIS FIRSTThe real-life projects that you will face in Industry never come with crystal clear, direct list ofinstructions in a linear manner. In fact, the reality is far from that, the project requirements oftencome in bits and pieces from often a confused client who thinks that they know everything.It is the job of requirement engineers to elicit the requirements. Business Analysts then spend goodamount of time clarifying these requirements and creating more sensible, doable and negotiable listof deliverables.When you read the specifications for this assignment, you will realise that some of the ones mayhave multiple ways of implementing them (just like in real life software development). So instead ofblaming it on the specifications, clarify the requirement(s) by posting in discussion board forassignment 2.Do not start this assignment late, you have four weeks to complete it which is more thanenough time to do well and make sure that you use this time judiciously. Starting work at thelast minute will only lead to poor outcome(s).There are certain specifications which will push you out of the comfort zone. This has beendone on purpose. There are certain parts of the assignment where you will need to do selfresearchas you will not find answers in lectures, tute/labs.If you do a good job of this assignment, you can choose to add it as a part of portfolio forfuture employers. You are being prepared for potential employability prospects.School of Science / CS ITCOSC2674作业 写作、 辅导Canvas留学生作业1 ScenarioYour team has been contacted by a car share company to develop an automatic Car ShareSystem. This system is used to book, find and unlock and lock a car. In addition, the customercan report some issues with the car to help the company to maintain the cars. You will create anapplication for four types of users: customer, company manager, engineers and systemadministrator.In this assignment,For this assignment, you will be making extensive use of the Google Calendar API( httpss://developers.google.com/calendar/v3/reference/) to work with your Raspberry Pi.You will also be using Google Cloud IoT Platform ( httpss://cloud.google.com/solutions/iot/).In summary, the implementation of this assignment involves the following components: Python documentation tools such as Sphinx Practice third party API Unit testing in Python Socket Programming Writing your own API using Pythons microframework Flask AI features such as facial recognition Programming with Cloud databases Selected Software Engineering Project Management/Tools2 ImportantYou must adhere to the following requirements:a. Raspberry Pi model 4 or 3 should be used.b. You must use Python 3.* to complete the tasks. Older versions must not be used.c. You must use a version control system of some sorts such as GitHub, Bitbucket, etc. Aprivate repository is to be used ONLY.d. You must stick to the standard style guide for your Python code:( httpss://www.python.org/dev/peps/pep-0008/)e. You must attend a 30 minutes demo session to get the assignment 2 marked. A scheduleand a booking document will be published later. You must submit the assignment prior todemo. No submission No demo No marks.School of Science / CS ITPage 3 of 83 Detail(s) of CSS3.1 High level architecture diagramNOTE: The following architecture diagram will be used for both Assignments 2 and 3.School of Science / CS ITPage 4 of 83.1 CSS featuresNOTE: You need to design the database by dividing the information into tables and turning informationitems into columns. Future, you also need populate some data into the tables in order to illustrate the systemduring the demo session.For customers: The customers can register, logging in, search and book a car on the web-basedsystem in MASTER PI (MP).The user registration on MP is required for the first-time user. In the home page of the web-basedapplication provides only two options:- registration- log inUpon registration the details are stored in cloud database. You may use MySQL database.Upon logging in, the user is now presented with another page including following functions:- show a list of cars available, you need to show the detailed information of cars in the listsuch as Make, Body Type, Colour, Seats, Location, Cost per hour.- search for a car based on body type or other features.- book a car based on car identity, the user will be asked to input booking details.- cancel a booking- logoutWhen the customer arrives at the car booked, the Agent PI (AP) provides two options available forunlocking the car:- using console-based system which allows them to type in the user credentials or,- using a facial recognition systemUpon logging in, the users credential will be sent from AP to MP via sockets. At the sametime, MP will check the credential and send the response message back to AP. The AP willexecute the operation according to the message from MP. Once the operation (unlock the car)is successfully executed, the AP need to send a message to nearby the device via Bluetooth,simulating notification in your smart phone.When the customer leaves the booked car, they can lock the car by choose one option:- return the carOnce the lock car operation is executed, the AP need to send a message to nearby the devicevia Bluetooth.When the customer enters and leaves the booked car, the Agent PI (AP) will send message to MP inorder to change the availability of the car.YOU ARE NOT ALLOWED TO USE ANY OTHER PLATFORM WITHOUT PRIORPERMISSION.School of Science / CS ITPage 5 of 84 TasksPart A (50 marks)You will now implement either a web-based system or console menu-based system on MP and aconsole menu-based system on AP.NOTE: For Tasks 1, 2, and 6, you have a choice of console menu-based system or web-based system. Theweb-based system can be difficult and time consuming while a console menu-based system will be easierand less time consuming. If you choose the console menu-based system, you will get up to 80% of the fullmark for each task.1) (5 marks) An option to Rregister a new user on MP. The username, password and othernecessary details (first name, last name and email) must be stored on cloud database. Thepassword must be stored in an encrypted (you may hash and salt) format.2) (2 marks) An option to login into the system and gain access to the application on MP.3) (5 marks) Develop and implement a robust input validation scheme.4) (3 marks) Design database based on the requirements.Make sure that the database is normalized – this means if you only have one table, you willlose marks. The car database is stored on a cloud environment namely the Googles GCPIoT platform (Google Cloud Platform).5) (5 marks) Create your own RESTful API to talk to the cloud database.6) (15 marks) Once MP receives the login information, the system should display a menuwhich will allow the user to access the booking system:- view the history of my booked cars- show all the available cars- search a car- book a car- cancel a booking- logoutYOU WILL RECEIVE ZERO for storing data in a local database.All the car related information is stored in a Cloud-based database hosted on Google CloudIoT Platform (GCP). It is your responsibilities to make sure that you do not exceed the freetier limit on the GCP.View history:Be able to show a list of cars that current user has booked.Search a car:Be able to search by any Of the cars properties and display fields neatly (e.g.,columns aligned) in the console.Book a car:School of Science / CS ITPage 6 of 8The uses need to select which car they want to book and input the duration they wantto use. A car that is booked cannot be booked again until returned. Note whenbooked an event should be added to Google Calendar, detailing the car, who bookthe car and the booked duration. Google calendar will be tied to the Google login ofthe user.Cancel a booking:The event added to Google Calendar will be removed, and the related information inthe database need to be modified7) (5 marks) Complete documentation using Sphinx8) (10 marks) Professional use of GitHub from day 1 of the development Trello board for the development cyclePart B (20 marks)1) (3 marks) Implement Console-based system on AP, providing the functionality for user tounlock and return the car.2) (5 marks) Sending users credential from AP to MP via sockets. The message needs toinclude some important information, such as current date and time, username/password, carID.3) (2 marks) MP needs to check the credential from AP and also send back the responsemessage via sockets. If the credential is correct, MP need to modify related informationabout the car in cloud database.4) (5 marks) Being able to show all the cars location by using Google Map API.5) (5 marks) Complete Documentation using Sphinx, Trello board and Git Hub for this partPart C (15 marks)1) (12 marks) Implement the facial recognition requirement of the system using OpenCV.This applies to the customers who want to use facial recognition authentication instead ofconsole-based authentication to unlock the car.Note: If all of your team members do not have a USB camera, below a solution for you.You can use the camera on your smart phone to capture the face photo and send the photosto the AP. Since the photo is saved in the AP already, you need to add a menu option thatuses local photo to complete authentication in you console menu-based system. However,you need to demonstrate that the facial recognition system does work during the demosession.2) (3 marks) Complete documentation using Sphinx, Trello board and Git Hub for this part.School of Science / CS ITPage 7 of 8Part D (15 marks): Unit Test1) (15 marks) Complete unit test suite for the whole project (i.e., A, B, C and D parts). Thisis where you can decide what kind of unit tests are required.5 Demoa. In prior to your demo, create 10-20 Cars on your own (e.g., 2 Admins, 4 Engineers, 6Users).b. Login to GitHub using your account and show the use of GitHub during the demo.c. Each team member is expected to answer any question related to any task in this assignment.Your marker may deduce the mark if you fail to answer a question in a task.6 Who does whatPlease include the evidence of who does what in this assignment, i.e., include a file explaining whatspecific task each Team member did. The evidence needs to be consistent to your GitHub and Trelloboard. If not consistent, your maker may deduce marks. Although each member did different tasks,all the members should know each others tasks.7 Late submission and Extensiona. A penalty of 10% per day of the total marks will apply for each day late, including bothweekend and weekdays.b. After five days, you will receive a zero for the whole assignment.c. Extension requests should only be emailed to the lecturer.d. Extension offered to a group member(s) does not qualify for a global extension for thewhole of group.8 PlagiarismAll assignments will be checked with plagiarism-detection software; any student found to haveplagiarised would be subject to disciplinary action. Plagiarism includes submitting work that is not Your own or submitting text that is not your own allowing others to copy your work via email, printouts, social media etc. posting assignment questions (in full or partial) on external technical forums copying work from/of previous/current semester students sending or passing your work to your friends posting assignment questions on technical forums to get them solved someone else writing your code (i.e., contract cheating)A disciplinary action can lead to a meeting with the disciplinary committee a score of zero for the assignment a permanent record of copying in your personal university records and/orSchool of Science / CS ITPage 8 of 8 expulsion from the university, in some severe casesAll plagiarism will be penalised. There are no exceptions and no excuses. You have been warned.如有需要,请加QQ:99515681 或邮箱:99515681@qq.com

添加老师微信回复‘’官网 辅导‘’获取专业老师帮助,或点击联系老师1对1在线指导