团队项目用户验收评审
团队项目用户验收评审
1. 你的团队的源代码控制在哪里?用的是什么系统?如何处理文件的锁定问题?
我们团队的源码控制在Github上,它是一个面向开源及私有软件项目的托管平台,起到资源共享的作用,别人可以对我们的源码进行查阅,分享,我们也可以学习和共享别人优秀的代码。我们用的是win7 系统,它有着成熟,稳定的运行环境。我们对文件的锁定上没有太大的加以限制,是public的,本来这就是一个开源的,共享的平台,别人可以学习,共享我们的代码,我们反过来也一样,大大的提高了开发的速度。
2. 如何看到这个文件和之前版本的差异? 如何看到代码修改和工作项 (work item),缺陷修复 (bug fix) 的关系。
我们可以在项目的commit的上查看我们的记录,它里面有代码修改及何时修改的信息,我们可以看到的是记录里面的”+”,它标注的是在原文件的基础上增加的代码的记录,”-“标注的是在原文件的基础上删掉的代码的部分,颜色显示也不同。 其实我们团队是以任务为单位和模块进行的开发,这种开发模式在任务分配之处就已经给该任务提供了描述。
3.如果某个文件在你签出之后已经被别人修改,并且签入了,那么你在签入你的修改的时候, 如何合并不同的修改(merge)? 你用了什么工具来帮助你?
在git中执行合并即可自动合并Git修改的部分。但是,也存在无法自动合并的情况。如果在远程数据库和本地数据库的同一个地方都发生了修改的情况下,因为无法自动判断要选用哪一个修改,所以就会发生冲突,git会显示本地数据库和远程数据库同一个地方的不同修改,这时候就需要我们手动解决冲突,暂时没有想到什么好的工具可以解决不借助人力自动解决这个问题。
4. 你有20个文件都是关于同一个功能的修改,你要如何保证这些文件都同时签入成功(修改的原子性),或者同时签入不成功?
(1).直接对工程文件进行整个的签入挂起的更改,这样会直接把有更改的所有文件进行签入。
(2).在修改之前为将要修改的文件都上锁,防止其他的签入时候进行签出操作。
5. 你的PC 上有关于三个功能的修改, 但是都没有完成,有很多文件处于半完工的状态,这时你要紧急修改一个新的 bug,如何把本地修改放一边,保证在干净的环境中修改这个 bug, 并成功地签入你的修改 --- changelist management。
同样没有遇到过。但是分支应该是解决这一问题的有效方法。在对文件修改之前建立分支并在这个分支上进行功能的修改,如果遇到BUG,则在主分支上再建立一个新的分支,最后当这两个分支都完成之后把它们合并到主分支当中去。这个时候我们只要在本地新建一个分支,然后在新的分支上进行bug的修复就好。当前分支的内容就被保存在原地。这样我们就可以在“干净”的环境中进行bug的修复工作了。当然在修复bug之前,先对原有的分支进行保存,防止新建分支的影响。
6.请问你的团队有这样的自动化工具让开发者方便地一次性填入所有信息然后提交么? (高级功能, 代码提交之后, 相关bug 的状态会改动为 “fixed”, 并且有链接指向这次签入。)
我们团队目前还没有比较完善的自动化的工具让开发者方便的一次性填入所有信息,我们是分阶段进行填入,合适后,再进行提交。这可能是我们的一个短板,我们在后期的学习中会着重解决这个问题,让开发者方便地一次性填入,提高开发效率。
7. 如何给你的源代码建立分支?
如上图所示,建立过程已称述,在这儿就不多说了。
8. 一个源文件,如何知道它的每一行都是什么时候签入的,为了什么目的签入的 (解决了哪个任务,或者哪个bug)?
在Git平台上,可查看历史记录:结果会显示改行的修改记录,通过后面的注释可以知道该次签入的说明。由于历史查看也会显示出修改人员,可以向该次修改的人员进行更详细的询问。
9. 如何给一个系统的所有源文件都打上标签,这样别人可以同步所有有这个标签的文件版本?
我们多个版本的源代码管理都没有用到标签。可能是应该项目规模还比较小,用标签的收益不大。标签其实就是为整个项目或者某一个.java文件制定一个索引,在版本的推移中,如若发现新版本的各方面均不如之前的版本,可以通过标签查到到之前的版本或者某一文件。从标签的试用上来看,标签在大型项目中会十分灵活。能够快速定位到某一个变更集并对其进行操作。
10. 你的项目的源代码和测试这些代码的单元测试,以及其他测试脚本都是放在一起的么? 修改源代码会确保相应的测试也更新么?你的团队是否能部署自动构建的任务?
测试目前的确是我们团队一个一个短板,场景所提到的自动测试程序我们几乎没有。如今Beta的开发阶段已经过去,也仅是对成员做出测试数据记录以及测试日志的上传,测试强度依然欠缺。从现在到项目展示的这段时间,我们会尤其重视测试。如若时间条件允许,也会编一个自动测试程序进行各个变更集的编译测试。
一:项目验收表及测试文档:https://github.com/teammzs/project14四:验收会议过程
1.项目汇报
由老师担任主持人,项目组长或主要技术人员进行PPT讲解,汇报本项目的项目背景、开发过程、功能简介、工作总结,并对本系统进行演示,由老师和其他同学对本项目进行提问,该团队成员进行解答,在此同时,老师根据项目讲解情况、项目完成度以及答疑情况对本项目进行评分。
2.项目验收
在此之间,我们已完善并整理好需求分析说明书、系统设计方案说明书、系统测试文档、实施文档、会议记录、项目总结文档等重要文档,完成项目软件系统演示前准备工作,并准备好项目验收意见表、验收会议名单及验收会议议程。
本次项目验收会议成员为F4+2团队和本团队的全体成员,先有本项目做工作汇报和总结,接着,本团队主要技术人员进行系统实现过程简述和系统演示,这些工作结束以后,由F4+2团队进行提问,本项目成员解答,最后由F4+2团队的组长填写项目验收意见表,验收项主要包括系统安装和运行、系统功能以及系统开发文档。
五.站立式会议场景
五、任务分工
|
具体任务 |
工作量比例 |
完成时间 |
马婧(12),马绍辉 |
1.实施文档 2.验收会议名单及验收会议过程 3.Beta冲刺三 |
17% |
4h |
马婧(13) |
1.Beta冲刺四 2.撰写博客 3.Beta冲刺四 |
17% |
4h |
马世芳 |
1过程文档 2.甲方验收意见表 3.Beta冲刺一 |
17% |
4.5h |
张俊逸 |
1.Beta冲刺二 2.测试文档 3.项目验收表 |
16% |
3.5h |
马仲山 |
1.Beta冲刺一 2.ppt 3.项目汇报 |
17% |
4h |
|
|
六.总结
马婧(12):这次项目之后,我觉得一个人尤其大学生要养成总结与反思的习惯,并有意识地提炼日常工作成果。这次开发主要用的是Java,在一种语言上编程,但别为其束缚了思想。深入一门语言开发还远远不足,任何编程语言的存在都有其自身的理由,所以也没有哪门语言是“包治百病”的“灵丹妙药”。编程语言对开发人员解决具体问题的思路和方式的影响与束缚的例子俯拾皆是。
张俊逸:本学期的任务快结束了,今天为止我们的项目和任务总算全部完成了,在以后我们也会继续完善本系统,让他变得更成熟,我们也继续走在学习的道路。在开展项目的这段时间,完成我们项目的同时,通过查看他人博客的展示以及与其他同学的交流等方式,让我见识到了不少优秀的项目。最大的感触就是,无论是任何一个项目,哪怕其规模再小或是功能再简单,只要能真正帮助到用户,就要努力完成。组员间的互相帮助和共同学习也使我成长了更多,以后大家还是加油。
马婧(13):这学期的软件工程教会了很多东西,不仅是在编程方面的提升,还懂得了在一个开发团队中怎样互相协作。同时让我了解到一个软件的开发并不是当你拥有编程能力就可以完成开发的,在开发前需要准备很多东西像调查问卷,需求分析等,只有经过这些科学的方法,我们才能开发出用户需要的软件。在项目开发中我们会遇到很多的难题,和同伴们解决这些难题也是非常快乐的事。在这之中我们也得了很多经验,这对我们在以后的工作中有很大的帮助。此外软件工程的每一项阶段通过实际的项目进行实践,将理论与实践结合,更好地理解了课本知识,忙了一学期,收获挺多。
马绍辉:从项目立项到验收这整个过程,让我对软件工程有了一个全新的认识,拿到一个项目不是埋头敲代码,而是要整体的规划,获取需求,分析需求,明确需求,这些步骤都是不可缺少的。团队合作做项目,首先得确立一个大的目标;其次要把这个目标分解成小目标,对目标要进行有效的管理;最后,团队的合作很重要,有效的交流和沟通是每个软件应该具有的基本素质。这次项目,我也学到了很多,无论做任何事都要认真,同时也看到了自己的很多不足之处。
马世芳:一学期的时间很快就过去了,回顾这学期的学习,和伙伴们把一个系统从无到有的实现,有着满满的自豪感。虽然其中也遇到了困难,但在解决困难时让我们成长了许多。我们学会了和同伴怎样去合作,去交流,知道了理论与实践并重,内外双修的重要性。我们要站在成熟理论与可靠方法论的高度思考、分析、解决问题,并在具体实践中验证和修正。
马仲山:这次项目之后,我们软件工程的学习要告一段落了,但是,对于我这种喜爱编程的人来说,这才是刚刚开始,不管以后有没有这种团队项目的学习,我都会继续我的这方面的学习,坚持下去。这几次团队项目的学习,让我和我的团队付出了很多,同时也学到了很多。汗水的付出,才让我们懂得了劳动的价值和收获的快乐。有时,我们的项目文档会写到深夜,虽然很发困,但是那种为项目拼搏的精神,为几次获得的满意的分数,我们感到快乐与自豪,觉得自己的奋斗是有价值的,有意义的。在小组中,我们会各司其职,完成自己的任务,不会做的任务问一下同伴,看他有什么好的想法和意见,在彼此的交流与合作中,深深地体会到合作的重要性以及价值。才体会到“我有一个苹果,你有一个苹果,我们互相交换后,还是我有一个苹果,你有一个苹果,但是,你有一种思想,我也有一种思想,我们彼此交换后,我们各自就有了两种思想”的哲学价值。最重要的是在项目中,大家你一句,我一句的争辩与讨论中,让我们进步很快,收获很足。同伴之间也建立了很深的友谊。我相信我们这次团队项目的学习收获到了早起老师预期的效果,到达了一个新的高度,我们还会继续加油!