首页 > 其他分享 >EEEE 2067 - Design and Implementation of Engineering

EEEE 2067 - Design and Implementation of Engineering

时间:2024-12-16 18:32:25浏览次数:4  
标签:machine capacity item Implementation EEEE will Engineering user

EEEE 2067 - Design and Implementation of Engineering Software Department of Electrical and Electronic Engineering

Coursework Autumn 2024/25

“Intelligent Recycling Machine” This coursework constitutes 40% of your total assessment in this module.LO Addressed

  • LO1 Demonstrate critical judgment in decomposing large tasks into collections of smallobjects and functions.LO2 Design scalable object-oriented software with an appreciation of a largerenvironment encompassing code recycling, maintenance, expansion and issues ofrobustness.Main ObjectiveYour main objective is to develop a smart recycling machine software according to the givenrequirements below. A typical recycle machine is shown in Figure 1.Figure 1: A Typical Recycle MachineTasks or Requirements (What should this machine do?)
  1. On the starting menu:
  2. Menu for User Registration and login.
  3. Menu for Maintenance login.
  4. After login:
  5. Display name, phone number and current points.
  6. Display item name and points per kg as shown in Table 1.
  7. Display maximum capacity and current load as shown in Table 2.You can be creative on how to display the menu above.EEEE 2067 - Design and Implementation of Engineering Software Department of Electrical and Electronic Engineering
  1. When the machine is first powered on (when you run the program), it will read a text file

item_point.txt), which contains the information listed in Table 1.

string2weightWeight of the item to be deposited in kg.intNo. Function

Description

Type

1Member functionsRelevant assessors and mutators functions. Don’tforget constructors and destructor.functionTable 4: Members of RecycleItemStatus classNo. Variable Description Type 1itemNameName of the item in the machine e.g. paper,plastic, glass, etc.string2maxCapacityMaximum capacity.

int3urrentLoadCurrent load of item in the machine. E.g. howmany kg of paper in total in the machine.int4pointsPerKgNumber of points per kg of item deposited.

intNo. Function Description Type 1functionTable 5: Members of RecyclingMachine classNo. Variable Description Type

1paperStat,glassStat, …Machine will contain RecycleItemStatusfor the recycled items.RecycleItemStatus2locationLocation of the machine. E.g. UNNC, Jintianfu,Manor, …

string3usr1, usr2, …Machine will contain User objects to represent

users who are registered.UserEEEE 2067 - Design and Implementation of Engineering Software Department of Electrical and Electronic EngineeringNo. Function/Variable

Description Type

1RecyclingMachine

Constructor which initializes the recycling

machine based on the data provided in Table 1and 2 by reading item_point.txt and capacity.txt.function2startupMenuA function that allows the machine to display thestartup menu as stated in Task1 .function3depositMenuA function that allows the machine to display thedeposit menu as stated in Task2.3registerUserA function that allows machine to register user.The new user should be added to the fileaccount.txt.functionuserLogout function that allows the user to log out of the

machine. Upon logout, the system should returnto the login menu, allowing another user to logfunction6depositItemA function that allows user to deposit items to theachine after login. The user is allowed todeposit 代写EEEE 2067 - Design and Implementation of Engineering  more than one type of item per time.Provide the right condition to handle the casewhen reaching the maximum capacity. The user

is also allowed to cancel at any point and go backto the starting menu. Upon successful depositperation, the function will update the currentload in capacity.txt and don’t forget to add pointsto the user.function7emptyLoadA function in the maintenance mode that allowsoperator to empty a particular type of item or thewhole machine. Take note of the maximumcapacity. This menu is only accessible by themachine operator.function

8printTransactionA function in the maintenance mode that allowsthe machine to display the past transactions onscreen also save the record with the filename“Transaction-YYYY-MM-DD.txt”. This menu isonly accessible by the machine operator.function9Member functionsRelevant assessors and mutators functions. Don’tforget destructor.functions10Advanced function(s)Create at least one special function which is otstated in the requirements.Suggestion: increase the number of locations forthe recycling machine. Even if the resident’sinformation is linked, if you are not in theapartment where the current recycling machineis located, they can only dispose of items as afunctionEEEE 2067 - Design and Implementation of Engineering Software Department of Electrical and ElectronicEngineeringguest, meaning they are still limited to fivedisposal attempts. You should also demonstratethis feature according to demo step in the nextsection. Note: match the “location” variable

