201771030104-道彤阳 实验四 软件项目案例分析

内容 项目
课程班级博客链接 https://edu.cnblogs.com/campus/xbsf/nwnu2020SE
这个作业要求链接 https://www.cnblogs.com/nwnu-daizh/p/12616341.html
我的课程学习目标 (1)学习团队软件项目流程(TSP)、团队成员协作要求。(2)掌握敏捷流程原则及相关概念。
这个作业在哪些方面帮助我实现学习目标 学习并理解了团队软件项目流程,敏捷流程原则和概念
结对方学号-姓名 201771030108—鲁斌
结对方本次博客作业链接 https://www.cnblogs.com/XuWang-000/p/12673040.html

任务一

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

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

  • 案例作业项目仓库链接
    https://github.com/YHwzt/Query-system-web

  • 代码克隆

  • 代码运行

    (1)代码框架

    (2)代码规范

    (3)注册

    (4)登陆

    (5)添加

    (6)统计图

  • 代码总结
    (1)实现用户注册。
    (2)用户注册时分级。
    (3)可实现不同角色分别登陆。
    (4)学生/教职工可填报疫情信息。
    (5)二级部门管理人员可以实现查看疫情信息。
    (6)疫情信息支持多属性可视化查看。
    (7)可实现人员添加功能。
    (8)可导出疫情信息。
    (9)可实现填报提醒。

3.总结本组实验三博客作业及代码设计存在问题与不足,列举代码中存在的bug,未实现的功能等等。
(1)博客作业不管是博文结构还是博文内容,都符合老师的要求,而且表达清晰,思路缜密;
(2)代码符合代码编程规范,基本功能和附加功能都得到了很好的实现,还实现了实验中没有要求的功能;
(3)我们组实现了基本功能,附加功能基本没有实现,通过案列博客的学习,本组项目还有很多需要改进;

任务二

1.软件项目团队的特点:
(1)团队有一致的集体目标,团队要一起完成这目标。
(2)团队成员有各自的分工,互相依赖合作,共同完成任务。

2.软件团队的模式:
(1)主治医生模式(一人主刀,其他人各司其职)
(2)明星模式(将主治医师模式运用到极点)
(3)社区模式(志愿者参与,参与自己感兴趣的项目)
(4)业余剧团模式(在中央指挥的指导和安排下执行各种不同的任务)
(5)秘密团队(在秘密状态下进行项目,有极大的自由度,不受外界干扰)
(6)特工团队(有特殊技能的专业人士组成解决棘手紧迫的问题)
(7)交响乐团模式(专注与某一方面的团队)

(8)爵士乐模式(随意,互动强力,创意的团队)

(9)功能团队模式(具备不同能力的人员平等协作完成一个功能,完成之后又重新组织,和别的角色完成下一个功能)
(10)官僚模式 (层次型的,层层领导)

3.瀑布模型及其变形

  • 瀑布模型

    (1)定义:是一个软件开发架构,于1970年被温斯顿·罗伊斯(Winston Royce)提出。其核心思想是按工序将问题化简,将功能的实现与设计分开,便于分工协作,即采用结构化的分析与设计方法将逻辑实现与物理实现分开。

    (2)核心思想:按工序将问题化简,将功能的实现与设计分开,便于分工协作,即采用结构化的分析与设计方法将逻辑实现与物理实现分开。将软件生命周期划分为制定计划、需求分析、软件设计、程序编写、软件测试和运行维护等六个基本活动,并且规定了它们自上而下、相互衔接的固定次序,如同瀑布流水,逐级下落。

  • 变形模型有:

    (1)生鱼片模型

    (2)大瀑布带着小瀑布

4.渐进交付流程
渐进交付流程主要采取的方法是MVP(着重强调更早获得用户反馈)和MBP(最强最美产品,将用户的需求了然于心)。

