实验十 团队作业7:团队项目用户验收&Beta冲刺
课程班级博客链接 | 2018计算机科学与技术 |
---|---|
这个作业要求链接 | https://www.cnblogs.com/nwnu-daizh/p/14924901.html |
团队名称 | 奋斗的小菜鸟 |
团队成员分工描述 | 魏娜娜:编写项目编码规范说明文档,编写程序生成1万条以上的数据库记录,压力测试答辩PPT 王会娟:系统需求规格说明书,编写此次博文,压力测试,上传项目至Gitub仓库,功能测试 牛建疆:编写测试文档,编写生成测试数据,压力测试,编写程序生成1万条以上的数据库记录 马艳:系统需求规格说明书,编写博客,录制配置环境视频,功能测试,压力测试 对于结对方博文的评价,队项目系统设计迭代改进,开发环境的搭建和配置,制定团队项目编码规范,软件代码编写以及代码测试都是有团队成员协作完成 |
团队的课程学习目标 | 1. 阅读结对方博客,进行相互学习;学习画燃尽图; 2. 根据OOD设计准则和面向对象设计方法,分析《软件需求规格说明书》存在的问题,进一步完善团队项目的《软件需求规格说明书》。 3.搭建并配置软件开发环境,尝试编写软件代码,在此过程中发现之前工作中的不足并进行改正 |
这个作业在哪些方面帮助团队实现学习目标 | (1)我们首先一起查看了接对方的博客,发现自己的不足,也对对方提出了建议 (2)了解Beta冲刺的内容 (3)学习使用软件帮助寻找bug并进行修改 |
团队博客链接 | 奋斗的小菜鸟1 |
团队项目Github仓库地址链接 | https://github.com/wang815-hui/borrowing-parter |
博文正文
任务1:按教师公布团队项目互评名单,对互评方《实验九 团队作业6:团队项目编码&Alpha冲刺》的项目成果进行评价;
评价小组 | |
---|---|
结对方团队名称 | 星辰斗士 |
对方团队博客链接 | https://www.cnblogs.com/muda/p/14901413.html |
对方Github项目仓库链接 | https://github.com/lixiaolot/BruseResponse |
评价内容链接 | https://www.cnblogs.com/muda/p/14865189.html |
-
结对方仓库:
-
互评内容:
-
结合互评方项目需求规格说明书和软件试运行体验,从用户视角简要评价软件
对方未上传代码。
-
结合实验九评分标准,给出互评团队作业评分成绩
我们给星辰斗士团队实验七的评分是:130分
任务2:团队作业Beta冲刺
-
任务2 Beta 冲刺Scrum meeting导航
Scrum meeting 1 - 奋斗的小菜鸟1 - 博客园 (cnblogs.com)
Scrum meeting 2 - 奋斗的小菜鸟1 - 博客园 (cnblogs.com)
-
团队项目仓库中上传测试文档/测试活动视频后的3个截图
-
测试文档:
- 配置视频:
视频已发给助教 -
【软件验收测试Beta冲刺总结】结合燃尽图陈述任务1执行过程
燃尽图分析:
通过燃尽图可以不难看出,实际工作量和理想工作量还是存在一定的误差,有一部分可能是由于我们前期需求估算不准确。团队项目遇到障碍,成员能力有限,导致任务进度推进缓慢。在数据库的连接以及压力测试上面花费了很多的时间,不过还好如期完成了。
总结:
第一天 完成了编写软件的功能测试方案文档,录制视频演示软件系统安装配置过程。
第二天 完成了实施软件功能测试方案进行软件各项功能测试,录制视频演示软件测试过程,进行了压力测试。
第三天 压力测试以及bug的修改。
第四天 修改bug,PPT的制作以及最后博客的编写。
任务3:项目完善与整理
-
团队项目github仓库中上传项目总结陈述PPT、软件功能演示视频文档后的2个截图
-
演示PPT:
-
功能演示:
视频已发给助教 -
记录完成《实验十 团队作业7:团队项目用户验收&Beta冲刺》各项任务实际花费的时间和分工
任务 时间/h 任务一 44 任务二 8 任务三 4
总结以及心得
-
学习心得
魏娜娜:
在此次的实验中,我主要负责编写项目编码规范说明文档,压力测试,压力测试答辩PPT,在这次实验是在之前系统设计的基础上对系统进行测试修改,进一步完善,在长时间的合作磨合之下,团队成员之间的合作越来越融洽,但是由于大家的编码能力普遍不行。最终设计的系统与题目所要求的还是有一定的差距,不过我们还是会继续的努力的。
马艳:
本次实验我的任务分工是编写系统需求规格说明书,编写本次博客,录制配置环境视频,功能测试,压力测试等,其实也是大家共同参与共同完成的,需求分析以及测试对于一个系统来说是非常重要的,会及时的发现系统中存在的bug,在交付给用户前可以加以改进,提高系统性能;在每次的测试中便于总结经验,不断完善系统各项功能。
王会娟:
本次实验我的主要任务是编写系统需求规格说明书,压力测试,上传项目至Gitub仓库,功能测试,但是在整个过程中也出现了很多的问题。在Beta冲刺的这四天里,主要是对系统的各种测试。感觉经过Beta冲刺阶段之后,系统整体更加完善,整个过程中只有自己真正的着手去做,才会发现问题并试着去解决问题。组内成员配合越来越默契,感觉自己学到了很多。另外团队组长对项目任务的合理分工也很重要,要根据每个成员的实际能力进行合理的分工,确保项目的顺利进行和完成。
牛建疆:
在本次的实验中我主要负责编写测试文档,编写生成测试数据,压力测试,编写程序生成1万条以上的数据库记录等,在软件beta冲刺过程中,从项目刚开始学习黑盒测试技术,到后面的,用户应用场景测试并完善功能,制定团队项目软件的功能测试文档,遇到问题时,积极与团队成员沟通,学习相关知识,最终大家共同协作解决了问题。
总结:
这次项目之后,大家的默契也越来越好,因为每个人的真实能力大家都知道,但是组内成员也还是尽自己最大的努力来完成本次项目,遇到问题大家一起商讨解决,对于安排的任务大家也都会完成的很好,这次开发主要用的是Java语言以及SQL数据库,虽然大家的编程能力都不好,但还是每天都在尝试,每位成员都在努力完成自己的工作任务,虽然最终设计的系统与原型系统有一定的差别,但是大家也是收获了很多。
-
每位成员陈述课程学习总结,回顾《实验一软件工程准备》提出的3个问题,并总结答案。
魏娜娜:
1,可行性研究的内容有哪些?
答:可行性研究主要是从技术、经济和社会三个方面对软件项目的可行性进行分析。
技术可行性研究是对技术解决方案的实用性、技术资源的可用性和设备条件做出评估。
经济可行性研究要对项目的开发总成本与开发系统将带来的经济效益之间的差值进行度量,从经济的角度去判断是否值得为软件开发项目进行投资。
社会可行性研究从政策、法律和制度等社会因素方面考虑项目开发的合理性和意义。
2.如何理解需求分析的作用和重要性。
答:一般情况下,用户并不熟悉计算机的相关知识,而软件开发人员对相关的业务领域也不甚了解,用户与开发人员之间对同一问题理解的差异和习惯用语的不同往往会为需求分析带来很人的困难。所以,开发人员和用户之间充分和有效的沟通在需求分析的过程中至关重要。
3.常用的需求获取的方法有哪些?对比各种方法的优缺点。
答:获取需求的方法有很多种,比如,问卷调查、访谈、实地操作、建立原型和研究资料等。
问卷调查法是采用调查问卷的形式来进行需求分析的一种方法。通过对用户填写的调查问卷进行汇总、统计和分析,开发人员便可以得到-一些有用的信息。一般在设计调查问卷时,要合理地控制开放式问题和封闭式问题的比例。开放式问题的回答不受限制,自由灵活,能够激发用户的思维,使他们能尽可能地阐述白己的真实想法。但是,对开放式问题进行汇总和分析的工作会比较复杂。封闭式问题的答案是预先设定的,用户从若干答案中进行选择。封闭式问题便于对问卷信息进行归纳与整理,但是会限制用户的思维。
访谈通过开发人员与特定的用户代表进行座谈,进而了解到用户的意见,是最直接的需求获取方法。由于被访谈的用户身份可能多种多样,开发人员要根据用户的身份特点,进行提问,给予启发。当然,进行详细的记录也是访谈过程中必不可少的工作。
亲身实践可以更直接地体会现有系统的弊端以及新系统应该解决的问题,这种需求获取方法就是实地操作。通过实地操作得到的信息会更加准确和真实,但是这种方法会比较费时间。当用户本身对需求的了解不太清晰的时候,开发人员通常采用建立原型系统的方法对用户需求进行挖掘。通过对原型系统进行模拟操作,开发人员能及时获得用户的意见,从而对需求进行明确。马艳:
本次软件工程项目的设计与开发,我学习到了很多技术和知识。学习到了HTML网页的一些基本语法和编写方法,UML用例图的绘制,软件工程开发的一些基本工具的使用,软件开发文档编写的方法和实践,人机交互应用程序开发时人机界面的设计,人机对话的实现,人性化的界面设计等,而作为团队的一员,一定要按时完成任务,不拖团队后腿。学习过程中,小组的团队配合很好,项目进度和质量也会比较好。同时学到了很多软件工程开发的实质性知识,而且对于以前不敢面对的编程也慢慢入手去做,学到了很多相关领域的知识,提高了自己的整体水平。
(1)软件工程是什么?
软件工程是一门研究用工程化方法构建和维护有效的、实用的和高质量的软件的学科,它涉及程序设计语言、数据库、软件开发工具、系统平台、标准、设计模式等多方面。 现代社会,软件几乎应用于各个行业,如工业、农业、银行、航空、政府部门等,这些应用促进了经济和社会的发展,使得人们的工作效率和生活效率得以提高。
(2)一个好的团队应怎么合理的分工?
首先要明确团队工作目标,梳理团队关键工作,设定成员考核指标,分工考虑团队关键成员的个性特点、优势与擅长点等,为了保证关键团队成员的工作能够按计划完成,同时保证最终团队目标的实现,要制定相应的工作机制。
(3)常用语言的代码规范包含哪些基本要求?
代码规范包含代码风格规范和代码设计规范两部分,公司的产品质量,维护成本,人员培养成本和规范息息相关,所以在编写代码的时候要注意代码规范。代码规范主要有在复杂的条件表达式中,用括号清除表示逻辑优先级;每个函数前都要写注释;用能比较明确表示函数意义的名字来命名函数;不把多条语句、多个变量定义在一行上等等。另外,代码风格的原则是:简明,易读,无二义性。在团队工作时,制定一个好的编码规范,可以使得结对编码过程更加规范和方便。王会娟:
1.什么是代码重构?
重构就是通过调整程序代码,但并不改变程序的功能特征,达到改善软件的质量、性能,使程序的设计模式和架构更趋合理,更容易被理解,提高软件的扩展性和维护性。资料中都在强调重构的好处,而重构在“软件系统的过程, 它不会改变代码的外部行为, 同时改善其内部结构。 这是一种严格的清理代码的方法, 它可以最大限度地减少引入错误的可能性。 本质上, 当重构代码时, 是在编写代码之后改进它的设计”。
2.如何评估用户界面?
(1)系统状态有反馈,等待时间要合适
(2)使用用户语言而不是开发者语言,贴近生活实际而不是学术概念或开发者的概念。
(3)操作失误可回退
(4)同一事物和同类操作的表示用语要各处保持一致
(5)预防用户出错
(6)识别胜于回忆,提供必要的信息提示(可视&易取),减少记忆负担
(7) 为新手和专家设计定制化的操作方式,快捷操作可调整。
(8) 减少无关信息,体现简洁美感
(9) 给用户明确的错误信息,并协助用户方便的从错误中恢复工作
(10) 无需文档就能流畅应用当然更好,一般地文档很必要,而且也提供便利的检索功能,从用户的角度出发描述具体步骤,并且不要太冗长。
3 .个人技术与流程与软件工程有什么关系?
软件是由多人合作完成的,不同人员的工作相互有依赖关系,所以个人技术是会影响整个软件开发的过程,个人技术主要是软件开发过程中的细节问题。
在开发出软件后,必须要经过测试才算是完成了软件,这就需要一个好的单元测试的标准。1、单元测试应该在最低的功能/参数上验证程序的正确性。 2、单元测试必须由最 熟悉代码的人(程序的作者)来写。 3、单元测试过后,机器状态保持不变。 4、单元测试要快(一个测试的运行时间是几秒钟,而不是几分钟)。 5、单元测试应该产生可重复、一致的结果。 6、独立性-单元测试的运行/通过/失败/不依赖于别的测试,可以人为构造数据,以保持单元测试的独立性。 7、单元测试应该覆盖所有代码路径。 8、单元测试应该集成到自动测试的框架中。 9、单元测试必须和产品代码一起保存和维护。牛建疆:
(1)我们自己写的demo和我们用的app有什么区别?
在这次项目过程中,我感受到了我们的demo和我们使用的app比如说淘宝、抖音等的差别太大了,不仅仅是功能的实现方面,在阅读了《构建之法》后,我发现: 软件 = 程序 + 软件工程 企业软件 = 软件 + 商业模式。
(2)如何避免随时出现的需求拖垮项目?
我们在研发项目期间每次的测试都会有新的需求提出来,新的测试指标也会相应而来,我们的需求有一部分时项目刚开始就分析好的,而一些则会在研发过程产生,对于这些新的需求,我认为:提前做足功课很重要,更要考虑到未来的需求,比如考
虑到研发的时间成本等,随着研发时间的流逝,软件的需求也随之提高,考到新的技术就是想往上加,这种周而复始的加需求研制,会走到一个死胡同。我认为正确的做法是,确定一个时间节点,封闭需求,或者绝不轻易增删改需求,先研发出来一个可
行的版本,对于新的需求在更新的版本上添加就行,这样最起码有可用的软件,且可以与时俱进。
(3)研发过程中是人重要还是技术重要?
对于这个问题我认为是人和技术都很重要。一个成功的软件也离不开两方面的协同,只有坚定的团队拥有好的技术支持才能有好的软件的研发成功。但这又会引申出另一个话题,软件团队每个人个性不一,如何引导大家团结一致呢?我认为:首先是目标一致,大家都认同的目标,要不然人心各异,不认同的人就不会为这个目标而奋斗,队伍还没开始努力就散了,所以有共同的目标是好的开始。再者就是要分配好任务,这样我们的团队才不会乱,也不会出现有的成员忙死了,而有的成员无事可干。当 然,这里的分配好任务指的是按照成员能力分配。