项目 内容
课程班级博客链接 19级卓越工程师班
这个作业要求链接 实验四 -- 团队项目
我的课程学习目标
1、提高自身团队合作能力

2、通过此次实验提高代码编写水平
这个作业在哪些方面帮助我实现学习目标
1、与同学结对完成本次实验

2、此次实验需要具有一定的团队协作能力及相应代码基础
团队名称 花开富贵
团队博文链接 团队作业博客

任务1:浏览班级博客园中提交《实验三 软件工程结对项目》作业,任选一个你认为完成质量较高的小组项目成果,继续以实验三结对学习方式完成以下任务,具体要求如下:

项目 成果
评论对象 201971010242-王凯英
评论链接 点击查看评论内容

(1)对博文作业进行阅读,并结合评分要求进行评论,评论要点包括:博文结构、博文内容、博文结构与PSP中“任务内容”列的关系、PSP中“计划共完成需要的时间”与“实际完成需要的时间”两列数据的差异化分析与原因探究,给出这个结对小组在进度计划方面可以提高的具体建议。将以上评论内容发布到博客评论区。

(2)克隆任务3项目源码到本地机器,阅读并运行代码,参照《现代软件工程—构建之法》4.4.3节核查表复审项目代码并记录。

*** A、克隆任务3项目源码到本地机器,阅读并运行代码**

  • B、阅读并运行代码

2、参照《现代软件工程—构建之法》4.4.3节核查表复审项目代码并记录

项目的开发者:王凯英
项目的复审者:张萌

提出问题 执行情况
* 概要部分
代码符合需求和规格说明么? 代码符合需求和规格说明。
代码设计是否考虑周全? 考虑周全。
代码可读性如何? 可读性强。
代码容易维护么? 容易维护。
代码的每一行都执行并检查过了吗? 可执行。
* 设计规范部分
设计是否遵从已知的设计模式或项目中常用的模式? 遵从常用模式。
代码有没有依赖于某一平台,是否会影响将来的移植(如Win32到Win64)? 不会影响移植,不依赖于某一平台。
开发者新写的代码能否用已有的Library/SDK/Framework中的功能实现?在本项目中是否存在类似的功能可以调用而不用全部重新实现? 能;存在,有些代码是可以调用的
有没有无用的代码可以清除?(很多人想保留尽可能多的代码,因为以后可能会用上,这样导致程序文件中有很多注释掉的代码,这些代码都可以删除,因为源代码控制已经保存了原来的老代码) 无。
* 代码规范部分
修改的部分符合代码标准和风格么? 修改的部分符合代码标准和风格。
* 具体代码部分
有没有对错误进行处理?对于调用的外部函数,是否检查了返回值或处理了异常? 对错误都进行了处理,没有异常。
参数传递有无错误,字符串的长度是字节的长度还是字符(可能是单/双字节)的长度,是以0开始计数还是以1开始计数? 无错误;本项目中是以0开始计数。
边界条件是如何处理的?switch语句的default分支是如何处理的?循环有没有可能出现死循环? switch语句的default分支返回false,没有出现死循环。
有没有使用断言(Assert)来保证我们认为不变的条件真的得到满足? 无。
对资源的利用是在哪里申请,在哪里释放的?有没有可能导致资源泄露(内存、文件、各种GUI资源、数据库访问的连接,等等)?有没有优化的空间? 都在内存中完成,很有可能泄露
数据结构中有没有用不到的元素? 无。
* 效能
代码的效能(Performance)如何?最坏的情况如何? 达到了具体任务的要求。
代码中,特别是循环中是否有明显可优化的部分(C++中反复创建类,C#中 string 的操作是否能用StringBuilder 来优化)? 没有。
对于系统和网络调用是否会超时?如何处理? 目前没有出现超时的现象。假如出现了我们会整理系统,减少运行的进程。
* 可读性
代码可读性如何?有没有足够的注释? 可读性强;代码有足够的注释
* 可测试性
代码是否需要更新或创建新的单元测试?针对特定领域的开发(如数据库、网页、多线程等),可以整理专门的核查表。 可以继续开发。

(3)阅读《现代软件工程—构建之法》第12章内容,完成以下分析任务:

  • A. 体验任务3实现软件功能,简要描述软件的使用过程,上传使用软件的照片;
    (1) 软件的使用过程:软件首页面为输入文件名和选择数据编号两部分组成;选择完之后将进入二级页面进行查询数据、选择数据等功能选择;然后进行对应的后续界面进行实验操作。
    (2) 首页面:

    (3) 功能界面:

  • 散点图绘制:

  • 数据库数据保存

    *数据排序(以beibao0.in为例)

  • 利用遗传算法求解

B. 总结任务3要求的功能软件解决了吗?软件在数据量/界面/功能上各有什么优缺点?对该软件产品功能有什么改进意见?

类别 优缺点
软件功能解决度 用户可以根据需求进行不同的功能选择,但保存算法实验日志数据方面还需要进行改进
软件在数据量/界面/功能上各有什么优缺点 可处理数据较多、范围较大;界面清晰 ;功能较全面
对该软件产品功能有什么改进意见 可以添加一些新功能进去,以此来减小软件的竞争力

C. 从学历、年龄、专业、爱好、收入等方面概括实验三任务3所研发软件产品的典型用户群特征,他们表面需求,潜在需求都是什么?

类别 典型用户群特征
学历 大学本科生及以上学历
年龄 18-22
专业 计算机相关专业
爱好 编程、数据分析、算法设计
收入 2000-5000
表面需求 课程要求了解、代码分析
潜在需求 对相关代码及算法知识进行学习

(4)经过(1)-(3)的工作,你们一定有充分的理由给评价作业选择一个结论:a) 非常不推荐 b) 不推荐 c) 一般 d) 好,不错 e) 非常推荐

 * 通过对软件进行相对应的测试及分析,虽然软件基本要求满足了实验要求,但有些方面还需要进行相对应的改进。
 * 所以我给评价作业选择的结论是d) 好,不错