5.敏捷流程

  • 敏捷团队的要求:自我管理,自我组织,多功能型

  • 敏捷流程遵循以下开发原则:
    (1)尽早并持续地交付有价值的软件以满足顾客需求;
    (2)敏捷流程欢迎需求的变化, 并利用这种变化来提高用户的竞争优势;
    (3)经常发布可用的软件,发布间隔可以从几周到几个月,能短则短;
    (4)业务人员和开发人员在项目开发过程中应该每天共同工作;
    (5)以有进取心的人为项目核心,充分支持信任他们;
    (6)无论团队内外,面对面的交流始终是最有效的沟通方式;
    (7)可用的软件是衡量项目进展的主要指标;
    (8)敏捷流程应能保持可持续的发展。领导、团队和用户应该能按照目前的步调持续合作下去;
    (9)只有不断关注技术和设计,才能越来越敏捷;
    (10)保持简明——尽可能简化工作量的技艺——极为重要;
    (11)只有能自我管理的团队才能创造优秀的架构、需求和设计;
    (11)时时总结如何提高团队效率,并付诸行动。

  • 敏捷流程的方法论 :
    (1)找出完成产品需要做的事情——Product Backlog;
    (2)决定当前的冲刺(Sprint)需要解决的事情——Sprint Backlog;
    (4)冲刺。期间团队通过每日例会(Scrum Meeting)进行面对面交流,所有人向同伴报告进度。Scrum Master根据项目情况,用简明的图表展现整个项目的进度(燃尽图Burn Down Chart、看板图Kanban);
    (5)得到软件的一个增量版本,发布给用户。然后在此基础上又进一步计划增量的新功能和改进;

6.TSP原则
(1)使用妥善定义的流程,流程中的每一步都可以重复,可以衡量结结果的;
(2)团队的各个成员对团队的目标,角色,产品都有统一的理解;
(3)尽量使用成熟的技术和做法;
(4)尽量多的收集数据(也包括对团队不利的数据),并用数据来帮助团队做出理性的决定;
(5)指定切合实际的计划和承诺,团队计划要负责集体执行的角色来制定(而不是从上级来的);
(6)增加团队的自我管理能力;
(7)专注于提高质量,争取在软件生命周期的早期发现问题,最有效提高质量的办法是做全面而细致的设计工作;

7.团队交流截图

任务三

1.团队项目作业发布账号链接 :
https://www.cnblogs.com/PureMan6/p/10739662.html#4

2.团队项目仓库github链接 :
https://github.com/swearitagain/EduCnblogs2.0

3.述你选择该团队项目进行分析的理由
(1)我们选择了北京航空航天大学PureMan团队的项目,他们组的团队项目是设计完成一个手机端的软件,可以登录博客园,查看班级信息,发表评论等。
(2)该团队的项目贴合于实际生活,有效的解决了手机端处理业务的问题。
(3)可以学习人家的设计过程,了解差距,弥补不足。

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

开发人员 学习任务 承担开发任务
胡俊崧 学习react native的组件 修改班级一级界面的UI结构和交互逻辑
蒋锋 学习react native的组件 熟悉博客园公告相关API,实现发布公告的功能
吴昊 学习react native的组件 组织策划会议,催促项目进度
陈治齐 学习react native的组件 完成了班级选择页面
吴枫 学习react native的组件 测试发布作业,发布公告功能
邵旭哲 组织策划会议,催促项目进度 撰写每日例会报告

5.结合项目系列博客文档,评价项目的软件项目过程特点(TSP)
(1)按照博客来看,他们的博客很好的反映了开发过程,内容详实,设计合理。
(2)他们很好的划分了项目的阶段,设计,学习,编码,整个过程合理得当。

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

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

(1)下载并尝试

(2)该团队的项目完成情况很好,使用起来也非常的方便,但就是可视化方面做得不是很好,如上图所示。

8.评价该团队项目是否值得继续开发,并陈述理由?
(1)该项目值得继续开发,UI方面可以继续优化,争取将可视化部分做的更好;
(2)该项目方便大家对博客园的操作,对于同学们的学习很有帮助;

任务四

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

任务 计划完成时间(min) 实际完成时间 (min)
任务一 180 200
任务二 120 100
任务三 200 210

2.作业的感受和体会
通过阅读并学习其他优秀团队的作品,让我受益匪浅,知道自己团队项目的很多不足。这次实验让我更加熟悉团队项目开发流程,团队成员之间的分工协作方式,这为今后团队项目的开发积累了很多经验,同时我们也从中了解到了一些基本的错误与不足,这都是我们在项目开发中需要注意的。最后,希望我们的团队项目能完满结束。

posted @ 2020-04-10 21:11  [DTY]  阅读(164)  评论(2编辑  收藏  举报