本文为软件工程课程期末大作业——“你帮我助”物品交换系统软件开发总结。
开发需求
1.物品有公共的信息(物品名称,物品说明,物品所在地址,联系人手机,邮箱)。为了便于管理和查询,物品可以分成不同的类别(例如食品、书籍、工具等),不同类别的物品可能有不同的属性(例如食品有保质期,数量;书籍有作者,出版社等)。
2.互帮互助系统有两种类型的用户:管理员和普通用户。管理员可以设置新的物品类型(定义物品类型的名称和各个属性),修改物品类型;普通用户在添加物品时先选择物品类型,然后再填入物品信息。普通用户搜寻物品时,需要先选择类型,再输入关键字,关键字可以再用户名称和说明中进行匹配;普通用户需要注册(填入基本信息,包括住址,联系方式等),管理员批准后才能成为正式用户。
3.为了便于使用上述功能,软件需要提供GUI。
需求分析——用例图
整体结构
详细设计——类图
详细设计——时序图
使用说明
运行程序后,进入登录界面。登录时可选择登录为普通用户或是管理员,普通用户第一次使用需注册账号填写相关信息并经管理员审核后使用。
普通用户登录后,显示用户界面,普通用户可使用功能为“添加物品”和“搜寻物品”。点击“添加物品”,将显示添加物品界面。用户首先选择待添加物品类型,系统将在数据库中获取该物品类型包含的属性,并显示在界面上,用户需在提示下输入相应的属性,再点击“添加按钮”,即可添加成功。点击“搜寻物品”,将显示搜寻物品界面,用户可选择待搜寻物品类型并输入关键词进行搜寻。
管理员登录后,显示管理员界面,管理员可用功能为“审核新用户”、“添加新类型”和“修改类型”。点击“审核新用户”,将显示审核界面,从左边栏中选择待审核的用户,可查看其已填入的信息,点击“确定”,即通过成功。点击“添加新类型”,将显示添加类型界面,管理员输入物品类型名称,程序可自动生成相应的属性等待用户添加。点击“修改类型”,将显示修改类型界面,管理员可删除空的物品类型,若物品类型非空,程序将自动提醒管理员且无法操作成功。
软件地址:WJYwang/final (github.com)
项目总结
本次课程作业经过十多天的努力,虽然经历感染发烧,但最终顺利完成,在这过程中我发现自身的很多问题。首先,因为是辅修,所以很多基础知识尚有欠缺或学的不扎实,一方面是数据库相关的知识并未学习导致程序每次运行都被迫初始化,可应用性差;另一方面是好多基本的知识点在本次开发过程中应用时比较生疏,通过请教同学、CSDN论坛搜索、百度等才最终顺利完成。本次作业对我来说挑战最大的是GUI的应用,本人尚未接触过相关知识,只能现学现卖,在初步学习了解了QT之后便直接上手应用,但在实际的程序编写过程中相对困难且费时费力,特别是在结合界面中获取输入文字和输出到界面中,填入代码的过程相对繁琐,但最终还是熟悉了QT的一些基本操作,为今后的学习打下了良好的基础。另外,我在朋友圈看到了类似的程序已经上线微信小程序并在某些市内应用且取得了较好的正面反馈,我意识到软件开发源于人们日常生活工作中的需求,并最终致力于满足人们的需求,相比已经上线的相关程序,本次开发显得非常青涩,软件修改功能还不够完善,用户界面设计仍需要不断的改进。此外,在撰写文档的过程中,我体会到了软件工程的基本过程,从软件定义(问题定义、可行性研究、需求分析)到软件开发(总体设计、详细设计、编码和单元测试、综合测试),最后也进行了简单的软件维护,我体会到了课堂中老师讲授的知识的必要性,也突然理解到规范化的重要性。通过本门课程的学习,我收获颇多,最重要的是发现各类学科间都存在相类似的逻辑体系,尤其是工程类学科,在为解决人类生产生活的实际问题时存在着类似的操作步骤和操作规范。开发本程序时,让我理论学习和动手实践相结合,在意识到自己不足的同时,为未来提升提供了方向。
标签:总结,界面,类型,添加,管理员,物品,普通用户,Final From: https://www.cnblogs.com/WJYwang/p/17011557.html