《软件工程》课程大作业“你帮我助”软件开发总结与体会

软件工程第二次作业-物品交换系统final
==========

本次大作业中,我使用python语言开发软件,主要使用了pyside模块进行GUI的制作。全程耗时大约两天,软件开发的过程中,整体的难度不是很大,但是对细节的处理比较多。

 

项目需求

---------

在疫情期间,各个小区居民发挥互助精神,进行物品交换,互通有无。

1、物品有公共的信息(物品名称,物品说明,物品所在地址,联系人手机,邮箱)。为了便于管理和查询,物品可以分成不同的类别(例如食品、书籍、工具等),不同类别的物品可能有不同的属性(例如食品有保质期,数量;书籍有作者,出版社等)。

 

2、互帮互助系统有两种类型的用户:管理员和普通用户。

管理员可以设置新的物品类型(定义物品类型的名称和各个属性),修改物品类型。

普通用户在添加物品时先选择物品类型,然后再填入物品信息。普通用户搜寻物品时,需要先选择类型,再输入关键字,关键字可以再用户名称和说明中进行匹配。

普通用户需要注册(填入基本信息,包括住址,联系方式等),管理员批准后才能成为正式用户。

 

3、为了便于使用上述功能,软件需要提供GUI。

 

项目设计

-----------

使用PyCharm开发,语言为python

password.txt用来存储用户名和密码。

newuser.txt用来存储用户的注册申请。

newclass.txt用来存储物品类型以及对应的属性。

对于每一类物品,都用一个单独的txt文件存储,并且文件名为“物品类型.txt”,比如“食品.txt”

 

总结与体会

-----------

我在之前写的代码都是为了解决某个问题的,因此在写代码前不会进行完整的分析(比如可行性分析、需求分析、数据流图和类图的绘制),只是写一个函数实现我要的功能就行。而在本次软件开发的过程中,我体会到软件工程设计思想的重要性。这个软件有一个完善的结构,功能比较多,数据也比较多,由于需要使用GUI实现,因此要设计的窗口也比较多。如果不进行提前分析,而是直接进行写代码的话,往往会发现代码中的漏洞越来越多,需要修改的地方也越来越多,因此整体设计是很重要的。此外这个软件中有许多细节需要设计,比如不同的物品有不同的类型,因此窗口在显示的时候要做相应的修正。再比如物品信息支持添加、查找、删除,又要能添加新的物品类型,因此对于数据的操作很频繁,需要确保操作的可重复性和安全性。

 

项目代码

------------

https://github.com/Anlittledy/-final

 

posted @ 2023-01-01 21:06  Anliittledy  阅读(83)  评论(0)    收藏  举报