201771030105-范铂真 实验四 软件项目案例分析

项目 内容
课程班级博客链接 https://edu.cnblogs.com/campus/xbsf/nwnu2020SE
这个作业要求链接 https://www.cnblogs.com/nwnu-daizh/p/12616341.html
我的课程学习目标 学习团队软件项目流程(TSP)团队成员协作要求。掌握敏捷流程原则及相关概念。
这个作业在哪些方面帮助我实现学习目标 学习别人的案例发现自身不足
结对方学号-姓名 201771030126-王元宗
结对方本次博客作业链接 https://www.cnblogs.com/Wyuanzong/p/12661276.html

任务一:优秀案例学习

在实验三得分100分以上作业中,任选一份作为案例,对案例项目成果进行评价:

(1)对案例博文作业进行阅读并进行评论,评论要点包括:博文结构、博文内容、博文结构与PSP中“任务内容”列的关系,并将以上评论内容发布到案例作业的博客评论区。

(2)克隆案例项目源码到本地机器,阅读项目代码规范文档并运行代码,总结代码运行中存在的问题,体会案例博文是否有助于项目代码理解。

1.克隆项目到本地:

2.阅读项目代码规范并运行截图:

  • 主页面:

  • 学生登录和疫情上报(教师疫情上报情况和学生相同):

  • 填报数据的时间不符合每天10点之前填报,但仍可以正常填报:

  • 若当天重复上传

  • 学院负责人登陆查看本学院情况并向学校防控办提交:

  • 按下提交按钮可以向学校防控办提交本学院信息。

  • 学校防控办登陆和查看所有信息:(这里学校防控办信息的查看有问题,没有及时更新)

  • 图形绘制:(这里疫情信息的图形绘制不在疫情上报项目中,为单独的一个项目)

  • 学生疫情信息导出:(这里疫情信息的导出不在疫情上报项目中,Excel的导出和图形绘制为单独项目)

3.系统功能总结:

  • 系统功能总结设计图如下:可以看出系统本身是按照实验要求在设计和实现的。通过阅读作者的博文,我可以清楚的了解他们的设计。每一个类都做了说明。我在运行项目的过程中,系统本身不存在代码部分的错误,并且可以看出他们设计本身的逻辑和设计想法。都是符合项目实验要求的。
  • 但是有一些地方没有很好的实现。比如:学校防控办信息的查看并不及时更新,查看的信息与数据库内容有出入,并且数据导出和图形绘制也是单独完成的,存在一些问题。

(3)总结本组实验三博客作业及代码设计存在问题与不足,列举代码中存在的bug,未实现的功能等等。

  • 1.学校防控办信息更新不及时,虽然信息可以正确的填入系统,但是在学校防控办查看时并没有显示。

  • 2.疫情绘图和导出不是在疫情上报系统中完成的,这里的导出按钮按动没有效果。绘图功能和导出功能本身是一个单独的项目,可以通过连接数据库进行数据导出,而且图形绘制并不符合实验要求。

  • 3.定时填报内容并没有实现,我测试的时间并不符合十点之前,但依然显示填报成功。

  • 4.教师信息表没有设计主键,实际运行过程中没有出现什么错误。

任务二:结对讨论

与实验三结对伙伴协作学习:阅读《现代软件工程—构建之法》第5-6章内容,理解并掌握软件项目团队的特点、了解软件团队的模式、结合理论课学习内容理解瀑布模型及其变形、渐进交付流程、敏捷流程等典型软件过程模型特点,理解并体会卡内基梅隆大学(CMU)软件工程学院总结的TSP原则;

  • 团队以及团队模式的讨论


  • 瀑布模型及其变形以及MVP/MBP讨论
  • 渐进交付流程和敏捷模型的讨论
  • TSP原则的讨论

任务三:结对学习

在班级博客园,有很多高校的软件工程课程要求同学们完成团队项目,请与实验三结对伙伴协商,在以下三个班级中选择一个高质量的团队项目案例进行协作学习,要求追踪该团队项目发布所有博客作业,下载项目软件代码。