(5)结合(1)—(3)的评论体会,迭代改进本小组实验三的任务3。

改进部分为:

  • find函数:利用数据库进行数据查询

      def find(result=[]):
          win1 = tkinter.Toplevel()
          win1.title('查询数据')
          win1.geometry('500x300')
          sw = win1.winfo_screenwidth()
          sh = win1.winfo_screenheight()
          win1.geometry('+%d+%d' % ((sw - 500) / 2, (sh - 300) / 2))
    
          tkinter.messagebox.showinfo("结果如下", result)
          win1.destroy()
    

任务2:团队组建

  1. 在实验三结对基础上,结对小组两两自由组合,组建软件项目研发团队;
  2. 申请开通团队博客,点击链接(https://www.chaojibiaoge.com/U/url/7lxwx4sx)提交团队信息,将团队博客加入到班级博客;
  3. 阅读《现代软件工程—构建之法》第5章内容

任务3:完成《实验四 团队作业1:软件研发团队组建》博文作业

1、完成《实验四 团队作业1:软件研发团队组建》时间分配表

任务内容 计划共完成的时间(min) 实际完成时间(min)
团队初步组建 20 15
成员了解及确认组长 20 15
团队建成 80 85
实验流程规划 40 50
创建企业微信群 6 3
开通团队博客 60 80
报告撰写 300 290
博客互评 50 55
运行结对方实验三项目 90 120
阅读《构建之法》 70 60
博客园内容分工 30 40
博客园编写 60 100
反思及总结 30 15

个人总结:在本次实验中我们主要面临的问题是如何有效的,和谐的进行团队配合,但由于大家的配合度很高,所以我们的实验完成度很好。在这次实验中我也更加认识到了团队的重要性,我相信以后遇到这种团队项目,我会更加得心应手。

posted on 2022-04-10 20:09  *雨&……  阅读(26)  评论(0编辑  收藏  举报