个人作业——软件工程实践总结作业
作业描述
|||||
|:--|:--|
|作业所属课程| 软件工程1916 W(福州大学)|
| 作业要求 | 个人作业——软件工程实践总结作业 |
| 我的课程目标 | 对本学期软件工程实践课程的总结以及对自己和课程的评价 |
作业正文
一 、请回望开学初的第一次作业,你对于软件工程课程的想象
1)对比开篇博客你对课程目标和期待,“希望通过实践锻炼,增强计算机专业的能力和就业竞争力”,对比目前的所学所练所得,在哪些方面达到了你的期待和目标,哪些方面还存在哪些不足,为什么?
- 一开始对课程的期待只是单纯的想通过这个课程更加了解到今后的工作与生活,但是通过一系列的作业下来,比我预想学习到的东西更加的多,对软件工程的了解更加深刻了,不只是单纯的未来的日常。不足的话就是可能还是因为其他课程的压力太大,没能全心全意的感受到整个课程带来的好处吧。
2)总结这门课程的实践总结和给你带来的提升,包括以下内容:
-
1、统计一下,你在这门软件工程实践中,完成了多少行的代码;
1.5+kloc
-
2、软工实践的各次作业分别花了多少时间?(做一个列表);
|||||
|:--|:--|
|作业名称|耗时|
| 第一次作业——准备篇 | 3 |
| 结对第一次——原型设计(文献摘要热词统计) | 8 |
| 结对第二次—文献摘要热词统计及进阶需求 | 18 |
| 团队作业第一次—团队展示 | 2 |
| 团队作业第二次—项目选题报告 | 4 |
| 团队第三次-项目原型设计 | 6 |
| 团队作业第四次-项目需求分析 | 10 |
| 团队作业第五次—项目系统设计与数据库设计 | 8 |
| 团队作业第六次—团队Github实战训练 | 16 |
| 项目Alpha冲刺(团队) | 40 |
| 事后诸葛亮(团队) | 3 |
| 项目Beta冲刺(团队) | 21 |
| Beta阶段团队项目互评 | 1 |
| 个人作业——软件工程实践总结作业 | 2 |
| 总计 | 143 |
-
3、哪一次作业让你印象最深刻?为什么?
当然是项目Alpha冲刺了,计划了那么久了项目终于可以开始动手去实现它了,也是具体上手编程的阶段,毕竟编程技术才是最让我兴起的地方,并且可以学习到新的框架开发,不拘泥于原来简答的课设。这让我很是兴奋
-
4、累计花了多少个小时在软工实践上?平均每周花多少个小时?
累计时间143h,每周花费9小时。
-
5、学习和使用的新软件;
IDEA,postman,swagger,墨刀
-
6、 学习和掌握的新语言、新平台;
spring boot 、 hibernate 和 .net core(很浅显浅显)
-
7、 学习和使用的新工具;
代码管理工具:GitHub
项目管理工具:Showdoc、leangoo
-
8、 学习和掌握的新方法;
spring boot整合jpa等 -
9、 其他方面的提升。
Alpha阶段对MVC架构的深入理解
Beta阶段对服务器安全方面的开拓
二、写下属于自己的人月神话——个人或结对或团队项目实践中的经验总结+实例/例证结合的分析
- 在开发过程中虽然前后端的开发是相互独立的,但是在冲刺过程中就是太过于的相互独立在接口对接的时候会发现有很多实际的功能没有做到,或者功能需求没有根据界面考虑完善。在Bate阶段也涌现出了许多第一轮需求设计时考虑不完事的地方。所以在今后的开发过程中还是更应该注重团队的交流吧,只有通过不断的交流,才可以使得设计变得尽善尽美。同时也应该加强自身的需求发现能力,让许多东西在需求分析的时候就考虑的全面。
三、对下一届实践的建议,或者对于开学初的你,对于大一的你,对于开学初的我,你有什么想建议和告知的呢?对于后来人的期许。 特别地,特别地,下一届要不要中途换队员?
- 对于开学初的我我希望他可以多主动包揽点任务,这样子可以多成长一些。最近看到助教和老师都比较关注于这个问题,作为被交换的一个学生也是当初在群里吵的比较凶的一位。我可得好好回答这个问题。首先不对不对承认老师的做法和初衷都是好的,可以让我们切身的体会到软件工程中出现的各种各样的情况,但是课程设计之处在我看来也有很多不合理的地方。首先是我们都在抱怨的时间段问题,大三这个时间段确实太微妙了,在已经占据我们非常多的时间上再加上额外的工作量 在我们看来不管初衷如何都已经变成了我们的负担 所以我们表现的都是非常的抗拒。那么额外的负担产生在什么方法,当然就是新技术的学习。其实在开发过程中我觉得最难最花时间就是新技术的学习,那么额外的让我花费这么多时间干其他事我肯定不愿意。助教们不是都喜欢比喻嘛?如果让你们明天上班完花5个小时去学一门你不喜欢且暂时对你无法产生利益的东西你愿意吗?换位思考一下。那么如果汪老师以后要坚持在大三下实行这个额外。增加学习成本和负担的环节,那么我有点点小小且不成熟的意见。在开发的初期项目的开发语言上,大部分人都是没有项目的实战经验的,对于市面上流行常用的各种开发框架都不熟悉 在α阶段的时候甚至有人拿servelet拿做服务器 多少年前的东西了。及时使用最新框架的学生来说也有很多人是从头学起的,接触新的框架也是因为有人牵头。那么老师可不可以在对项目进行评估的时候给出适合的开发框架,在这个方面不让学生自由发挥 ,限定几种常见开发效率高的框架我觉得并不是限定死学生的思维,而是在在引导学生走完路。这样子在最后交换成员的时候交接的问题我想就会小很多,技术和工作衔接也会比较流畅
四、分析一下自己所处的团队。软件工程实践是大学里少有的认真的团队协作经验。《构建之法》上说团队的发展有几个阶段,你的团队都经历过么,最后到达了“创造”阶段了么?
- 萌芽、磨合、规范、创造 确实是循序渐进的过程。从开始的团队组成,到一次次作业的累计磨合。队伍确实越来越默契,一堆项目新手在不断的交流过程中也能够很快的融入到紧张的开发节奏中来。前后端通过不断的沟通来规范项目的规范等等。而创造目前还差一些距离。
五、怎样证明你学会了软件工程?
-
1、研发出符合用户需求的软件
- 在项目的萌芽阶段需求分析对于市场痛点的分析和可行性的分析应该还是比较充分的,正是因为用户需要他,才会引导我们去创造他。
-
2、通过一系列工具,流程,团队合作,能够在预计的时间内发布 “足够好” 的软件
- 通过github对项目源码进行管理,leagon进行任务分配管理,scrum的站立式会议等等来推动项目的进度。
-
3、并且通过数据展现软件是可以维护和继续发展的。
- 通过showdoc对数据接口的统一 ,带需求发生改变时间修改接口声明。
- 制定统一的代码规范和注释规范,增加后续开发时代码的可读性。
七、个性发挥,包括图文、照片和创意等
- 愿世间没有bug