实验十 团队作业7:团队项目用户验收&Beta冲刺
项目 | 内容 |
---|---|
课程班级博客链接 | 18卓越 |
这个作业要求链接 | 实验十 |
团队名称 | 星辰斗士 |
团队成员分工描述 | 李小龙(组长):任务1; 王超怀:任务3; 王明强:任务2; 康 旭:任务4; 团队协作:任务2,3; |
团队的课程学习目标 | (1)掌握软件黑盒测试技术; (2)掌握软件项目确认测试内容,学会编制软件项目总结PPT。 |
这个作业在哪些方面帮助团队实现学习目标 | (1)在学习软件黑盒测试技术的时候; (2)在学习软件白盒测试技术的时候; (3)在对软件进行测试的时候; (4)在撰写完档回顾所学内容的时候。 |
团队博客链接 | 星辰斗士 |
团队项目Github仓库地址链接 | 仓库地址 |
任务1:按团队项目互评名单,对互评方《实验九 团队作业6:团队项目编码&Alpha冲刺》的项目成果进行评价,具体要求如下: | |
(1)阅读互评团队项目博文作业并进行评论,评论要点包括:博文结构、博文内容、任务分工与时间耗费。将以上评论内容发布到互评团队的博客评论区。 | |
结对方博客链接:奋斗的小菜鸟 | |
结对方Github项目仓库链接:仓库地址 | |
结合实验八评分标准,给出互评团队作业评分成绩:150分 | |
对结对方的博客评论如下: | |
![]() |
(2)下载团队项目技术资料,并试运行互评方项目软件。
结对方仓库
运行结果:
软件点评:
1.使用python编程语言,使得占用内存小,这一点值得我们借鉴
2.在运行的结果中可以看出来,运行的结果并不是很明确,这是需要改进的
3.项目显得略微有点简单,希望后续还能有改进
任务2:团队作业Beta冲刺:团队项目经过Alpha阶段冲刺后,已基本完成项目编码工作。进入Beta阶段冲刺后,需要开发者对软件进行用户使用体验或典型用户应用场景测试并完善功能,此时常用黑盒测试技术完成测试工作。请根据团队项目中软件的需求分析文档、需求规格说明书和软件设计说明书,编写软件用户功能测试方案,并执行测试过程,在日期区间[6.25-6.30]内,任选连续4天进行Beta冲刺,冲刺当天晚23点前发布一篇团队Beta冲刺博客,冲刺博文内容要求如下:
1.各个成员今日完成的任务
2.各个成员明日的任务安排
3.今日共计发现了多少Bug?
4.各位成员今日对项目的贡献小时数
5.提供当天站立式会议照片一张,更新项目燃尽图,描述项目整体进展情况。
Beta 冲刺Scrum meeting导航 |
---|
[Beta] Scrum meeting 1 |
[Beta] Scrum meeting 2 |
[Beta] Scrum meeting 3 |
[Beta] Scrum meeting 4 |
2.12小时压力测试,视频上传截图 |
![]() |
3.软件的功能测试方案文档截图 |
![]() |
4.软件系统安装配置过程演示视频上传截图
5.功能测试过程视频上传截图
任务3:完善与整理团队项目资料、编制团队项目总结陈述PPT、录制视频演示软件需求规格说明书中要求功能,在团队项目Github仓库中上传以上两个文档。
1.软件功能演示视频上传截图(已上传)
2.资料上传至仓库截屏
任务4:完成《实验九 团队作业6:团队项目编码与Alpha冲刺》团队博文作业:
【软件编码Alpha冲刺总结】结合燃尽图陈述任务2执行过程
刚开始对团队工作模式不熟悉,对软件的不熟悉,进度较慢。正好碰到周末涉及到上课补课,大家的时间比较分散,沟通协作能力不够,所以前三天的进度就有些缓慢。第三天开站立会议时,还只完成了注册登录界面,考虑到时间紧迫,每个人都增加了任务,追赶计划。好在团队成员在前期开发准备充分,都比较有责任心、凝聚力,利用了一天的时间完成了所有的界面菜单功能,进度明显就加快了。而且随着大家对项目的熟悉,更加就得心应手,团队配合也更加默契,如期完成了任务。从燃尽图上看,曲线总体起伏不大,在计划曲线上下浮动,得益于组长任务分配,团队齐心协力完成任务。
各项任务实际花费的时间和分工如下:
任务 | 花费的时间/min | 任务分工 |
---|---|---|
任务1 | 30 | 李小龙:评价结对方博客 康 旭:评价结对方博客 王超怀:下载并阅读互评方团队项目资料 王明强:下载并阅读互评方团队项目资料 |
任务2 | 180 | 李小龙:修改完善团队项目系统设计说明书 康 旭:修改完善团队项目系统设计说明书 王超怀:修改完善团队项目系统设计说明书 王明强:修改完善团队项目系统设计说明书 |
任务3 | 300 | 李小龙:搭建并配置软件开发环境 康 旭:搭建并配置软件开发环境 王超怀:团队商议制定团队项目编码规范 王明强: 团队商议制定团队项目编码规范 |
任务4 | 100 | 李小龙:结合任务分工总结本次实验心得 康 旭:结合任务分工总结本次实验心得 王超怀:结合任务分工总结本次实验心得 王明强:结合任务分工总结本次实验心得 |
结合任务分工总结本次实验心得: | ||
李小龙:这七天以来,我们每天都在按照规划稳步进行着我们的匿名社交软件,感觉每日会议这个方式,可以很好的规划每日的工作量并及时总结每日遇到的问题,是个小组做项目时候可用的很好的办法,当然,在这七天我们也遇到了很多困难,由于对编码的不擅长,导致我们进度不是很快,有些艰难,但每个人都依旧按照每日计划尽力完成任务,是个收获满满的一周了。 | ||
康旭:这七天通过冲刺的方式对我们的系统进行设计,虽然我们的编程能力不是很好,遇到的问题也有很多,效率比较低,但是每位成员都有在为设计系统而努力,在设计系统的过程中也有收获。 | ||
王超怀:通过这几天我们的项目进展由开始的模糊到后来的基本成型,对项目的进一步开展也有了更加明确的定位。此外,团队的整体协作能力相较之前也有了更大的进步,虽然中间遇到过很多问题,但最终都通过讨论交流努力去解决了,整体收获很大。 | ||
王明强:在这几天的开发中,我们的团队更具有凝聚力,团队的关系更加的融洽,对编程更加得心应手,很有收获。我们一起讨论解决在编码中遇到的问题,以及改进了部分在设计中不足的地方。我们团队的编码水平一般,有时候出现问题总找不见原因和解决办法,但通过一起努力也解决了问题。另外,我有点喜欢有争论的讨论场景。 | ||
李小龙(组长)总结:在这次实验中,我们虽然遇到了很多问题,但是也收获了很多,这次的系统设计不同于以往的设计,有明确的任务分工,有之前的合作经验,可能在设计过程中或多或少有些争论,各自有不同的想法,但是这并不影响团队合作。虽然团队编码能力普遍不高,但是成员还是努力去学习解决编程问题。 | ||
每位成员陈述课程学习总结,回顾《实验一软件工程准备》提出的3个问题,并总结答案。 | ||
李小龙:通过这一学期的学习,最开始的问题在今天得以再一次回答自己的理解:1、什么是软件工程?软件工程就是研究把系统的、规范的、可度量的途径应用于软件开发、运行和维护过程中的途径。它的出现是为解决软件危机即在计算机软件的开发和维护过程中所遇到的一系列严重问题。软件工程是一门交叉性的工程学科,它是将计算机科学、数学、工程学和管理学等基本原理应用于软件的开发与维护中,其重点在于大型软件的分析与评价、规格说明、设计和演化,同时涉及管理、质量、创新、标准、个人技能、团队协作和专业实践等。而这也只是软件工程的冰山一角。2、怎么去学软件工程这门课?这门课的价值在于它是有点类似哲学的体系,试图通过对问题的深入思考,来找到一个可以回答所有问题的答案,即事物的本质。这也就是思维价值的最大化体现。所以这门课是为了提升软件的价值,为了释放我们深入思考的潜力。软件工程这门课,是一门更多强调认识的学科,任何事物都由他们的共性,而我们讲他们总结抽象出来形成规律,规律来解决普遍的问题,所以我们不能说软件工程没有用,而是它能启发我们看到对问题的深层理解。3、如何去理解哪些我初次谋面的专业名称(英文)?花更多是时间去认真的读解邹欣老师的《构建之法》,紧跟老师的课程安排,去学习这门课程。是我最开始的想法而一个学期结束,我发现那些不易理解的知识由于初次见到,而通过一次次实验,再不断学习复习的过程中,对他们的理解也就有了,意思自然也明白了,可以说是熟能生巧吧! | ||
康 旭在经过本次团队项目后,我对在阅读邹欣老师的《构建之法》后首次的个人博客中提出的问题想出了自己的答案。 |
问题:1、在对《软件工程》有了初步的了解以后,对于项目有了很浅的认识,那么什么是好的项目?如何验证一个项目的好坏?
作为团队项目中的PM,经历了本次项目试验后我对“好”项目的理解是,如果开发的项目满足用户的体验感,就是好项目。用户愿意用,用的人就会多,项目就是成功的。验证一个项目的好坏首先可以看这个项目的图形化界面是否简洁高效,如果项目的界面杂乱无章,并不能说是一个“好”项目,因为会给用户的体验感变差;其次要看项目开发者的项目代码的编写是否规范,是否易读,便于维护。
问题:2、之前也有参加校级科研立项的经历,也编写过许多项目代码,但是都是个人完成,所以团队真的很重要吗?
本次团队项目实验让我深刻的理解到了团队协作的重要性,一个项目如果只有自己完成势必会造成某些意想不到的缺陷,比如某些功能缺失、某些文档缺失等等,我也理解到团队PM真的是一件很难的工作,不仅仅要解决项目问题,也要解决成员沟通问题,还要及时与甲方交流,这也锻炼了我自己的个人能力
问题:3、之前见过许多项目面临弃项,那么如何才能保证以及判断一个项目可以成功结项?
如何判断一个项目有弃项的风险,首先看团队协作,一个团队是否协作紧密,交流密切是判断项目完成与否的最好方法,好的项目项目成员之间的关系也很好;其次查看项目文档是否齐全,是否便于维护;最后如果有条件可以与团队PM进行沟通,从这三个方面大致就可以看出这个项目的可行性以及是否可以如期交付。
王超怀:
问题1:软件工程的学习有什么意义?该门课程在计算机体系中处于什么样的位置? 软件工程是一门连接性的学科,在计算机体系中,是对其他专业知识的总结与升华,到了这一刻,前面所学才真正被拿上台面,被用户评估,与用户交互,说软件工程是一门“哲学”也不为过。问题2:软件工程的学习强调团队合作,那么我们在团队合作的过程中需要注意什么? 在团队合作的过程中,要各自发挥所长,同一个任务分给不同的人,所需的时间和得到的结果可能会天差地别,要了解成员各自的能力所在,统筹调和,最后才能得到1+1>2的结果,除此之外,还要跟上团队的步伐,一同面对难题,不要拉低团队的效率。3.软件工程与过去的知识有哪些联系,需要用到哪些预备知识以及如何使用?软件工程是对过去所学知识的总结,是所学知识的真正结合与应用。需要按照软件工程的方法,通过调研、需求分析、总体设计、详细设计、编码和测试等步骤来运用过去所学。
王明强
从团队角度来看,合理的分工、合适的项目组织与流程规划都是成功项目的关键,一个项目的开发不是靠单纯的个人能力就能够驾驭的,根据不同的项目类型进行合理的开发过程规划是非常关键的。同时对于问题1,我的答案是单元测试更多的是对程序的原子组成的正确性进行验证,相当于测试的是地基的牢固,不删除单元测试可以在以后更改相关代码后测试是否正确。对于问题2,我认为应该由团队内部投票解决。对于问题3,我认为软件开发的一大特点就是需求永远在变,而且无法在一开始就确定清楚。因为用户在看到可工作的产品之前,并不能明确定义自己需要什么功能。所以要准确的估算项目完成时间,最有效的办法就是缩短迭代的周期,增加反馈的频率。持续交付就是一种很有效的解决方案,对产品的任何修改,都能够以最快的时间反馈给用户;开发团队也可以根据用户的反馈,随时调整开发进度和技术方案。所以项目最终完成的时间一般是在项目开始一段时间以后,甚至在后期才能被最终确定。