【项目需求】
1、物品有公共的信息(物品名称,物品说明,物品所在地址,联系人手机,邮箱)。为了便于管理和查询,物品可以分成不同的类别(例如食品、书籍、工具等),不同类别的物品可能有不同的属性(例如食品有保质期,数量;书籍有作者,出版社等)。
2、互帮互助系统有两种类型的用户:管理员和普通用户。
管理员可以设置新的物品类型(定义物品类型的名称和各个属性),修改物品类型。
普通用户在添加物品时先选择物品类型,然后再填入物品信息。普通用户搜寻物品时,需要先选择类型,再输入关键字,关键字可以再用户名称和说明中进行匹配。
普通用户需要注册(填入基本信息,包括住址,联系方式等),管理员批准后才能成为正式用户。
3、为了便于使用上述功能,软件需要提供GUI。
【项目功能】
管理员:1.添加物品类型。2.显示物品类型。3.修改物品类型。4.审核注册。
用户:1.添加物品。2.删除物品。3.修改物品。4.搜索物品。5.显示物品。6.注册。
【项目介绍】
本项目使用Python语言,pycharm编译器,以便实现GUI。
使用时,应先使用初始管理员账号登录系统,添加所需的物品类型并补全信息。然后,使用初始用户账号登录系统,进行各种操作。此外,可以注册新的用户账号,待管理员审核通过后,可以使用登录。
【开发感想】
1、由于我基础薄弱,这是我第一次实现GUI,也是我目前为止写过规模最大的项目,因此,很多东西都是找着各种教程一步步现学的,前后花费了一个月时间,可能会有一些写的不够好的地方和一些冗余的代码。
2、通过本学期软工的学习,在这个项目中,我绘制了用例图、顺序图、类图。通过这些系统的方法,整个过程变得更加条理清晰、按部就班。软工所教会我的办法,虽然会增加软件制作的工作量,但却是必不可少的一环。本项目尚且是(包含<50个类)中小型项目,且类与类、对象与对象之间耦合性不高,关系也不复杂,即便如此,调试时也出现过一些记不清功能关系、搞错层次关系之类的问题,而此时系统化的方法就能帮助解决问题。日后,我必然会涉足到更为复杂的项目,也会遇到要与人合作制作软件的时刻,因此,软工教会我的方法是很关键的。
3、我认为这个项目还有很多可以改进的地方,比如:GUI界面不美观、没有项目特色,值得改进;搜索物品时只根据物品名称进行匹配,但实际情况中往往是根据实际意思搜索物品,因此,我设想构建一个加权搜索函数(名称权重最高,其次是说明中重合4个字、3个字...),根据加权函数排序后显示。
【课程体会总结】
对比两次软件开发,在学习了数据流图、类图、顺序图等软件工程知识之后,在开发软件的过程中,思路明显比第一次开发的时候要清晰。但是,由于第二次软件需要实现的功能更多,我的语言能力愈发显得捉襟见肘,在接下去的学习过程中,对语言的学习是需要我加强的地方。同时,听过曹老师的课程之后,对软件的理解也从毫无概念,变成了有一定的了解,在有了两次开发软件的经历之后,我相信,在下一次的软件开发过程中,我一定能够更加顺利清晰的完成开发。
并且,曹老师在授课过程中渗透的计算机科学的核心思想,对我的学习也产生了一定的影响,在这个过程中,我发现自己思考问题的角度明显变多了,同时,编写代码的习惯上,老师也给出了指导意见,非常受用。
总体来说,曹老师的课是非常实用的课,将理论和实践结合起来,并没有纸上谈兵的感觉,曹老师本人也给我一种非常亲切的感觉。但是,对于软件工程这门课而言,我并不能说掌握的很好,可能是由于辅修的原因,前置课程总感觉有些缺失,希望以后仍能有机会进行软件开发,在这方面更进一步。
标签:体会,普通用户,项目,GUI,物品,类型,管理员,我助,2.0
From: https://www.cnblogs.com/shuotianlv/p/17004053.html