• 实验十二 团队项目用户验收评审


    任务1:团队作业Beta冲刺


    任务2:项目如果是有价值的,有可能有团队会继续开发你的项目,到时候会不会出现源代码找不到、没有文档等尴尬的情况呢? 团队要考虑如何进行高效的源代码管理,请在Beta 冲刺过程中试着回答以下链接中关于源代码管理的10 个问题: http://www.cnblogs.com/xinz/p/5044037.html

    你的团队的源代码控制在哪里?用的是什么系统?如何处理文件的锁定问题?
    我们团队源代码托管在github代码托管平台,使用git分布式版本控制系统做源码管理及版本控制,对于想要锁定的文件可以git相关命令实现。
    如何看到这个文件和之前版本的差异? 如何看到代码修改和工作项 (work item),缺陷修复 (bug fix) 的关系。
    可以使用git相关命令来查看当前没有添加到本地仓库的内容修改情况,当前添加到本地仓库但没有提交到托管平台的内容提交情况,以及查看任意两个提交版本之间的改动情况;代码修改应当包括工作项提交和缺陷修复,可以从commit记录查看修改情况
    如果某个文件在你签出之后已经被别人修改,并且签入了,那么你在签入你的修改的时候, 如何合并不同的修改(merge)? 你用了什么工具来帮助你?
    当修改的部分不发生冲突时,通过git merge命令合并分支来合并不同的修改;当修改的文件内容冲突时,合并冲突发生后,查看冲突内容手工修改冲突,完成提交,然后使用git merge命令合并。通过git 版本控制工具既可完成。
    你有20个文件都是关于同一个功能的修改,你要如何保证这些文件都同时签入成功(修改的原子性),或者同时签入不成功?
    通过查看提交记录验证,文件是否同时提交成功,若无法同时成功提交,则使用git reset命令撤回提交记录
    你的PC上有关于三个功能的修改, 但是都没有完成,有很多文件处于半完工的状态,这时你要紧急修改一个新的bug,如何把本地修改放一边,保证在干净的环境中修改这个 bug, 并成功地签入你的修改 --- changelist management。
    创建新的分支,切换到该分支,修改bug后,提交该分支
    规范操作和自动化
    你的团队规定开发者签入的时候要做这些事情:
    - 运行单元测试,相关的代码质量测试。
    - 代码复审 (要有别的员工的名字)
    - 和这次签入相关的issue编号,任务/task,缺陷/bug编号,等等,以备查询。
    请问你的团队有这样的自动化工具让开发者方便地一次性填入所有信息然后提交么?(高级功能,代码提交之后,相关bug的状态会改动为 “fixed”,并且有链接指向这次签入。)
    没有使用这样的工具来规范签入操作
    如何给你的源代码建立分支?
    使用git branch新建本地分支,切换分支后,push到远程仓库
    一个源文件,如何知道它的每一行都是什么时候签入的,为了什么目的签入的 (解决了哪个任务,或者哪个bug)?
    cd 到该文件所在目录,使用git log查看提交记录
    如何给一个系统的所有源文件都打上标签,这样别人可以同步所有有这个标签的文件版本?
    后期指定提交校验和来对某一次提交打标签,使用git tag -a v1.2 校验和 命令实现
    你的项目的源代码和测试这些代码的单元测试,以及其他测试脚本都是放在一起的么? 修改源代码会确保相应的测试也更新么?你的团队是否能部署自动构建的任务?
    源码及单元测试放在一起,没有自动化测试脚本。团队使用Jenkins实现了项目打包部署自动构建任务,以便最新的开发版本上线测试


    任务3:参考软件项目验收相关知识(一)要求,完成团队项目验收准备工作,包括项目文档的完善与整理、团队项目总结陈述PPT编制、符合团队项目特点的项目验收意见表的编制、完成项目软件系统演示前准备工作,确认结对验收项目组,编制验收会议名单及验收会议议程。在团队项目Github仓库中上传以上文档。

    项目验收相关文档仓库地址


    任务4:课堂验收会


    任务5:项目总结,分工及实现心得

    团队照片

    验收流程

    • 项目汇报展示:团队成员向大家汇报项目开发基本情况,完成情况,项目总结。团队成员向大家在线演示项目成果,接受老师,同学提问。
    • 项目验收展示:由结对项目组-Spring_Four团队作为验收方,组织对本项目实施验收,主要内容包括项目文档完整性的检查,源码提交记录检查,项目功能完整性检查,最后完成验收,双方签字确认结果。

    团队成员的具体分工

    任务 成员 任务量 完成时间
    弹幕数据爬取及分析 杜世康 20% 72h
    主播管理功能的实现及软件操作手册的撰写 刘丹 15% 60h
    弹幕管理功能的实现及软件验收表的撰写 李玉莹 15% 60h
    系统统计功能的实现及软件需求规格说明书的撰写 曹莹雯 15% 60h
    系统数据分析功能的实现及软件测试报告的撰写 尹楠 15% 60h
    系统权限系统的实现及软件系统设计说明书的撰写 王静雅 20% 70h

    实验心得

    • 杜世康:经过这一学期的软件工程课程的学习及团队项目的开发。我进步很大,不仅仅是书本上知识的掌握,不仅仅是编程水平的提升,不仅仅是对于软件工程这门课程的理解,还有团队项目开发经验的积累,软件开发流程的掌握以及对于团队建设经验的积累,我受益匪浅。
    • 刘丹: 这次的实验使我了解到一个项目产品如何进行验收的。也是本学期最后一次实验。经过一学期软件工程的学习。还有老师的翻转课堂教课,不但让我从理论上掌握软件工程,还有从不同的实例,让理论和实践得到了很好的结合。整一个学期下来,总的来说还是学到了很多东西的,有很多地方是值得肯定的,其实在我看来,软件工程与其说是一门课程,不如说是一门思想。是一个如何去分析和处理问题的过程,应该说其范畴已经远远不止局限于该门课程,成为了一个综合的一个能够解决问题的思想集合。通过团队合作完成作业的过程。我认识到团队合作的重要性。合理分工。积极的配合。让我们的项目又快又好的完成了。
    • 王静雅:本学期软件工程的课程已经到了收尾的阶段,回想起这一学期关于软件工程的学习,感觉收获颇多。老师的翻转课堂的教学模式,对我们是一种新奇的体验。这门课程让我切身体验一个项目从无到有,从有到延续的整个过程,也深切领会到团队的重要性,团队要有主心骨,要有合理的分配,让不同的人负责不同的部分,方能人尽其用。开学初对软件工程的浅薄认知让我在接下来的学习中屡次被打脸,原来这不只是简单的设计编程,而是一种创造,把一个软件项目一步步分析确认,参照前人的经验过程,把它一点点的创造出来,这个过程也让我认识到软件的设计不是程序员的一厢情愿,更重要的是用户的意愿,用户就是上帝,上帝的意愿自然就要程序员尽可能的实现。最后,感谢老师和助教的帮助和指导,为他们的辛勤付出点赞,也感谢其他成员的帮助与支持,有开拓者才有这样的体验,感谢各位!
    • 尹楠:经过一学期的学习,我们的团队项目也基本完成。在这个项目中,我对所学知识有了进一步巩固,学到了很多书本上没有的知识,了解了一个项目开发的完整过程,个人能力得到了提高。在我们团队所有成员积极配合,共同努力下,项目得以顺利进行,也真真认识到团队合作的重要作用。这学期老师采用了翻转课堂的教育模式,起初很是不习惯,但现在回想这一学期所学内容,收获很多。
    • 曹莹雯:这次的项目我们的团队提出来一个我认为很新颖的题目。里面有很多知识点是我从来没有接触过的。一开始我能帮上忙的地方也不多,但在完成任务的过程中,我从中学习到了很多之前并不了解的知识。通过团队协作了解到的知识远比自己从书本上了解的更全面更快速。在这也非常感谢我的成员们,我从他们身上学到了不少东西,也非常感谢在面对任何问题时,我们能不争吵心平气和冷静的商讨处理问题。可能这就是团队的魅力所在。最后也非常感谢老师和助教团队在教学过程中的辛勤付出。
    • 李玉莹:本学期的软件工程课程已经快要收尾,在一学期的实践过程中我收获颇多,一开始选题的时候组长提出的这个题目感觉很有趣很新颖,但是应用的数据挖掘方面的技术我之前却从未接触过,在做项目的过程中在组长的指导下对这部分内容也了解了不少,至今,这个项目经过几个月的努力完成了大部分的功能,最后一节课老师点评的时候也发现了很多不足和可以后续接力开发的地方。团队合作在软件工程中真的扮演着很重要的角色,有一个优秀的领头人也是至关重要的,总之感谢所有的小组成员们,尤其感谢组长,教会了我们很多也给我们分担了很多。

    实验总结

    经过这几个多月来的努力,我们顺利的完成了既定的开发任务。从项目完成情况来看,我们完成了90%的工作,很满意。而对于未完成的部分,也在我们预想之中,那是我们目前自身技术的天花板,我们需要在以后的学习中,提高自己,去突破它。从项目完整性来看,本次开发的项目较为完整,从前期需求分析,用户调研,到系统设计,编码测试,最后验收文档的撰写所有环节,完成的都很认真。我们有信心认为这是一次成功的团队项目开发实践。
    能够取得这样的开发成果,我们很感谢,也很感激背后默默付出的老师们,助教们,谢谢你们严谨负责的治学态度以及对学生的启发指导。也感谢我们团队里的每一个成员,正是我们互相帮助,携手并进,在课堂上不断的讨论,课后认真的实践,才得以本次团队项目成功验收,感谢你们!

    最终项目燃尽图

    项目体验地址

    • 地址: 点我访问
    • 游客帐号:18298325268
    • 游客密码:123456
    • 推荐浏览器:谷歌
  • 相关阅读:
    Javascript面向对象编程(二):构造函数的继承
    JS的封装(JS插件的封装)
    [Redis]Node操作Redis
    Linux中SSH客户端断开后保持进程继续运行配置方法的具体介绍
    linux防火墙查看状态firewall、iptable
    在Linux系统安装Nodejs 最简单步骤
    centos7 安装nodejs 最新版
    如何在Webstorm/Phpstorm中设置连接FTP,并快速进行文件比较,上传下载,同步等操作
    css实现图片横向排列,溢出隐藏/滚动条横向拖动
    设计模式——单例模式
  • 原文地址:https://www.cnblogs.com/LWDL/p/9249181.html
Copyright © 2020-2023  润新知