软件工程第二次结对作业

前言:

这个作业属于哪个课程 https://edu.cnblogs.com/campus/fzu/SE2024
这个作业要求在哪里 https://edu.cnblogs.com/campus/fzu/SE2024/homework/13281
这个作业的目标 通过设计好的流程来完成对ProjectPartner的开发
项目GitHub地址 https://github.com/muyingcongke/052206123-052203132
学号 052206123,052203132
结对同学的GitHub地址 https://github.com/GoldenglowBF

具体分工:
柯鸿毅:APP大致框架搭建,程序功能完善,APP界面初步设计,检测并修复软件的漏洞。
童潇剑:软件使用界面和流程的设计,整理各种项目文档,软件界面进一步优化,博客内容的编写,软件测试。

一、PSP表格

工作内容 预计耗时(小时) 实际耗时(小时)
项目规划 3 3
需求分析 1.5 2
生成设计文档 2 3
设计复审 2 3
具体编码 30 40
代码复审 8 8
程序测试 2 4
事后总结 1 0.5
编写博客 2 2
总耗时 51.5 65.5

二、解题思路与设计实现

1.问题分析

经过讨论,我们决定开发一款APP来实现该需求,该APP能够实现我们的主要需求:发布项目,招募合适的人手。
由于在APP开发上经验较为缺乏,我们选择QT Studio作为开发工具,使用C++语言进行开发,并部署到安卓上。
程序由界面分为不同模块,具体如下:

程序模块划分

登录,注册界面:用户在注册后账号记录到数据库,按已有的账号登录即可进入程序主界面。
程序主界面:我们能够看到已经发布的项目,通过点击即可了解项目详情。
项目详情界面:在该界面我们能够看到项目的详细内容,包括项目名称,项目简介以及项目需求,也可申请加入项目。
我的项目页面:能看到我们已经创建的项目,并创建自己的项目。
通知页面:可查看项目加入申请信息
个人信息页面:编辑个人信息,方便其他用户了解自己

2.流程图

3.代码片段

1.页面设计代码:


2.注册模块代码:

3.数据库相关代码:

4.测试代码

三、附加特点设计

由于时间限制与开发经验的不足,未设计附加功能

四、目录与使用说明:

目录介绍

我们按照QT提供的目录结构来组织项目的目录结构,其中
Headers文件夹中存储各类头文件,
Sources用于存储cpp代码,
Forms用于存储UI结构文件,
pictures页面则用于存储项目中图像文件

使用说明

1.安装包下载
在GitHub仓库中包含了APK应用安装包,在手机或模拟器中安装即可进行操作
2.注册说明

3.个人信息编辑

4.发布项目

5.项目详情

五、单元测试

上述使用说明即为我们进行的测试。在经过多次优化后,当前版本的使用已较为稳定。

六、Github签入记录

七、遇到的困难与解决方法

程序开发中,遇到了以下困难:
1.环境搭建困难。由于是第一次开发一个完整的软件,对于开发环境的搭建不熟悉,导致了花了一定时间来了解、搭建开发环境。
2.需要学习的内容多。从开发软件的使用、界面的设计到数据库的应用,都需要花费大量的时间进行学习。在遇到报错信息时,也需要在网上搜索解决方案。
3.预期功能未实现。在软件开发的过程,有许多时候方法的效果并没有达到预期,需要在方法中设置许多调试信息进行调试。例如,在一次数据库信息查询中,发现无法找到所要的数据。在函数的不同地方设置调试信息后,发现是qt内置类型qstring与char*类型在多次转换后,导致录入数据库的信息存在差异。在发现了问题之后,对字符串进行统一、规范的处理,最后解决了问题。
4.方法测试。为了监控数据流动,设置了一个专门用来打印数据库信息的函数,用于监视数据库的数据变更。

八、评估你的队友

我的队友是052203132童潇剑,在本次软件开发中,我们都在对方学习到许多。
值得学习的地方:队友对于软件流程的设计、对已知程序的测试都有很高的理解,他在我编码的过程中可以提出许多有用的建议,并能一阵见血地指出我所编写的程序的问题。
较为不足的地方:缺少协同编码的能力,这是我们双方都存在的不足。

九、项目总结

在前一次“羊了个羊”项目个人开发中,我对于软件开发的流程已经有了一定的了解,对这次结对作业也起到了一定的帮助,但在这次结对作业中,我也发现了自己新的不足。首先是沟通能力。自己的沟通能力较弱,不能准确地描述所遇到的问题,导致了在解决一些问题上花费了更多的时间。并且与队友的沟通次数不足,导致双方信息无法同步,这也是一个较大的问题。其次是技术还不够完备。在这次软件开发中,应用到了qt开发、tcp网络编程、数据库等知识,由于自己的技术能力不足,导致了花费大量的时间在技术的学习与应用中,这使得软件核心功能的实现还不够完善。还有,自己在编码能力上也有待改进。由于自己编码较慢,导致不能够在有限时间完成软件的开发,这是今后自己需要改进的点。

最后,感谢童潇剑同学在这次软件开发中对我的信任与帮助,也感谢评分老师对于自己博客编写时间的宽限!

posted on 2024-10-10 23:53  暮影从柯  阅读(17)  评论(0编辑  收藏  举报