你帮我助软件开发(Final)
上次项目
https://www.cnblogs.com/skdh3827/p/16800626.html
计划
在疫情期间,各个小区居民发挥互助精神,进行物品交换,互通有无。编写一个物品交换软件
我的计划是先完成框架设计,再实现用户注册登录、管理员激活等和用户有关的功能,再实现管理员增加用户属性和再实现存储物品的功能,再完成GUI,之后进行调试和优化
开发
需求分析
与第一次相比,增加了一些新的需求:
1、物品有公共的信息(物品名称,物品说明,物品所在地址,联系人手机,邮箱)。为了便于管理和查询,物品可以分成不同的类别(例如食品、书籍、工具等),不同类别的物品可能有不同的属性(例如食品有保质期,数量;书籍有作者,出版社等)。
2、互帮互助系统有两种类型的用户:管理员和普通用户。
管理员可以设置新的物品类型(定义物品类型的名称和各个属性),修改物品类型。
普通用户在添加物品时先选择物品类型,然后再填入物品信息。普通用户搜寻物品时,需要先选择类型,再输入关键字,关键字可以再用户名称和说明中进行匹配。
普通用户需要注册(填入基本信息,包括住址,联系方式等),管理员批准后才能成为正式用户。
3、为了便于使用上述功能,软件需要提供GUI。
具体设计
本项目使用的编程语言是python3.9,与上次相比,增加了user.py和admin.py两个文件,分别用于实现用户功能和管理员功能;增加了admin.xslx , user.xslx两个表格,分别用来储存物品类别信息和用户信息
上次已经创建过的文件:main.py的功能是打开主窗口,settings.py包含对管理员密码、文字大小、窗口大小、标签内容等的设置,stock.py包含Stock类,可以实现物品的增加、减少、检索、遍历,也可以将修改过的数据更新到excel文件中。 frame.py实现GUI
excel文件存储数据,如果在程序运行的时候选择过保存数据,再次打开程序时,数据不会丢失
用例分析图
具体代码的GitHub链接
https://github.com/yyyllljjj/2022-homework-/tree/main/exchange_goods2.0
测试
经过测试,该项目可以实现基本功能
用时记录
| 过程 | 用时 |
|---|---|
| 项目规划 | 2h |
| 需求设计 | 2h |
| 详细方案 | 2h |
| 编码 | 6h |
| 调试 | 10h |
| 优化 | 4h |
总结
本次项目在上一次的基础上增加了很多新的功能,并且要求的预期功能基本实现。
经过本次项目,我对软件工程的项目开发过程有了更深刻的理解。
首先,我理解了写注释与规划代码结构的重要性。这次的项目是基于上次项目改进的,距离编写上一次的代码已经过去了一段时间,再次阅读代码时我认识到了合理设计代码结构的重要性。清晰的代码结构和必要的注释能让代码便于阅读,从而便于他人阅读、调试、改进更新代码。
其次,在项目规划的时候,我运用了课堂所学用例模型、顺序图、类图的知识,不仅巩固了这些知识,而且让我对项目有了更清晰的规划,设计代码结构的过程变得更顺利。
最后,我学习了面向对象设计的一些技巧。虽然在软件工程课程中已经讲过,但是经过项目实践,我现在对这些技巧更加熟悉了。
虽然软件工程课程已经结束了,但在未来其他项目中,我会运用课程所学知识。
浙公网安备 33010602011771号