实验十 团队作业7:团队项目用户验收&Beta冲刺
项目 | 内容 |
---|---|
课程班级博客 | https://edu.cnblogs.com/campus/xbsf/2018CST |
这个作业要求链接 | https://www.cnblogs.com/nwnu-daizh/p/14924901.html |
团队名称 | 天马行空队 |
团队分工 | * 梦涛 :PM,主持项目会议 癿 * 盼:进行文档的编写 * 蕊媛 :进行项目开发 * 钦颖 :进行项目测试 各个阶段大家一起讨论思考 |
团队的课程学习目标 | 1、掌握软件黑盒测试技术。 2、掌握软件项目确认测试内容,学会编制软件项目总结PPT。 |
这个作业在哪方面帮助团队实现学习目标 | 1、通过对团队项目软件进行各项测试,掌握了软件黑盒测试技术。 2、通过对软件项目进行总结称述并演示软件功能,学会了编制软件项目总结。 |
团队博客链接 | https://www.cnblogs.com/tianmaxingkongdui/p/14898754.html |
团队项目Github仓库地址链接 | https://github.com/cuimt/tianma |
任务1:按团队项目互评名单,对互评方《实验九 团队作业6:团队项目编码&Alpha冲刺》的项目成果进行评价
- 结对方团队博客链接
https://www.cnblogs.com/makabakaxfd/p/14921066.html
- 结对方Github项目仓库链接
https://github.com/makabakaxfd/-
- 符合要求的博客评论
- 结合互评方项目需求规格说明书和软件试运行体验,从用户视角简要评价软件
项目需求规格说明书中有一些多余的空格,这方面可以再完善一下:
试运行互评方软件截图:
通过试运行互评方软件,从用户视角出发,做出以下评价:
(1)交互安排得当,界面布局合理。
(2)前端界面设计简洁舒适,色彩明快。
(3)系统完成度较好,基本功能具备。
- 结合实验八评分标准,给出互评团队作业评分成绩
团队给出的互评成绩为:150分
任务2:根据团队项目中软件的需求分析文档、需求规格说明书和软件设计说明书,编写软件用户功能测试方案,并执行测试过程,在日期区间[6.25-6.30]内,任选连续4天进行Beta冲刺,冲刺当天晚23点前发布一篇团队Beta冲刺博客
-
软件的功能测试方案文档
-
软件系统安装配置过程演示视频
-
任务2功能测试过程视频
以上均上传至团队项目github仓库中,上传后仓库截图如下:
任务3:完善与整理团队项目资料、编制团队项目总结陈述PPT、录制视频演示软件需求规格说明书中要求功能,在团队项目Github仓库中上传以上两个文档
-
团队项目总结陈述PPT不少于15页
-
软件功能演示视频,不少于5分钟
以上均上传至团队项目github仓库中,上传后仓库截图如下:
任务4:完成《实验十 团队作业6:团队项目编码与Alpha冲刺》团队博文作业
- Beta 冲刺Scrum meeting导航
【Beta】Scrum meeting 1链接
【Beta】Scrum meeting 2链接
【Beta】Scrum meeting 3链接
【Beta】Scrum meeting 4链接
- 任务2要求在团队项目仓库中上传测试文档/测试活动视频后的3个截图
已在任务2处提供
- 【软件验收测试Beta冲刺总结】结合燃尽图陈述任务1执行过程
第一天我们对互评团队的博客和软件进行了评论,并录制了软件系统安装配置视频,编写了软件功能测试文档,并完成了当天冲刺博客的撰写;
第二天根据项目特点对软件进行测试并生成数据库记录,录制测试过程,编制团队项目总结陈述PPT,更新燃尽图,并完成了当天冲刺博客的撰写;
第三天录制软件功能视频,完善并整理团队项目资料,并完成了当天冲刺博客的撰写;
第四天总结软件测试过程,更新最终的燃尽图,完成当天冲刺博客的撰写,并完成团队博文作业。
- 提供任务3要求团队项目github仓库中上传项目总结陈述PPT、软件功能演示视频文档后的2个截图
已在任务3处提供
- 记录完成《实验十 团队作业7:团队项目用户验收&Beta冲刺》各项任务实际花费的时间和分工
任务内容 | 实际花费的时间(min) | 分工 |
---|---|---|
任务一 | 40 | |
实验九团队作业互评 | 40 | 大家一起阅读互评方博客、结合需求规格说明书试运行互评方软件,最后由癿 * 盼、 * 蕊媛总结评价 |
任务二 | 340 | |
软件的功能测试方案文档 | 60 | 大家一起讨论,* 钦颖负责撰写文档 |
软件系统安装配置过程演示视频 | 40 | 癿 * 盼、* 蕊媛、* 梦涛负责 |
任务2功能测试过程视频 | 90 | 癿 * 盼、* 蕊媛负责演示,* 钦颖负责录制 |
连续4天发布团队Beta冲刺博客 | 150 | * 钦颖负责撰写冲刺博客,* 梦涛协助完成 |
任务三 | 160 | |
完善与整理团队项目资料 | 40 | 大家一起完成 |
编制团队项目总结陈述PPT | 90 | * 梦涛负责完成 |
录制视频演示软件需求规格说明书中要求功能 | 30 | * 蕊媛、癿 * 盼负责演示,* 钦颖负责录制 |
任务四 | 50 | |
以博客形式记录本次任务 | 50 | * 蕊媛负责博客的撰写,同时* 梦涛、癿 * 盼、* 钦颖辅助完成 |
- 每位成员总结本次实验心得,最后由项目组长进行总结陈述
*蕊媛
本次的Beta冲刺是在上周进行的Alpha冲刺的基础上对团队项目继续进行完善,并且对软件的性能与功能进行测试。通过更加深入的测试,使得软件趋于完善。感觉软件工程实践进行的每一步都有在学习新的东西,就像这次的任务,虽然之前听过一些相关的概念,却没有进行过详细的实施,通过这次的任务,我对测试有了更加深入的体会与理解。虽然软件仍存在许多不足,但是团队成员之间积极合作,这两周的项目冲刺,大家经常聚在一起,互相配合,互相帮助,使得实验任务顺利进行。合作学习的过程,遇到了许多困难,通过解决困难,大家的实践能力都有一定的提升,对软件功能的理解也更加深刻和具体了。
癿 * 盼
本周是最后部分了,所有的任务都进入了最后冲刺阶段,并且我们将学习到的软件测试的内容进行了实践。在最后阶段我们进行了最终的编写代码,将前面的一些内容进行了完善,使得项目更加完美,在这过程中我们遇到了不少的困难,比如如何将前端与后端连接,由于学习JAVA的时间已经过去一段时间,我们对这部分内容记忆的不是很深刻,所以在次部分花费了我们大量的时间,虽然过程进行的艰难,但是我们没有放弃,一步一步的进行修改、测试,致力于将以最好的状态呈现。在整个项目中,我们小组成员一直是协力合作,团结一致,共同为了项目的更好呈现而不断拼搏。
*钦颖
通过此次的项目小组合作,我收获了很多,包括知识上的充实和协作完成方面的经验。bata冲刺进行到后期,进行了许多类型的测试,大家合作依旧默契。软件要通过测试才能真正成为一个合格的成熟的系统,为用户带来更快更好的体验。冲刺的完成离不开每一位成员的辛勤付出,大家都辛苦了。
*梦涛(组长总结陈述)
本次实验是项目的最后一次冲刺,大家都完成的非常认真,四个人聚集在一起,每个人都各司其职,互相帮助,共同为我们一个学期的项目工作做一个收尾,在测试阶段,我们的软件扫描图片信息的准确率达到了80%以上,其中四张图片由于图片格式和分辨率的问题,无法进行识别。本次项目是我们设计过最为完整的一次项目,从选题到总体设计再到软件设计,最后 编码实现进行测试,大家都倾注了大量的心血,最后的结果也达到了我们的预期,还加入了前端设计和数据库,完成度也很高。在本次项目中,我们每一个人都得到了充分地历练,相信在之后如果有参与大型项目的机会,每个人都可以发挥自己的实力!
- 每位成员陈述课程学习总结,回顾《实验一软件工程准备》提出的3个问题,并总结答案
*蕊媛
课程学习总结:课程学习即将结束,这一学期的软件工程课程的学习中学习到了许多知识,一方面,通过翻转课堂的学习以及老师在课堂上的讲解,我知道了许多关于软件工程的原理和方法;另一方面,通过一学期不断的实验实践以及团队项目的实施,我对软件工程的实际流程有了真切的感受和体会,自身的能力得到了锻炼。虽然过程中遇到许多艰难,有许多压力,但是在挑战中得到了成长。
- 软件工程的完整流程是什么?做好哪些工作才能让开发出来的软件尽可能地接近“好的软件”?
答:通过一学期的软件工程的实践,我对软件过程的一系列流程有了详细而具体的体会与学习。软件工程不止是编写代码,代码只是其中的一部分,还包括需求分析、总体设计、数据库设计、详细设计、编码与测试等一系列的过程,每一个部分都是不可缺少的。要使得软件尽可能地接近“好的软件”,那么就要做好软件过程,在每一个步骤中把握软件的开发质量,前期做好需求分析,得到软件详细而准确的功能需求;中期做好软件的设计工作,包括总体设计和详细设计,这个阶段要尽可能考虑到设计的方方面面,包括类、类之间的关系、代码重用等,这样才能使得编码阶段有明确的头绪可以进行;后期做好编码工作和测试工作,编码是将设计翻译成高级语言,测试需要考虑到软件功能的各种方面,找出软件Bug并修复,并且需要考虑到用户体验,使得软件能够给用户更好的使用体验。
- 常用语言的代码规范包含哪些基本要求?
答:代码规范包含代码风格规范和代码设计规范两部分,公司的产品质量,维护成本,人员培养成本和规范息息相关,所以在编写代码的时候要注意代码规范。代码规范主要有在复杂的条件表达式中,用括号清除表示逻辑优先级;每个函数前都要写注释;用能比较明确表示函数意义的名字来命名函数;不把多条语句、多个变量定义在一行上等等。另外,代码风格的原则是:简明,易读,无二义性。在团队工作时,制定一个好的编码规范,可以使得结对编码过程更加规范和方便。
- 实用且创新的项目如何产生?需要综合考虑哪些方面?
提出一个实用且创新的项目,有一个比较系统的框架 - NABCD 模型可以参考,软件的产生并不是一拍脑袋就可以确定下来的,它是有系统而科学的知道和流程的。另外,处理使用系统的框架,要产生一个创新且又实用的项目,往往是从用户中的痛点而来,模型可以帮助我们更好的开发与维护软件,但是要产生一个好的项目,要从用户的需求中来。除此之外,还需要考虑软件的可行性,软件开发的成本和收益等方面。
癿 * 盼
课程学习总结:一学期的软件工程学习课程结束了,在这一学期我们体验了不一样的上课模式——翻转课堂,在这种课堂模式中我们首先进行提前的看相关课程视频进行学习,再由老师进行课程总结,这样促进了我们的自主学习能力,加深了我们对知识的理解,其次通过实验去实践这些所学到的知识,使我更进一步的加深了相关知识的理解,从刚开始对这些文字内容的不理解,到最后通过反复的讲解加实践,我们可能花费了不少的时间,但是我们最终将它牢牢记住。
- 什么是软件工程?
答:软件工程是将系统化、规范化的方法应用于软件的开发、运行和维护过程。它包括开发技术和开发管理两方面。它的目标是付出较低的开发成本;达到所需的软件功能;取得较好的软件性能;开发的软件易于移植;需要较低的维护费用;能按时完成开发工作,及时交付使用,开发的软件可靠性高。
- 软件工程的基本原理有哪些?
答:(1)用分阶段的生命周期计划严格管理:我们应该把软件生命周期划分成若干个阶段,并相应地制定出切实可行的计划,然后严格按照计划对软件的开发与维护工作进行管理。 不同层次的管理人员都必须严格按照计划各尽其职地管理软件开发与维护工作,绝不能受客户或上级人员的影响而擅自背离预定计划。
(2)坚持进行阶段评审:在每个阶段都进行严格的评审,以便今早的发现在软件开发过程中所犯的错误,降低错误带来的代价。
(3)实行严格的产品控制:在软件开发过程中不应随意改变需求,因为改变一项需求往往需要付出较高的代价,因此当改变需求时,为了保持软件各个配置成分的一致性,必须实行严格的产品控制,其中主要是实行基准配置管理。
(4)采用现代程序设计技术:采用先进的技术不仅可以提高软件开发和维护的效率,而且可以提高软件产品的质量。
(5)结果应能清楚的审查:因为软件是开发过程是不可见的,为了我们可以更好的进行管理,我们应该根据软件开发项目的总目标及完成期限,规定开发组织的责任和产品标准,从而使得所得到的结果能够清楚地审查。
(6)开发小组的人员应该少而精:开发小组人员的素质和数量是影响软件产品质量和开发效率的重要因素。
(7)承认不断改进软件工程实践的必要性:时代在前进,我们相关的软件开发与维护也要跟随时代前进而前进。因为旧的技术方案不一定在当今社会适用,这样就会降低软件的使用率。
- 完成一个软件工程项目需要哪些步骤?
答:项目可行性研究阶段,立项阶段,需求分析阶段,开发策划阶段,设计阶段,编码实现阶段,测试阶段,验收阶段,产品交付使用阶段和维护阶段。
*钦颖
通过软件工程课程的实验学习,让我体验了一个系统从想法到设计到完成的各个阶段,同时我开始用MarkDown优化博客阅读体验;学会使用一些新的软件,比如原型设计软件墨刀,UML图形绘制工具Visio、在线作图工具processon等。还有用GitHub重要平台进行团队项目的托管,大大提高了团队协作开发的效率。课程总体分为个人项目、两人结对编程和四人团队项目三个阶段。通过这三个阶段的理论与实践学习,我开始追求从整体角度把握项目的进度等情况,更加重视编程规范,提升了沟通能力和文档编写能力。
- 什么是软件工程?软件工程与计算机科学的关系是什么?
答:软件工程是一门研究用工程化方法构建和维护有效的、实用的和高质量的软件的学科。它涉及程序设计语言、数据库、软件开发工具、系统平台、标准、设计模式等方面。软件工程更加关注工程方面的知识,而计算机科学更加注重技术方面。
- 什么样的软件是一个“好的软件”?如何创造一个“好的软件”?
答:“好的软件”首先需要使用方法简单,其次需要功能全面,还有就是要对软件后期维护、软件升级换代比较及时。能否开发出一个好的软件,关键是看软件开发前期所做的工作,重点是这个软件有没有一个好的 软件开发流程,因为一个好的软件开发流程关系到到这个软件的成败和最后能达到一个什么的效果。软件开发一般需要经过市场调研、需求分析、概要设计、详细设计、编码、软件测试等几个阶段。
- 邹老师博客中提到很多学习软件工程的同学反映这是一门比较空洞乏味的课程,那么我们应该怎样学习才能使课程变得有趣?
答:首先我们需要明白这门课的重要性,其次需要学习很多理论知识,最后在软件开发的过程中将前面学习的理论知识结合起来,学好了受益匪浅。
*梦涛
课程学习总结:本学期软件工程的学习已经接近尾声,在项目进行的过程中,我担任了本次项目的PM,我们遇到了很多问题,但是通过大家共同的努力都解决了。回想我在刚开始接受软件设计这门课的时候提出的三个问题,下面我通过对软件工程的学习,来为自己做出一个回答:
- 在“设计与实现阶段”,我们要搞清楚软件是怎么解决这些需求的?在“测试”和“发布”阶段,我们要搞清楚软件真的解决了这些需求了么?
答:在问题领域中的现实世界里,都有哪些实体,如何抽象出我们真正关心的属性,实体之间的关系是什么,在这个基础上,用户的需求是什么,软件如何解决用户的需求,软件团队的所有相关人员都需要处理、了解这些信息,如果在处理的过程中有误解和遗失,就会导致开发过程中的问题,以至最终产品不能满足用户的需求。
- 如何提出一个靠谱的工程项目的需求分析?NABCD 模型指的是什么?
答:1) N (Need 需求)我们要充分了解用户的痛苦, 他们对已有软件, 服务不满意的地方。但是用户往往也不知道颠覆型的创新。 2) A (Approach 做法)一个刚成立的团队,他们对自己的实际能力往往不太了解。基本的招数, 独特的招数, 招数的可行性, 技术可行性,法律法规可行性。3) B (Benefit 好处) Benefit 指对自己团队/公司的好处。4) C (Competitors 竞争) 我们的新想法可能要和已有的产品竞争,说服用户放弃一个已经使用了一段时间的产品,来用我们的产品,是有不少困难。 还有一个隐藏着的竞争对手是 “不消费” -- 很多用户根本就不用这个领域的任何产品, 你怎么能让他们完成从 0 到 1 的转变? 如果你成为他们的第一个产品,那你就是 First Mover, 有很多优势。5) D (Delivery 交付, Data 数据)怎样把你的创新产品交到用户的手中?
- 在一个软件工程的最终维护阶段,最终的程序测试过程中,怎样才可以达到最高的效率?
答:通过对测试每个测试阶段的总结和分析,及时反映当前工作状态、存在的问题,帮助项目小组成员了解当前的项目进度和发现并解决现阶段存在问题,推动下一阶段工作的顺利开展。