201871030140-朱婷婷 实验四 团队作业1:软件研发团队组建

项目 内容
课程班级博客链接 班级博客
这个作业要求链接 实验四 团队作业1
团队名称 佩琪小分队
我的课程学习目标 1. 完成实验三作业互评;
2. 组建软件项目研发团队。
这个作业在哪些方面帮助我实现学习目标 1. 通过互评和阅读其他同学的代码,增强了学习能力;
2.提高了合作交流能力,增强了自己的合作意识;
3.通过互相借鉴学习,找到自身不足的地方并加以改正。
团队博客链接 团队博客

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

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

  • 被评论作业的博客链接:博客链接

  • 对博文作业的评论如下图所示:

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

  • 被评论作业的GitHub仓库连接:仓库链接

  • 代码的运行结果:

    • GUI界面:

    • 数据的查询:

    • 散点图的绘制:

    • 排序:

    • 选择算法求解:

  • 项目代码中的Bug:

    1.读出的数据与所给文件中的不一致;


    2.由于文件中的数据读取错误,绘制的散点图是错误的;

    3.排序结果不准确;

    4.算法求解结果不正确,最优解和最大价值都为0;

    5.从不同的文件中读出的数据都是一样的。

    6.只实现了动态规划算法求解折扣背包问题,不能选择其他算法进行求解。

  • 代码核查表:

    1.概要部分
    (1)代码能符合需求和规格说明吗?
    (2)代码设计是否有周全的考虑?
    (3)代码可读性如何? 较好
    (4)代码容易维护吗? 容易
    (5)代码的每一行都执行并检查过了吗?
    2.设计规范部分
    (1)设计是否遵从已知的设计模式或项目中常用的模式?
    (2)有没有硬编码或字符串/数字等存在? 没有
    (3)代码有没有依赖于某一平台,是否会影响将来的移植(如Win32到Win64)? 没有
    (4)开发者新写的代码能否用已有的Library/SDK/Framework中的功能实现?
    (5)在本项目中是否存在类似的功能可以调用而不用全部重新实现?
    (6)有没有无用的代码可以清除?
    3.代码规范部分
    (1)修改的部分符合代码标准和风格吗(详细条文略)? 符合
    4.具体代码部分
    (1)有没有对错误进行处理?对于调用的外部函数,是否检查了返回值或处理了异常?
    (2)参数传递有无错误
    (3)边界条件是如何处理的?循环有没有可能出现死循环? 无死循环
    (4)有没有使用断言(Assert)来保证我们认为不变的条件真的满足? 没有
    (5)有没有可能优化?
    (6)数据结构中是否有无用的元素?
    5.效能
    (1)代码的效能(Performance)如何?最坏的情况是怎样的? 较好
    (2)代码中,特别是循环中是否有明显可优化的部分?
    (3)对于系统和网络调用是否会超时?如何处理?
    6.可读性
    代码可读性如何? 较高
    7.可测试性
    代码是否需要更新或创建新的单元测试?

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

  • 软件用户界面的评价标准:

① 尽快提供可感触的反馈系统状态;

② 系统界面符合用户的现实惯例;

③ 用户有控制权;

④ 一致性和标准化 ;

⑤ 适合各种类型的用户 ;

⑥ 帮助用户识别、诊断并修复错误;

⑦ 有必要的提示和帮助文档 。

  • 分析任务:

    A. 体验任务3实现软件功能,简要描述软件的使用过程,上传使用软件的照片;

      将被评论小组的源代码下载到本地机器上,编译无误后运行,出现如下图所示的页面:

      

      用户可以输入需要读取的文件名称(如1.txt),输入需要读取第几组数据,然后选择需要进行的操作,有以下四个选项:①进行数据的查询,②绘制数据散点图,③对数据进行排序,④选择算法来求解。选择好之后点击确认按钮就能实现上述四个功能。

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

      ①设计实现了GUI界面,界面清晰,操作简单,并且实现了文件读取、散点图的绘制、动态规划法求解,但是结果存在一些问题;数据库的连接这部分功能没有完整实现。

      ②软件实现的功能不完整,只实现了要求的部分功能;设计的页面简单易懂,但是不够美观。

      ③该软件的界面可以设计得更美观一些,其中一些功能再加以完善,如数据库的连接、遗传算法和回溯法求解问题。

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

      职业:大学生、职场新人等
      学历:专科、本科及以上学历
      年龄:18岁以上
      专业:计算机相关专业
      爱好:喜欢编程,编写软件项目。
      收入:0-5000

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

  e)一般,根据博客内容可以看出此软件实现了要求的功能,下载运行源代码后发现此软件实现了其中的一部分功能,而且在我使用的过程中出现了结果错误、数据不准确、部分功能未实现等问题,因此从各方面综合来看此软件一般。

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

  根据我们小组对项目的完成情况,并结合上述评论体会,迭代改进了本小组的实验三任务3的内容。之前的代码实现了要求中的一部分内容,用户可以选择用动态规划法或者回溯法求解问题的解,因此在这次改进后添加了一个选择算法的页面,但是整体的代码还存在问题,需要再进行迭代修改。
  本小组任务3的Github项目仓库链接:仓库连接

  

任务2:组建团队

  1. 在实验三结对基础上,结对小组两两自由组合,组建软件项目研发团队;

    • 队名:佩琪小分队

    • 团队成员:

      成员学号末五位 成员*名 个人博客地址 备注
      30109 *诚 博客地址 组长(PM)
      30133 *作朝 博客地址 开发
      30118 *云云 博客地址 测试
      30140 *婷婷 博客地址 文档
    • 阅读《现代软件工程—构建之法》第7章、第17章,理解MSF的9点基本原则和团队成员绩效:

      MSF(微软解决方案框架)的基本原则:

      ① 推动信息共享与沟通;

      ② 为共同的远景而工作;

      ③ 充分授权和信任;

      ④ 各司其职,对项目共同负责;

      ⑤ 交付增量的价值;

      ⑥ 保持敏捷,预期和适应变化;

      ⑦ 投资质量;

      ⑧ 学所有的经验;

      ⑨ 与顾客合作。

    • 组建团队企业微信群并给出群成员截图:

  2. 申请开通团队博客,点击以下链接提交团队信息,将团队博客加入到班级博客;

  3. 成员风采:

    介绍每位队员的风格、擅长技术、编程兴趣、希望的承担的软工角色(文档、开发、测试、PM等)、宣言等。

  4. 阅读《现代软件工程—构建之法》第5章内容。

    • 软件团队的模式:

    主治医师模式、明星模式、社区模式、业余剧团模式、秘密团队、特工团队、交响乐团模式、爵士乐模式、功能团队模式、官僚模式。

    • 开发流程:

    写了再改模式、瀑布模型、统一流程(RUP)、老板驱动的流程、渐进交付的流程等。

总结

  在本次实验中,通过互评和阅读其他同学的代码,增强了我的学习能力;通过阅读《构建之法》了解了团队模式和MSF,在团队组建的过程中,提高了我的合作交流能力,同时也增强了自己的合作意识。通过互相借鉴学习,结合其他同学的代码和博客,找到自身不足的地方,并且加以改正,在完成实验的整个过程中我收获了很多!

posted on 2021-04-21 08:34  Rairy  阅读(75)  评论(0编辑  收藏  举报