201771030129-张琳 实验四 软件项目案例分析

项目 内容
课程班级博客链接 https://edu.cnblogs.com/campus/xbsf/nwnu2020SE
这个作业要求的链接 https://www.cnblogs.com/nwnu-daizh/p/12616341.html
我的课程学习目标 学习团队软件项目流程,掌握敏捷流程原则及相关概念
这个作业在哪些方面帮助我实现学习目标 通过任务三学习软件项目流程,以及别的任务学习敏捷流程原则及相关概念
结对方学号-姓名 201771030121-王国伟
结对方本次博客作业链接  

 

 

任务一:选择的优秀案例: 祁甜&王爽

博客链接:https://www.cnblogs.com/viqt/p/12588543.html             

       https://www.cnblogs.com/JZYWS/p/12571927.html

仓库链接:https://github.com/Gu19901212/Partner

1.对案例博文作业进行阅读并且进行评论:

2.系统运行截图、软件功能总结以及案例代码存在的bug:

克隆项目:

系统运行截图:

 软件功能总结:系统功能基本都实现了,但是附加功能没有实现。

 案例代码存在的bug:不清楚编码类型,中文全是乱码

3.总结实验三博客作业以及代码设计存在的问题与不足,列举代码中存在的bug,未实现的功能:

  实验三博客的作业在博文方面完成的不好博文写的时间有点赶,系统很好但是在博文描述中没有描述的够好。还有短信提醒的附加功能,只找到了能发7条短信的,其实应该考虑QQ邮箱或者微信提醒等功能。未实现功能:web页面中的数据可视化。

任务二:阅读《现代软件工程-构建之法》第5-6章的内容:

软件项目团队特点:

  1.软件项目团队有各种形式,分别适用于不同的人员和需求;

  2.基于直觉形成的团队模式未必是最合适的;

  3.随着团队的成熟和环境的变化,团队模式会相互演化。

软件项目的模式:

  1.主治医师模式:就像在手术台上那样,有一个主刀医师,其他人(麻醉,护士,器械)各司其职,为主刀医师服务。

  2.明星模式:主治医师模式运用到极点,可以蜕化为明星模式,在这里,明星的光芒盖过了团队其他人的总和。

  3.社区模式 :社区由很多志愿者参与,每个人参与自己感兴趣的项目,贡献力量,大部分人不拿报酬。

  4.业余剧团模式 :这样的团队在每一-个项目 (剧目)中,不同的人会挑选不同的角色。

  5.秘密团队 :一些软件项 目在秘密状态下进行,别人不知道他们具体在做什么。

  6. 特工团队:就像电影电视中的特工组“加里森敢死队”等- -样, 软件行业的一些团队由一些有特殊技能的专业人士组成,负责解决一些棘手而有紧迫性的问题。

  7.交响乐团模式 :交响乐团的演奏有下面的特点:家伙多,门类齐全。各司其职,各自有专门场地,演奏期间没有聊天、走动等现象。

  8.爵土乐模式:强调个性化的表达,强有力的互动,对变化的内容给予有创意的回应。

  9.功能团队模式 :很多软件公司的团队最后都演变成功能团队,简而言之,就是具备不同能力的同事们平等协作,共同完成一个功能。

  10.官僚模式:这种模式脱胎于大机构的组织架构,几个人报告给一个小头目,几个小头目报告给中头目,依次而上。

 瀑布模型及其变形:瀑布模型描述了单向的,不可逆的生产过程。温斯顿指出用户的介入,讨论,复审以及模型下文档的重要性。

 渐进交付流程:接近迭代式开发流程,当系统的主要需求和框架明确后,软件团队进入不断演进的循环;

 敏捷开发流程:

原则:

  1.尽早并持续地 交付有价值的软件以满足顾客需求

  2.敏捷流程 欢迎需求的变化,并利用这种变化来提高用户的竞争优势

  3.经常发布可用的软件,发布间隔可以从几周到几个月,能短则短

  4.业务人员和开发人员在项目开发过程中应该每天共同工作

  5.以有进取心的人为项目核心,充分支持信任他们

  6.无论团队内外,面对面的交流始终是最有效的沟通方式

  7.可用的软件是衡量项目进展的主要指标

  8.敏捷流程应能保持可持续的发展。领导、团队和用户应该能按照目前的步调持续合作下去

  9. 只有不断关注技术和设计,才能越来越敏捷

  10.保持简明一尽 可能简化工作量的技艺一极 为重要

  11.只有能自我管理的团队才能创造优秀的架构、需求和设计

  12.时时总结如何提高团队效率,并付诸行动

敏捷流程图:

                    

TSP原则:

1. 使用妥善定义的流程,流程中的每一 步都是可以重复、可以衡量结果的。

2.团队的各个成员对团队的目标、角色、产品都有统一的理解。

3. 尽量使用成熟的技术和做法。

4.尽量多地收集数据(也包括对团队不利的数据),并用数据来帮助团队做出理性的决定。

5. 制定切合实际的计划和承诺,团队计划要由负责具体执行的的角色来制定(而不是从上级而来)。

6.增加团队的自我管理能力。

7.专注于提高质量,争取在软件生命周期的早期发现问题。最有效提高质量的办法是做全面而细致的设计:工作(而不是在后期匆忙修复问题)。

 与小伙伴讨论的截图:

任务三:选择高质量的团队项目案例协作学习,追踪该团队项目发布所有博客作业:

团队项目作业发布账号链接:https://www.cnblogs.com/snxfd/p/11056453.html

团队项目仓库github链接:https://github.com/snxfd123/designfile

选择该团队项目进行分析的理由:该项目的博客内容比较吸引我,内容比较丰富,结构清晰,博文主页也比较漂亮。

总结项目团队成员的分工合作情况:分工比较合理,很平均,完成的也很快。

评价项目的软件项目过程特点(TSP):制定切合实际的计划和承诺,团队计划要由负责具体执行的的角色来制定(而不是从上级而来)。使用了较为成熟的技术和做法。

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

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

下载团队项目代码:

部署项目运行环境并使用软件:

 使用体验:没有数据库的sql文件,缺少使用说明,数据显示条数太少。

 bug:1、查看房间信息时数据库提示出现异常错误。

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

值得开发,该项目功能比较完善,做得也不错,可以继续完善并且考虑投入使用。

记录任务花费时间:

任务 任务花费时间(min)
任务一 300
任务二 200
任务三 500

 

总结本次实验的感受和体会:

  本次实验主要是阅读别人的代码,学习别人项目中好的地方,对比自己的项目找出不足的地方,对于别人项目优秀的地方去积极学习,不够完善的地方争取完善。通过阅读团队项目,我发现了别人的优秀之处,然后努力学习。争取自己也做到。

猜你喜欢

转载自www.cnblogs.com/zlin-/p/12676968.html
今日推荐