he accumulated reward points of the accountholder.double4residenceThe residence name of the user e.g. “Block215”.f the user is unlinked to this residence, thisNo. Function

Description Type 1Member functionsRelevant assessors and mutators functions suchas addPoints, setResidence, etc. Don’tforget constructors and destructor.

Demo Step Create a video with voice narrative to demonstrate the following tasks: Initial conditions:

  • The load of recycle items in the machine should be zero, meaning the machine is empty.
  • No user has been registered.Table 7: Task List

Task list

Task Description 1Demonstrate initialization of the recycling machine with itemslisted in item_point.txt.Proof that you can change the category’ name, points per kg of an item during thedemo by changing the item_point.txt.2Startup Menu -> Create an account with your name and phone number. Store theaccount info in account.txt file and read the file every time someone is trying toregister to make sure the person has not registered. When you login, you need tomatchthe account with your phone number. After login, it will go into Deposit Menuwhich displays how many points you already have which is zero when first registered.3and also total point accumulated. After 5 seconds, it will go back to thedepositmenu automatically.4Deposit Menu -> select any item -> cancel -> select another item -> enter weight ->machine opens compartment doors of that item -> user deposit -> success -> displaypoints you have earned and also total point accumulated. After 5 seconds, it will go

back to the deposit menu automatically.5Deposit Menu -> select item1 -> enter weight -> select item2 -> enter weight ->machine open compartment door of the 2 items -> user deposit -> success -> displaypoints you have earned and also total point accumulated. After 5 seconds, it will goback to the deposit menu automatically.6Deposit Menu -> select an item -> enter weight more than capacity -> display“Exceeded capacity, door will not open”. After 5 seconds, it will go back to thedepositmenu automatically.7The points earned can be withdrawn once the total number points reach 100. Every100 points is equivalent to one yuan, and the corresponding points will be deductedfrom the user's account. Create a menu to perform this transaction. Assume moneyhas been received by Alipay or Weixin.8In Maintenance Mode -> show current capacity and load -> empty a particular item ->show current capacity and load.9In Maintenance Mode -> show current capacity and load -> empty the item that havereached maximum capacity -> show current capacity and load.

10In Maintenance Mode -> show current capacity and load -> empty all item -> showcurrent capacity and load.11Print all past transactions on the screen.12These transactions should have already been saved in a text file with “TransactionYYYYMMDD.txt” format, E.g. Transaction-20241010, which records all transactionsEEEE 2067 - Design and Implementation of Engineering Software Department of Electrical and Electronic Engineeringperformed on that day. Do not clear the records when the program is restarted. In your video demo, just show the transactions for that day. 13User needs to link his or her resident’s details. If the resident is linked, there will be nolimit on the number of times he or she can deposit. Otherwise, he or she will be limitedto five times. If the user is not linked to the resident number and has already depositedfive times -> a “deposit limit is reached” message will be displayed. To testthisfeature,

corresponding file, and restarting the program should not overwrite the historical records.

Reminders:

(1) Provide adequate comments to enhance the readability of your codes.

(2) The Recycling machine program should comprise of multiple files e.g. headers,implementation and main driver (e.g. *.h, *.cpp and main.cpp).

(3) Submission deadline is 5PM, 19 December 2024. 5% (out of 100% of this CW) will be deductedper day of late submission.

(4) The following items are to be submitted to Moodle

  1. Code package. A zip file EEEE2067CW-Name (E.g. EEEE2067CW-DavidChieng.zip)containing your code, compiled binaries and project file in one folder. Please check if you.exe file can run in a different machine.
  1. UML design. A report containing your design and brief description (max 2 pages, onepage for diagram and another page for description. Remember to describe your advancefeatures here).
  1. Video demo. Share it using OneDrive and put the link together with the UML design.EEEE 2067 - Design and Implementation of Engineering SoftwareDepartment of Electrical and Electronic Engineering

