你帮我助软件开发(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文件存储数据,如果在程序运行的时候选择过保存数据,再次打开程序时,数据不会丢失

用例分析图

https://github.com/yyyllljjj/2022-homework-/blob/main/exchange_goods2.0/%E8%AE%BE%E8%AE%A1%E6%96%87%E6%A1%A3.pdf

具体代码的GitHub链接

https://github.com/yyyllljjj/2022-homework-/tree/main/exchange_goods2.0

测试

经过测试,该项目可以实现基本功能

用时记录

过程 用时
项目规划 2h
需求设计 2h
详细方案 2h
编码 6h
调试 10h
优化 4h

总结

本次项目在上一次的基础上增加了很多新的功能,并且要求的预期功能基本实现。

经过本次项目,我对软件工程的项目开发过程有了更深刻的理解。

首先,我理解了写注释与规划代码结构的重要性。这次的项目是基于上次项目改进的,距离编写上一次的代码已经过去了一段时间,再次阅读代码时我认识到了合理设计代码结构的重要性。清晰的代码结构和必要的注释能让代码便于阅读,从而便于他人阅读、调试、改进更新代码。

其次,在项目规划的时候,我运用了课堂所学用例模型、顺序图、类图的知识,不仅巩固了这些知识,而且让我对项目有了更清晰的规划,设计代码结构的过程变得更顺利。

最后,我学习了面向对象设计的一些技巧。虽然在软件工程课程中已经讲过,但是经过项目实践,我现在对这些技巧更加熟悉了。

虽然软件工程课程已经结束了,但在未来其他项目中,我会运用课程所学知识。

posted @ 2022-12-25 12:50  yyyllljjj2022  阅读(27)  评论(0)    收藏  举报