201871030134-余宝鹏 实验四 团队作业1:软件研发团队组建

项目
内容
课程班级博客链接 班级博客
这个作业要求链接 作业要求
团队名称 泰山
团队的课程学习目标 1、通过团队项目学习软件工程
2、通过团队项目对软件开发有更深的认识
3、通过团队项目学习GitHub的一些团队操作
4、通过团队项目体会团队合作的优势
这个作业在哪些方面帮助团队实现学习目标 1、通过建立团队使团队成员都有参与感
2、通过软件开发提高编程能力
3、通过提交团队项目到GitHub学习其一些操作
4、通过团队合作学习对软件工程课程有更深的认识
团队博客链接 团队博客

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

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

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

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

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

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

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

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

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

  • 被评论作业的博客链接

    博客链接

  • 被评论作业的GitHub项目仓库链接

    仓库链接

  • 符合(1)要求的博客评论

  • 克隆任务3项目源码到本地机器以及符合(2)要求的代码核查表

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

    1. 克隆过程(参考这篇博客

      • 进入原作者的仓库

      • 点击clone,复制链接

      • 在Git Bush Here下输入git clone 原作者的链接

    2. 符合(2)要求的代码核查表

      1. 概要部分

        • 代码符合需求和规格说明么?

          代码符合部分需求,部分功能未能实现;缺少代码规格说明。

        • 代码设计是否考虑周全?

          设计过程中实现了部分功能,考虑周全但是未能全部实现其需求。

        • 代码可读性如何?

          代码可读性良好,注释较为充分。

        • 代码容易维护么?

          代码容易维护,实现代码比较简单,维护较为便利。

        • 代码的每一行都执行并检查过了吗?

          代码的每一行进行了检查并且顺利执行。

      2. 设计规范部分

        • 设计是否遵从已知的设计模式或项目中常用的模式?

          设计遵从软件项目中常用的PSP,设计过程严格按其执行。

        • 有没有硬编码或字符串/数字等存在?

          没有。

        • 代码有没有依赖于某一平台,是否会影响将来的移植(如Win32到Win64)?

          不依赖于某一平台,不影响将来的移植。

        • 开发者新写的代码能否用已有的Library/SDK/Framework中的功能实现?在本项目中是否存在类似的功能可以调用而不用全部重新实现?

          部分代码可以用已有的Library/SDK/Framework中的功能实现,在本项目中存在类似的功能可以调用而不用全部重新实现。

      3. 代码规范部分

        • 修改的部分符合代码标准和风格么?

          符合,在修改代码的过程中严格按照代码标准和风格修改。

      4. 具体代码部分

        • 有没有对错误进行处理?对于调用的外部函数,是否检查了返回值或处理了异常?

          在审查过程中,对错误代码进行了处理,对于调用的异常函数,也对其进行了调试。

        • 参数传递有无错误,字符串的长度是字节的长度还是字符(可能是单/双字节)的长度,是以0开始计数还是以1开始计数?

          参数传递没有错误。

        • 数据结构中有没有用不到的元素?

          数据结构中没有用不到的元素。

      5. 效能

        • 代码的效能(Performance)如何?最坏的情况是怎样的?

          代码实现了少部分的功能,但是实现部分效能良好。

        • 代码中,特别是循环中是否有明显可优化的部分(C++中反复创建类,C#中string的操作是否能用String Builder来优化)?

          在审查中,发现了循环里可优化的部分并将其进行了优化。

        • 对于系统和网络的调用是否会超时?如何处理?

          在实验过程中未出现超时情况。

      6. 可读性

        • 代码可读性如何?有没有足够的注释?

          代码可读性良好,注释较为充分。

      7. 可测试性

        • 代码是否需要更新或创建新的单元测试?针对特定领域的开发(如数据库、网页、多线程等),可以整理专门的核查表。

          在今后的学习过程中,需要继续实现未实现的功能,补充代码。

  • 符合(3)要求总结:A、B、C

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

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

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

    • A:软件功能实现良好,使用简单方便,GUI界面友好。

    • B:

      • 任务3要求的功能软件已经解决;

      • 软件在数据量/界面/功能上各有什么优缺点?

        界面友好,但是比较简陋,希望在今后的过程中可以提升一下;数据的处理较为准确;软件产品功能基本实现,希望添加一些附加功能。

      • 对该软件产品功能有什么改进意见?

        该软件产品功能实现较为全面,Web界面较为简洁,我觉得可以对界面进行提升!

    • C:任务3所研发软件产品的典型用户群是计算机行业的用户,大多数为学生,因为任务3是对D{0-1}KP问题的解决,对于学生而言,需要对这些经典问题进行研究,对其算法进行了解,任务3的完成可以为这些用户提供极大的便利。

  • 符合(4)要求结论

    e:非常推荐

  • 本小组任务3的GitHub项目仓库链接、项目迭代改进要点说明、项目仓库的Fork、Clone、Push、Pull request、Merge pull request数据变化情况(参考这篇博客

    1. Fork

      • 点击原作者仓库GitHub右上角的fork按钮,就会在你自己的GitHub中新建一个同名仓库

    2. Clone

      • 进入自己的页面,打开原作者的同名仓库

      • clone fork仓库到本地

      • 打开git bush here

    3. 本地库与原始库关联

      • 进入我们的项目文件夹: cd Experiment3_TwoPersonProgect

      • 添加与原始库的关联,命名为upstream,此地址是原项目开发者的项目主页上的clone的地址:这是专门用来与主开发者保持相同进度的方法

      • 从原始库中抓取最新的更新

    4. Push

任务2:团队组建

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

    • 队名:泰山

    • 宣言:黄河源头水,泰山顶上松,心中有信念,一定能成功

    • 团队成员组成

      成员学号末五位 成员*名 个人博客地址 备注
      10127 *金鑫 https://www.cnblogs.com/xiejinxin/ PM
      30134 *宝鹏 https://www.cnblogs.com/ybp7/ 文档
      10129 *文潇 https://www.cnblogs.com/zwx7968/ 开发
      30104 *祺 https://www.cnblogs.com/changqi1010/ 测试
    • 团队成员风采

      • 成员介绍

        姓名 风格 擅长技术及编程兴趣 承担的软工角色
        谢金鑫 善于言谈、管理、汇报 擅长C,python PM
        郑文潇 技术担当,能力突出 擅长C,python 开发
        余宝鹏 善于编写文档,PPT制作 擅长C,python 文档
        常祺 能力突出,性格低调 擅长C,Java,Javaee 测试
      • MSF的9点基本原则和团队成员绩效

        MSF(Microsoft Solution Framework):微软解决方案框架,也就是微软推荐的软件开发方法。

        1. 9点基本原则

          1. 推动信息共享与沟通(Foster open communications)
          2. 为共同的远景而工作(Work toward a shared vision)
          3. 充分授权和信任(Empower team members)
          4. 各司其职,为项目共同负责(Establish clear accountability and shared responsibility)
          5. 交付增量的价值(Deliver incremental value)
          6. 保持敏捷,预期和适应变化(Stay agile,expect and adapt change)
          7. 投资质量(Invest in quality)
          8. 学习所有的经验(Learn from all experiences)
          9. 与顾客合作(Partner with internal and external customers)
        2. 团队成员绩效

          ​ 在MSF团队模型中,任何技术项目都必须达到特定的关键质量目标,才能够被认为是成功的项目。任何一个角色无法实现其目标,都将危机整个项目。因此,每个角色都被认为是同等重要的,重要的决定都要共同做出。

    • 团队企业微信群

  2. 团队特色描述

    • 我们团队最大的特色就是:只有男生!!!所以在整个团队项目过程中,都需要更加细心;
    • 团队内部成员互相都熟悉,气氛相处融洽,每个人都尽力而为;
    • 在每个人的特长基础上进行明确的分工,在分工明确的基础上互相帮助。

任务3:完成《实验四 团队作业1:软件研发团队组建》各项任务实际花费的时间

PSP 任务内容 计划共完成需要的时间(min) 实际完成需要的时间(min)
Planning 计划 15 13
Estimate 估计这个任务需要多少时间,并规划大致工作步骤 15 13
Development 开发 110 130
Analysis 需求分析(包括学习新技术) 10 10
Design Spec 生成设计文档 10 10
Design Review 设计复审(和同事审核设计文档) 10 15
Coding Standard 代码规范(为目前的开发制定合适的规范) 10 10
Design 具体设计 10 15
Coding 具体编码 20 30
Code Review 代码复审 20 15
Test 测试(自我测试,修改代码,提交修改) 20 20
Reporting 报告 35 45
Test Report 测试报告 15 15
Size Measurement 计算工作量 8 10
Postmortem & Process Improvement Plan 事后总结,并提出过程改进计划 12 20
posted @ 2021-04-20 23:08  201871030134-余宝鹏  阅读(54)  评论(0编辑  收藏  举报