• 201771030124-温腾虎 实验四 软件项目案例分析


    项目 内容
    课程班级博客链接 https://edu.cnblogs.com/campus/xbsf/nwnu2020SE
    这个作业要求链接 https://www.cnblogs.com/nwnu-daizh/p/12616341.html
    作业学习目标
    (1)学习团队软件项目流程(TSP)、团队成员协作要求。

    (2)掌握敏捷流程原则及相关概念。
    这个作业在哪些方面帮助我实现学习目标
    (1)了解团队开发的大致流程,明确团队的重要性

    (2)学会各种开发模型的大致特点并准备实际应用

    (3)学习其他团队的优点
    结对方学号-姓名 201771030108-廖堃焱
    结对方本次博客作业链接

    任务1:实验三优秀案例: 张芹&李佩杉组

    项目 内容
    案例作业博客链接 https://www.cnblogs.com/zhangqin1
    案例作业项目仓库链接 https://github.com/lipeishan82/EPS

    (1)对案例博文作业进行阅读并进行评论,评论要点包括:博文结构、博文内容、博文结构与PSP中“任务内容”列的关系,并将以上评论内容发布到案例作业的博客评论区。
      合作双方的博文作业结构、内容等方面基本一致作业完成的都很认真。

    TIM20200407011902.jpg
    张芹博客评论
     
    804d9dda0d771e1d9b3d9f522f8b0d4f.jpg
    李佩杉博客评论
     

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

    af2fb30fa803a5d2dd62e3a9e9290e4f.jpg
    导入项目
     
    14c30a1a07bea7c499f88f7e6b8d28d1.jpg
    导入数据库
     
    _20200410213233.png
    登录
     
    _20200410180343.png
    打卡超时
     
    _20200410163553.png
    管理员后台
     
    _20200410180428.png
    查询感染者
     
    f061c4e58958eac7f11db9987eb00875.jpg
    某一天学院填报的情况
     
    e9567e4a36ccae79b09770ba81b0ba1c.jpg
    查询具体某一天
     
    526e1b93f833bbb939738d2e56b71bb4.jpg
    复合查询
     
    83a57b7abdd086af0d1c03b91fcfa032.jpg
    导出表格
     
    1fb0bd99706191a7a2e20d0bc93f5df4.jpg
    表格位置
     

      软件功能总结:过基本的使用发现,该系统的功能较为完善,学生、教师等普通用户可以疫情防控信息的填报,系统也提供了信息填报的定时提醒功能;各学院负责人或学校负责人可以登录后台查询本部门或学校成员的疫情防控信息填报情况。同时,项目在GitHub中也提供了数据库与代码规范说明,项目的博客也能较好的帮助项目的运行与理解。总的来说的确是一次成功的结对编程项目。

      一个小问题,按日期查询的时候年月日中间是没有短线的,但是显示和导出等功能是有短线的,这会造成误解,不了解的会加上短线,导致查询失败,如下图:

    5c60e7d2479294ebf9384d4afbd43055.jpg
    失败的查询
     

      另一个小问题,导出表格的时候永远导出的是1.xls,这就会存在一个问题,第二次导出的会覆盖第一次的记录,如果多次导出就会只有一次的,如下图:

    19dd3b61e7a59ad7d.jpg
    第一次导出
     
    2a677739145f8378c.jpg
    第二次导出
     

      第三个小问题:针对最后在防控办信息统计中的各院的填报信息的可视化方面,没有仅仅实现的是各个学院全部日期的信息统计,在当天各个学院的信息填报情况的数据可视化上还是没能实现。

    3c822e11c22c5db769c7f4455b5a4a5b.png
     

      第四个小问题:填报过的还会重复提醒

    15e3a72977e56fcb0b9424e4afb1a180.pnga24d693c1442f5d24352be1236b9e60a.png
    重复提醒
     
    (3)总结本组实验三博客作业及代码设计存在问题与不足
    通过学习优秀的小组项目我发现了我的许多不足:
    • 我的博客在对比之后很不美观,图片过于庞大,不协调,页面也不够精美;
    • 开发的项目也有不足,学号是可以无限重复的,很多个人用同一个学号,且可以不同的学院,完全不受影响,在实际的学校中是不可能存在的。此外因为设计的有根本问题,查询的时候比较慢,不够方便,之后就是没有实现定时提醒的这一很有用的功能,在实际的情况下使用率是很高的;
    • 最后,我认为我们还有提高空间,尤其是在对比了别的组优秀的项目之后,使我更加清楚的认识到我们和优秀之间的差距,从各个方面来说都很有提升的空间和必要,我会在之后的项目中向优秀靠。

    任务2:与实验三结对伙伴协作学习

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

    1_LI.jpg
    讨论1
     
    2_LI.jpg
    讨论2
     
    3_LI.jpg
    讨论3
     
    4_LI.jpg
    讨论4
     
    个人理解:

    1、我过去怎么做的;认为团队开发就是平均分任务
    2、结合书中所讲,这样有什么不好:这样不能合理地发挥每个人的优点,而且最终也不能保证程序的完整性以及可靠的运行
    3、提出一个解决办法,避免再次掉入陷阱:掌握项目框架,选择合理的团队模式,对开发来说会有很大帮助

    任务3:从博客园的三个班级中选择一个高质量的团队项目案例进行协作学习。

      我们选的是2016级计算机科学与工程学院软件工程 (西北师范大学)班级的团队

    项目 内容
    团队项目作业发布账号链接 https://www.cnblogs.com/xiaotuantuan
    团队项目仓库github链接
    https://github.com/XTTTD/work6

    (上传没在同一个仓库内,稍有不适)
    陈述你选择该团队项目进行分析的理由
    (1)这个项目内容新颖,而又贴近学校生活

    (2)团队配合好,完成度高

    (3)本校学长比较熟悉,有问题可以及时沟通咨询
    结合项目系列博客文档,总结项目团队成员的分工合作情况 a4bc2eedd620021bdd040007819854da.jpg
    结合项目系列博客文档,评价项目的软件项目过程特点(TSP) 通过博文可以发现,项目团队成员前期对团队的目标不确定,中途更改过项目,但后期很坚定的一直走了下去,而且项目团队有着很好的自我管理能力,成员根据自己的实际情况去制定计划和承诺,并且很好的完成了既定目标,但是在技术的选择不太好,由于项目团队个别成员压力太大,并且在学习新技术上花费的时间也就比较多。
    观察该团队项目github仓库的源代码文件结构,是否包含代码规范文档? 通过仔细查找可以发现在GitHub里上传了《软件编码说明书》即代码规范文档;此外博客也详细的记录了开发项目的全部过程,从前期的需求分析设计,到编码实现都有详细的记录,十分清楚,每次的sctum meeting也有详细的记录并且还有照片为证,十分认真。
    评价该团队项目是否值得继续开发,并陈述理由? 我认为该项目有继续开发的必要,首先该项目题意新颖而又贴近生活,是老师和同学们的好帮手,且操作简单,使用者阅读一下使用手册就能很快上手,现在恰好又是疫情期间,大家不方便见面,如果有了这套系统就可以在家做老师上传的题目,并且现在提倡节约环保,无纸化是将来的趋势,该系统可以提供帮助。

    下载团队项目代码,尝试部署项目运行环境并使用软件,描述最简单直观的使用体验,在博客中展示截图

    4475ba69c24a00d95ae1866c11312e95.png
    管理员登录
     
    2666fa3e68a40bb133510bd7c5e09fe4.png
    教师登录
     
    67d13676e0d115a482610013d2a0a226.png
    增加人员
     
    adb85ca1e8311134f44e55b9f6874e3d.png
    删除人员1
     
    282c354d18b1d7666.png
    删除人员2
     
    d867b08b21462d11770b7cb9391092cb.png
    修改人员
     
    d5c1924baa9471d291f7f55fe8f80646.png
    添加试卷
     
    f9fd15d1b5093ab1160e5649e9220283.png
    审核试卷
     
    a0dcc19654f453831f05199455cae6fc.png
    删除试卷
     
    5d89f7c9fd7ecbc322cdb3d6d7c5eeef.png
    添加试题1
     
    25effd606d608f2d0.png
    添加试题2
     
    28f3d09da48f5f3ea4cacd483b690109.png
    打印试题
     

      这是一个非常好的项目,简约而不简单,目标用户明确,功能十分齐全,舍弃了一些不是必需的繁杂功能,减少项目复杂度,适合大部分的情况。该项目也和当下的疫情十分匹配,在家就能做老师精心筛选的或自己出的题目,十分具有前瞻性。无论是博客还是使用手册都十分详细且规范,每一次进展都记录了下来,很是认真。

    任务4:完成《实验四 软件项目案例分析》博文作业。

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

    项目 消耗时间
    任务一 3h
    任务二 3h
    任务三 8h
    任务四 4h

      任务一环境一致且代码质量都比较高,耗时较短;任务二是在课上就有了较为深刻的了解,所以读的时候也比较快;任务三由于多组项目比较,且环境不一致所以耗时较为长。

    总结

      在本次作业中,通过对其他小组结对项目的分析,发现了自己在做项目的时候技术不过关且想法天马行空,不能脚踏实地认真朴素,也了解了编码还需要加强,看到别人的合作的代码很规范,学到了代码规范的重要,更有利于团队的合作。
      后来又读了《现代软件工程—构建之法》我对软件的理解又加深了,对软件项目团队的开发流程、模式有了更为深刻的了解,TSP原则使我印象深刻,认为对我之后的学习很有帮助,为日后的多人团队合作打下了基础,希望在之后的项目中能避免犯错误,团队项目顺利进行。

  • 相关阅读:
    聊聊软件架构
    聊聊Docker
    segment fault异常及常见定位手段
    Linux设备驱动故障定位指引与实例
    C语言switch/case圈复杂度优化重构
    Linux设备驱动框架设计
    TLA+和并发系统正确性验证
    linux kexec内核引导
    Linux中断子系统:级联中断控制器驱动
    软件性能优化方法汇编
  • 原文地址:https://www.cnblogs.com/Vereda-Tropical/p/12650906.html
Copyright © 2020-2023  润新知