数据结构与算法设计实践课程设计任务书.docx
言,使程序中逻辑概;念清晰。5、程序调试和测试:采用自底向上,分模块进行,即先调试低层函数。能够熟练掌握调试工具的各种功能,设计测试数据确定疑点,通过修改程序来证实它或绕过它。调试正确后,认真整理源程序和注释,形成格式和风格良好的源程序清单和结果。6、结果分析:程序运行结果包括正确的输入及其输出结果、含有错误的输入和输出结果、算法时间复杂度和空间复杂度分析。7、撰写课程设计报告:总结和提升上述过程和步骤,写出结构严谨、表述清楚、符合设计规范的报告。实践工作量满足课上学时32学时+课外32学时,对于课上学时分配如下:1、4学时:需求理解。2、 6学时:数据结构设计;3、 8学时:算法设计;4、 14学时:系统实现及测试;四课程设计的题目本次实践的应用系统是东软智能云工厂的部分功能模块,详见需求规约-东软智能云工厂,要求完成用户管理功能,设备管理功能,数据字典功能,订单管理,产品管理,可接订单,生产管理功能七部分。最后需要对所做系统书写实验报告一份,格式见附页五考核的方法和成绩的评定参见数据结构评分标准.xsx六时间的安排共2周,根据老师要求完成系统设计和实现。七课程设计报告的格式(1)问题的概述、分析和研究意义(2)数据结构的逻辑设计和物理存储设计(3)重要算法的设计、流程描述和代码描述(4)数据结构的时间、空间复杂性分析和重要算法的复杂度分析。(5)程序的最终实现结果(包括重点界面的抓取,能说明问题的重要实验结果数据的打印或其可视化结果(6)参考文献(7)附录:关键数据结构的定义及关键算法的源代码。A课程设计结果的提交(1)课程设计报告(T分、A4纸打印,同时包括一份电子文档)(2)完整的程序系统(电子方式提交),能够对输入产生相应的输出,同时尽量完成可视化演示。(3)源程序文档(电子方式提交),源程序代码要求适当缩进编排、结构清晰、可读性好,对源程序的类说明(如采用面向对象方法设计因数说明、接口说明、关键变量说明等要进行注释。(4)答辩报告(制作PPT报告,电子方式提交),要求重点突出,思路清晰,同时就此报告准备答辩。所有电子方式提交的文件全部存放在一个目录中,并对其进行压缩,压缩后的文件按规定格式进行命名,命名格式为:班级号+学号+姓名。九课程设计题目说明本课程设计主要是完成智能云制造平台功能,包括用户管理功能,设备管理功能,数据字典功能,订单管理,产品管理,可接订单,生产管理功能七部分。主要考查线性结构(数组,链表,队列)、树、查找结构以及相关算法的设计与实现。整体要求1 .所有数据以文件格式保存,文件存储在工程目录中。2 .文件数据格式可以是JSON格式,也可以是以对象序列化的方式存储。3 .系统分为用户管理功能,设备管理功能,数据字典功能,订单管理,产品管理,可接订单,生产管理功能七部分。系统功能本部分介绍采用图形界面进行功能介绍,使用c语言实现可以将图形界面改为终端控制台输入。1 .用户登录国-DX东软智能制造平台账号)I电码I-II登Ii注册I1.11.2 完成登陆注册功能1.3 共有三种角色权限为:超级管理员,工厂管理和工人权限说明:a超级管理员系统自带,不能被注册,可以发布订单,管理数据字典,查看所有系统用户等,界面如下b.工厂管理通过用户注册,拥有用户管理,接收订单等功能,界面如下:HImS理司HbJ华C.工人是通过工厂管理注册的角色,除用户管理功能外,其余功能跟工厂管理一致2 .用户管理(超级管理员),1生IE疑云MB用户寓我总名M8II|«-WMt>陈1MiMI>"-CJXaaw员跑M1注侑用户嫡mrMft1«HM>IE手做2IMt-i1W|Mt;us2019051416M52019051711061201905141636121W5143f2.1 可以查看所有系统用户2.2 基于姓名、用户编码、所属工厂等查询,可以单独用一个字段进行简单查询,也可以用多个字段进行精确查询.设备管理(超级管理员)b)基于设备名称、设备编码、设备类型等查询,可以单独用一个字段进行简单查询,也可以用多个字段进行精确查询c)新增设备租用为空闲,当设备未被租用时,租用信息为空3 .数据字典界面图东软只能云制造数套学典项子项音理X字典名称工厂状态字典类空码facto<yState字典哽子咦硼增删除修改返回3.13.2 数据字典的增删改查3.3 一个主项包含多个子项,用于下拉框和字段状态等。ffi东次皆吟M法订里营建-×IIS级它理员II逆露订单名稀I1订单编号订单状态MgB”订产品1«>MS<rUiA劭母作改倒除SiQ重置5.15.25.3 订单信息的增删改查5.4 新增订单有6种状态,分别为a.竞标发布:创建订单时默认状态,此状态可以被各个云工厂投标b.中标确定:当已过投标截止时间且有至少一个工厂中标时c.订单生产:当至少有一家工厂投入设备生产时d.工厂发货:当至少有一家工厂发货时订单结束:当超级管理员收货时f无竞标:当已过投标截止时间且没有工厂投标53新增订单的订单产品数据来自于产品管理1.4 当订单状态为工厂发货时点击确定按钮收货并结束订单流程1.5 在投标截止日之前,可以查看所有投标工厂的投标信息并可以决定工厂中标,界面如下:国乐E旧MiSEwBX中标取油1.6 屯日1.7 竞标规则说明:a.多家工厂竞标时,承接数量均达到订单需求时,单个报价低者中标b.多家工厂竞标时,单个报价低者中标但其承接数量未达到订单需求时将在其余竞标者中选择报价最低者,直至满足订单需求c.可自行选择中标单位6 .产品管理图东钦管生云融i产品RO×I起皴窗理员返回I注销I产Ba称ZnumI一8WWftIw1*6.16.2 产品信息的增删改查6.3 基于产品名称和产品编码的查询7 .用户管理(工厂管理)7.17.2 查看本工厂的所有用户信息,进行增删改查7.3 只能增加本工厂的工作人员7.4 基于多种字段查询8 .设备管理(工厂管理/工人)【选做模块】向东软窗能云制i-iS1*苫连-×工厂主1IasaT-Wi碾,名称II设黄洞后i设备类511«¾H>»15设竹状态1«¾t»"川田苜改Bht¾aJ车置庠S设昔名称设法编号S5S规格设备状态设法斫M人设a租用.设诲租用人租用时间112320190517车库123访超级管理员租用中用户12019-05-17222220190517在床222用户18.1 设备信息的增删改查8.2 基于多种字段查询8.3 设备所用人为设备拥有者8.4 新增设备时设备类型信息基于数据字典界面,设备类型强制为正常,但设备状态为除正常状态外时,该设备不能投入生产,界面如下:图在s?智距云制造-新建设备IOKICancei8.5 租用设备界面显示所用超级管理员空闲状态的设备,可以进行名称及编码进行查询,界面如下:说名都I说总耕«一诲送择一一»9 X510 .订单管理(工厂管理/工人)【选做模块】10.110.2 显示所有超级管理员发布状态为竞标发布的订单信息10.3 进行投标,一个工厂只能进行一次投标,工人和管理人员均可操作10.4 多字段查询11 .生产计划管理(工厂管理/工人)【选做模块】&S=ftW*ff1-SZ-5-×r±IaI-MiWftM滋IIWMW号ij1编号匚HMKS僮一一11i«*11*11mIMt10.110.2 当工厂中标后,点击新增选择对应中标即可发布计划,此时订单状态变为生产中10.3 为计划投入设备生产,设备数据来自于设备管理界面103在修改界面选择设备选择完成,此时计划状态更改为已结束,修改界面如下:上或un*a修改生产计划X通应中标门未完陇翔»19Mi10.4当计划状态为生产结束时,选择发货,计划状态更改为已发货整体设计这里主要涉及的结构体包括:竞标(线性),设备(线性),工厂(线性),订单(线性或哈希),产品(线性本文给出参考类结构设计,可自行分析设计自己的类结构。基本结构(这里只写了必须具备的类成员参考,可以添加其他成员或者完全自己设计类):structbidEntity竞勾char*be1d;/主键char*beCode;/编号char*beOrderCode;/订单编号char*bePrice;/单价char*beCount;/承接数量char*beProCount;/中标数量char*beState;/竞标状态0已投标1中标2未中标char*beCreaterCode;/竞标人DatebeCreate;/竞标时间structDeviceEntity设施类char*de1d;/主键char*deName;/名称char*deCode;char*deType;char*deSpecifications;boo1eanSsRentDevice;滤掉此类设备/设备编码/理/规格是否是租用设备:通过创建者类型,可char*deState;char*deRemark;/设备状态/设备说明char*deRentState;char*deRentUserCode;DatedeRentDate;/租用状态/租用人编码/租用日期char*deCreater;DatedeCreate;char*deUpdater;DatedeUpdate;/设备创建者/设备创建时间设备更新者/设备更新时间structFaCtoryEntity工厂类char*fe1d;/工厂主键char*feName;/工厂名称char*feCode;/工厂编码char*feRemark;/工厂说明char*feContacts;/工厂联系人char*feContactsTe1;/工厂联系人电话char*feTe1;/工厂电话char*feAddress;/工厂地址char*feState;/工厂状态O关闭,1正常char*feCreater;/工厂创建者DatefeCreate;/创建时间char*feUpdater;/更新者DatefeUpdate;/更新时间c1assstructOrderEntity订单类char*oe1d;/主键char*oeCode;订单编号char*oeName;订单名称char*oeState;中:4已发货:5结束6无投标订单