Assessment Rubrics

This project comprises of 4 parts and each part can be an independent assignment according to

标签:machine,capacity,item,Implementation,EEEE,will,Engineering,user
From: https://www.cnblogs.com/CSE2425/p/18609886

相关文章

  • The+finite+element+method+in+engineering+(Rao,+Singiresu+S)_含目录
    封面1第一部分引言91有限元方法概述101.1基本概念101.2历史背景101.3该方法的普遍适用性131.3.1一维热传递131.3.2一维流体流动151.3.3轴向受载的实心杆151.4有限元方法的工程应用151.5有限元方法的总体描述171.6采用线性......
  • RFC 3161 是由 IETF(Internet Engineering Task Force)发布的一项标准,定义了数字时间戳
    RFC3161标准:时间戳协议概述RFC3161是由IETF(InternetEngineeringTaskForce)发布的一项标准,定义了数字时间戳协议(DigitalTimestampingProtocol)。其主要目的是为数字签名提供独立的时间戳服务,确保签名在特定时间内有效,即使签名的证书过期或撤销。该协议的核心功能是为文件......
  • 6465ELE Engineering Management
    ProjectBrief:FleetVehicleSelectionandComprehensiveRiskAnalysisThisassignmentpresentsareal-worldmanagementscenariowherethedataisincompleteoruncertain,requiringyoutoapplyyourengineeringexpertisetomakeaninformeddecision.You......
  • MME1221 Engineering Statics
    1MME1221EngineeringStatics&DynamicsMatlabAssignmentforEngineeringDynamicsAY2024-2025GeneralInformationThe15%AssignmentfortheDynamicspartoftheEngineeringStaticandDynamicsmoduleusesMatlabtosolveakinematicsproblem.Youwill......
  • CSC1005: Introduction to Computer Engineering
    CSC1005:IntroductiontoComputerEngineeringProgrammingandApplicationsAssignment3Assignmentdescription:Thisassignmentwillbeworth9%ofthefinalgrade.Youshouldwriteyourcodeforeachquestionina.pyfile(pleasenameitusingthequest......
  • 猫头虎分享:18种写AI 提示词 Prompt Engineering方法大集合
    猫头虎分享:18种写AI提示词PromptEngineering方法大集合大家好,我是猫头虎!今天为大家整理了PromptEngineering(提示工程)的18种方法,并为每种方法提供了实际案例及对应论文参考链接。希望大家能从中受益!目录Top1猫头虎提示词Top2Zero-shotPromptTop3Few-shotPro......
  • 【有啥问啥】逆向工程(Reverse Engineering,RE):深度解析与技术方法
    逆向工程(ReverseEngineering,RE):深度解析与技术方法引言逆向工程(ReverseEngineering,简称RE),作为现代科技领域中的一项重要技术,其影响力已远远超越了传统的硬件拆解范畴。在软件安全、产品设计优化、知识产权保护,以及教育与研究等多个领域,逆向工程都展现出了其独特的价值和......
  • Software Engineering软件工程复习笔记
    program中包含了instructions和datastructures,记法:idd  记法:qu去cd,减少cd,加快输出 ......
  • MANE-4740 Thermal and Fluids Engineering
    MANE-4740ThermalandFluidsEngineeringLaboratoryResultsHomework1–ACLabFall2024Foreachofthefollowinggroupsofdataorcomputedquantities,organizeyourresultsintoplots, tables,orotherfiguresasyouthinkbest(unlesstoldto plot th......
  • Prompt Engineering实战 AI老兵的15条经验与建议
    Author:Jason豪 编写提示时应清晰准确地传达信息。能够明确描述任务和概念至关重要。要愿意快速迭代,连续多次向模型发送提示并检测结果。优秀的提示工程师能够持续对已待优化prompt反复改进。在设计提示时要考虑边界情况和不寻常的场景。思考你的提示在非典型情况下可能会如......