zoukankan      html  css  js  c++  java
  • 201771030116-乔昊 实验四 软件项目案例分析

    项目 内容
    课程班级博客链接 https://edu.cnblogs.com/campus/xbsf/nwnu2020SE
    这个作业要求链接 https://www.cnblogs.com/nwnu-daizh/p/12616341.html
    我的课程学习目标 (1)学习团队软件项目流程(TSP)、团队成员协作要求。(2)掌握敏捷流程原则及相关概念。
    这个作业在哪些方面帮助我实现学习目标 发现问题,然后在实践中认识到问题,再去解决问题的过程
    结对方学号-姓名 201771030112-刘永胜
    结对方本次博客作业链接 https://www.cnblogs.com/liuyongsheng-0112/p/12671571.html

    任务1:实验三优秀案例推荐:

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

    1. 所选案例博客链接:https://www.cnblogs.com/hackerZT-7/p/12544280.html

    2. 所选案例仓库链接:https://github.com/YHwzt/Query-system-web

    3. 评论如下图所示:

    4. 下载代码到本地。运行结果如下如所示

    (1)项目运行结果截图

    (2)配置数据库文件截图


    (3)对于该系统软件功能总结
        首先结合实验三所要求的需求,该系统基本上全面完成了所需的要求。学生、教师等普通用户可以疫情防控信息的填报,同时也完成了附加功能(信息填报的定时提醒功能)。该功能我觉得做的很棒。在Github上面,提交的文档也很全面,项目代码也很规范,同时参考博客说明,可以很好地理解该系统,也可以帮助代码的理解。
    5. 本组实验三博客作业及代码设计存在问题与不足
        通过观摩其他小组的博客极其代码,我认为我们组的博客没有清楚地展示出系统的功能,没能简要概况系统的主要目标。还有就是在博文总体内容结构上有点胡乱,没有清晰有条理的介绍。其次是代码的问题,由于实验三功能复杂,要考虑的问题很多,所以有些功能还有bug,而且附加功能还未实现,比如在用户登录时就要判断是什么用户,然后在填报信息的时候“用户栏”默认用户登录的名字,而不是重新填一遍;还有一个问题是所有用户都用了同一个填报的界面,存在混乱。
        总体来说,通过实验三和本次实验,更加熟悉了在开发过程中要注意的问题,应该顾及很多方面,尤其是用户体验,而不是一味的写代码,这些问题是我们在以后的项目实践中所要改进的问题

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

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

    1.理解并掌握软件项目团队的特点

    项目团队的特点是:(1)具有明确且有挑战性的共同目标,团队具有很强的凝聚力;(2)具有融洽的交流环境,具有共同的工作规范和框架,采用合理的开发过程。
    

    2.了解软件团队的模式

    a.一窝蜂模式:像小朋友踢球一样,球在哪里,人就一窝蜂跟在哪里,是一种欢乐而随意的形式。
    
    b.主治医师模式:各司其职,为主治医师服务。像在手术台一样,有一个主刀医师,其他人负责协助主刀医师。
    
    c.明星模式:主治医师模式运用到极点。
    
    d.社区模式:由很多志愿者参与,每个人参与自己感兴趣的项目,贡献力量,大部分人不拿报酬。
    
    e.业余剧团模式: 每个团队在不同的项目会挑选不同的角色。
    
    f.秘密团队:每个人在秘密条件下进行,别人不知道他们具体在做什么。
    
    g.特工团队:软件团队由一些有特殊技能的专业人士组成,负责解决一些棘手而有紧迫性的问题。
    
    h.交响乐团模式:各司其职,想交响乐队一样。
    
    i9.爵士乐模式:与交响乐模式存在相当多的对立。
    
    j.功能团队模式:具备不同能力的同事们平等协作公共完成一个功能。
    
    k.官僚模式:脱胎于大机构的组织架构,几个人报告给一个小头目,几个小头目报告给中头目,依次向上。小头目-->中头目-->大头目。
    

    3.结合理论课学习内容理解瀑布模型及其变形、渐进交付流程、敏捷流程等典型软件过程模型特点:

        (1)瀑布模型:如下图所示,该模型将软件生存周期的各项活动规定为按固定顺序而连接的若干阶段工作,形如瀑布流水,最终得到软件产品。其过程是将上一项活动的输出作为该项活动的输入,利用这一输入实施该项活动应完成的内容,然后对当前活动的工作结果进行验证,如果验证通过,则该结果作为下一项活动的输入,继续进行下一项活动,否则返回修改。

    传统瀑布模型的特点:

      a)为项目提供了按阶段划分的检查瀑布模型查点。
    
      b)当前一阶段完成后,只需要去关注后续阶段。
    
      c)可在迭代模型中应用瀑布模型。
    
      d)它提供了一个模板,这个模板使得分析、设计、编码、测试和支持的方法可以在该模板下有一个共同的指导。
    

        (2)渐进交付流程:是一个不断重复和迭代的过程,指的是当系统的主要需求和框架明确后,团队进入一个不断演进的循环中。
        (3)敏捷流程:敏捷开发的过程有着更强的适应性而不是预设性,敏捷开发的过程中,更加的注重人的因素,在敏捷开发的过程中,整个项目是测试驱动的而不是文档驱动的。敏捷开发的第一个好处,就是早期交付,从而大大降低成本。第二个好处是,及时了解市场需求,降低产品不适用的风险。

    4.理解并体会卡内基梅隆大学(CMU)软件工程学院总结的TSP原则

        循序前进的原则;具体地说,TSP的目标是为创建具有自我管理能力的群组,管理人员要善于引导和激励群组的全体成员使他们能发挥自己的最高水平,在TSP中,讲述了如何创建高效且具有自我管理能力的工程小组,工程人员如何才能成为合格的项目组成员,管理人员如何对群组提供指导和支持,如何保持良好的工程环境使项目组能充分发挥自己的水平等软件工程管理问题。

        两人讨论任务2学习内容的截图

    任务3:在班级博客园,有很多高校的软件工程课程要求同学们完成团队项目:

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

    1.团队项目作业发布账号链接:

    https://www.cnblogs.com/snxfd/p/11013964.html

    2.团队项目仓库github链接:

    https://github.com/snxfd123/designfile

    3.陈述你选择该团队项目进行分析的理由:

        由于是本校大四学生所开发的,所以和开发者联系比较方便,而且还可以进行本项目的指导。其次,通过此团队项目,可以学习web应用的开发。

    4.结合项目系列博客文档,总结项目团队成员的分工合作情况

    该项目团队共四人
    姚玉婷:各种功能后端的实现。
    马丽莎:前端与后台的连接功能的实现
    张 琼:各种功能的测试
    孙苗坤:数据库的设计与实现同时编撰文档

    5.结合项目系列博客文档,评价项目的软件项目过程特点(TSP)

    从项目博客和文档来看,该项目的过程特点主要有以下几点:
    (1)每个团队成员分工明确,同时每个成员尽职尽责。
    (2)每日的工作任务分工非常明确,并且能按时进行项目的进度。
    (3)项目团队成员根据自己的实际情况去制定计划和承诺,而且项目团队有着很好的自我管理能力。虽然团队之间存在技术的问题,但通过他们的博客来看,可以很好的交流

    6.观察该团队项目github仓库的源代码文件结构,是否包含代码规范文档?

    包含完整的规范文档,如下图所示:

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

    下载到本地,然后将项目部署到本地服务器上运行之后,如下图:
    克隆

    主界面如下:

    其他功能展示:



        未找到bug。
        体验:体验非常好,功能完美,各种功能都很有人性。

    8.评价该团队项目是否值得继续开发,并陈述理由?

        不值得开发,但值得学习代码。应为项目功能基本已经完善,不存在其他功能上的错误,也不存在某些功能上的欠缺。但可以将代码部署到本地,学习代码,同时利用文档学习一个项目的开发的流程,以及如何编撰规范的文档。

    任务4.PSP

        各个任务的时间安排

    项目 内容
    任务一 2小时
    任务二 10小时
    任务三 6小时

    任务5.感受和体会

        通过阅读其他学校和本校其他学生的项目,了解了团队项目开发的基本流程,对团队成员之间的分工协作形式等有了更加深刻的了解,学习了如何更好地进行团队之间的协作和配合。并且了解了如何撰写规范的文档,理解了一个文档在项目中扮演的作用。通过此次实验,为以后的团队开发提供了许多经验,同时我们也从中了解到了一些基本的错误与不足。

  • 相关阅读:
    Head First设计模式-单例模式
    mahout算法源码分析之Itembased Collaborative Filtering(四)共生矩阵乘法
    “非常PHP学习网”(www.veryphp.cn)一期上线
    IOS深入学习(19)之View object
    POJ 1005(累加)
    Plan04.学习与提升
    一个python
    【tcl脚本】改变输出字符格式
    为什么寄存器比内存快?
    我觉得epoll和select最大的区别
  • 原文地址:https://www.cnblogs.com/Qiaohao501/p/12674543.html
Copyright © 2011-2022 走看看