团队 内容
团队选择 2019秋福大软件工程实践Z班(福州大学)
团队项目作业发布账号链接 https://www.cnblogs.com/031702318fzu/
团队项目仓库github链接 https://github.com/licheng1997/031702318-031602329
  • 3.陈述你选择该团队项目进行分析的理由。
    此团队的实验思路清晰,从作业要求来看,就是先做一棵树,以导师为根节点,往届学生为子节点。他们使用谷歌浏览器做了单元测试,我们之前在单元测试方面经验不足,所以在单元测试方面可以学习一些知识。

  • 4.结合项目系列博客文档,总结项目团队成员的分工合作情况.
    蒲政林:代码编写 李程:测试,后续更新
    这是他们项目初期的分工,在博客最后他们对自己的队友也做出了评价 :队友太强了,我要加强学习赶上我的队友。
    改进的地方:加强团队沟通,一起努力将当初的原型实现。
    Pr0Sk1er的感受:难,很难,非常难。从0到学了点皮毛,真的非常花时间,即使如此,还是有很多不懂的地方。
    路漫漫兮。对队友的评价:很拼。我俩之前均没有接触过前端工作,经历了这次作业,明显感觉到,大家学到了很多。
    他们没有很清晰的写出具体分工,在蒲政林同学代码编写后,李程同学也进行的60min的代码复审,通过github中没有发现两人的合作记录,并且只使用了一个github账号,应该是共同做完之后上传了到了李程同学的github。他们的具体分工并不是很清晰详细,互相沟通不够及时,在后期做出的项目结果与实验预期对比稍有不足。

  • 5.结合项目系列博客文档,评价项目的软件项目过程特点(TSP)依据TSP七原则。
    该团队项目不存在太大的问题,他们使用了较为妥善定义的流程,流程中的每一步都是可以重复、可以衡量结果的。团队的各个成员对团队的目标、角色、产品都有统一的理解,根据我对他们博客的浏览,在需求分析阶段就已经有了明确的显示。他们团队使用脚本程序完成了本次项目。而且制定了切合实际的计划和承诺,团队计划是由负责具体执行的的角色来制定,不是由团队领导人制定。团队会组织每日例会,团队的自我管理能力较强。但是不专注于提高质量,项目界面、操作方面都存在一些问题,没有很有效提高质量,在设计工作方面不够全面细致。

  • 6.观察该团队项目github仓库的源代码文件结构,是否包含代码规范文档?
    github仓库
    该团队项目在github仓库的源代码文件有index.html、index.js、README.md,在README.md中,写的不是很规范,index.js使用浏览器脚本语言,浏览器获取并加载页面,从上至下解析它的内容。在github仓库中没有上传代码规范。

  • 7.下载团队项目代码,尝试部署项目运行环境并使用软件,描述最简单直观的使用体验,找出至少两个比较严重的功能性bug,在博客中展示截图
    下载代码运行结果
    1.需求界面

    2.树的界面



    在使用过程中我发现,填写生成树信息界面显示不美观,只有一个小框并且用户在填写自己想生成的师门树时,极为不方便,程序可以一次生成多个师门树,但是程序已经规定死了用户填写生成树信息的格式,不能根据自己的需求改变,在程序中,出现重名、数字、字母也不会报错或者提示,还有就是同一类型的学生(本科生,硕士生,博士生)缩进会出现显示错误。在单元测试方面没有太大的问题。

  • 8.评价该团队项目是否值得继续开发,并陈述理由?
    该团队项目是一个小型项目,在现实生活中使用并不是很多,而且不是很方便流畅,首先可以做一些界面美化的改进,适当增强一下功能,比如校园树,班级树,公司职员树这样的大型树,并且给这些树的分支成员做一个名片或者超链接,里面有该分支成员的详细数据。由于这样数据太大,所以数据不需要再手动输入,数据可以使用其他的导入方式,只需要导入数据,立刻生成数据树,这样的功能可以为一些大型项目提供服务,是一个不错的功能模块。

记录完成《实验四 软件项目案例分析》各项任务实际花费的时间。

任务一:由于运行环境和代码下载的问题,花费的时间比预估稍微多了一些。3小时
任务二:两人聊天讨论花费时常:2小时
任务三:分析和运行总共花费:5小时

实验小结:

本次实验一共三个任务,每个任务都给我很多收获。
1.优秀案例分析:通过学习优秀项目可以看到自己在设计过程中有什么部分考虑的不到位,用户使用感并不是特别好。也能总结出自己和对方的不同点。
2.结对阅读:自己看书的过程总有问题出现,结对阅读的优点在于可以随时和自己的伙伴讨论书中有疑问的地方。这一点在我们讨论的过程中我就体会到了。两个人可以一起学习很好概念,即使很难理解也可以讨论这来学习。
3.高质量优秀团队追踪学习:确实应该多了解一下别人的团队和学校在做项目的内容和过程。在学习过程中可以用自己作为用户的角度去看一个项目。项目具体是怎样设计的,有哪方面合理,哪些方面不合理。是否有值得学习的地方。这都是在以前没有感受到的。

原文地址:https://www.cnblogs.com/Februaryy/p/12660089.html