网络15软工个人作业5——软件工程总结
一、请回望开学时的第一次作业,你对于软件工程课程的想象
-
1.对比开篇博客你对课程目标和期待,“希望通过实践锻炼,增强计算机专业的能力和就业竞争力”,对比目前的所学所练所得,在哪些方面达到了你的期待和目标,哪些方面还存在哪些不足,为什么?
① 达到的期待与目标:学习了软件工程中理论和概念;真真实实体验了一把软件工程开发流程;在团队开发过程中学会了团队协作、以及如何更好的沟通交流;锻炼了动手开发能力 ;成功地开发了一款微信小程序等
②不足之处:没有很好的理解消化课本中的某些知识,原因分为主观和客观,首先主观上自己不够认真,客观上某些知识在实践中很少碰到,理论没有和实践结合就比较难以理解一点。 -
总结这门课程的实践总结和给你带来的提升,包括以下内容:
1)统计一下,你在这门课程中,完成了多少行的代码;
包括结对编程和团队编程完成了1500行代码的编写
2)软工的各次作业分别花了多少时间?(做一个列表)作业 所花时间 软工网络15个人阅读作业1 6h 软件工程网络15个人阅读作业2-提出问题 9h 软件工程网络15结对编程作业 35h 软件工程网络15团队作业1——团队组队&展示 1.5h 软件工程网络15个人作业3——案例分析 15h 软工网络15团队作业2——团队计划 6h 软工网络15团队作业3——需求分析与设计 10h 软工网络15团队作业4——敏捷冲刺(Alpha阶段) 60h 软件工程网络15团队作业5——测试与发布(alpha阶段) 5h 软件工程网络15团队作业6——展示博客 4h 项目复审——Alpha阶段 5h 软件工程网络15团队作业7——alpha阶段之事后诸葛亮分析 2h 软件工程网络15个人作业4——alpha阶段个人总结 5h 软工网络15团队作业8——敏捷冲刺(Beta阶段) 35h 软工网络15团队作业9——项目验收与总结 8h 项目复审——Beta阶段 3h 网络15软工个人作业5——软件工程总结 8h 3)哪一次作业让你印象最深刻?为什么?
我印象最深刻的应该就是Beta阶段了,才结束没多久当然比较记得住(开玩笑)。因为在这个阶段我非常的死磕,犹记得一天晚上因为一个问题一直熬到了早上7点才去睡觉——编译后一直得不到我想要的结果然后就坐在电脑前一直调试,虽然已经非常困了思路都打结了内心还是告诉自己一定要把这个问题解决掉再去睡觉,最后终于在7点左右成功解决了这个问题。
4)累计花了多少个小时在软工上?平均每周花多少个小时?
240个小时左右,每周15小时左右
5)学习和使用的新软件;
Git、知晓云、微信web开发者工具、coolaf1.2.1接口在线压力测试版-windows64位
6)学习和使用的新工具;
微信web开发者工具、coolaf1.2.1接口在线压力测试版-windows64位、问卷网
7)学习和掌握的新语言、新平台;
掌握的语言:WXML,WXSS,JS
新平台: 知晓云、微信web开发者工具
8)学习和掌握的新方法;
学会了使用结对编程的方法进行开发,学会使用燃尽图来管理项目进度,学会了分alpha和Beta阶段来进行开发,学会了使用智晓云。学会了如何进行测试,学会了如何进行需求分析等。
9)其他方面的提升。
提高了自己的项目开发能力,团队协作能力,沟通交流能力,抗压能力以及时间管理能力
二、写下属于自己的人月神话——个人或结对或团队项目实践中的经验总结+实例/例证结合的分析
①遇到问题及时求助,在alpha阶段我负责了数据库连接任务,开始时以为挺简单的只要去网上查查资料就能按部就班的完成这个任务,但是实际上这个问题比我想象的要难而且后来发现这个阶段连接上数据库的团队也是少之又少。我低估了这个问题又过分的执着于自己能解决出来最后的结果就是没有连接上。后来beta阶段我就吸取教训多和也做小程序开发的团队交流,遇到问题就和他们交流。我发现这样效率得到了很大的提升。
②不要对一个问题过分钻牛角尖适当给自己放松,上文提到我为了解决一个问题一直熬夜到早上七点,现在想想真的不应该,这样的效率是很低的,而且也不利于身体健康(和头发,开玩笑)学会调整心态遇到问题的时候放轻松,转移一下注意力保持一个 清醒的大脑才有利于持续性开发。
三、对下一届实践的建议,或者对于开学初的你,对于大一的你,对于开学初的我,你有什么想建议和告知的呢?对于后来人的期许。对于换人机制,有什么样的建议?
- 对于下一届的建议:
- 在项目开始前要做好相关知识的准备,了解自己要开发的项目所要用到的工具以及语言等。这样进入alpha阶段才不会一直忙于查找资料、学习语言、学习如何使用开发工具。
- 在需求分析阶段对于项目系统设计以及编写需求规格说明书前团队一定要认认真真的开一个研讨大会统一想法,不能各干各的。必须有一个大概蓝图,然后根据这个蓝图来设计以及编写需求规格说明书。
- 一定要相信团队的力量,不要自我否定然后就放弃项目,甚至直接照搬网上的代码。践踏实地,一个问题一个问题慢慢解决。
- 一定要加强团队内部的沟通,不能各做各的,互相了解彼此的进度,互相帮助。也要学会去和做相同项目的团队进行交流,学会外联会打开自己的视野。
- 学会时间管理,不要因为是大三了有很繁重的学业以及考研、考公等问题就放弃了这次这么好的软件开发实践,合理安排好时间你一定能做到两手兼顾。
- 对于开学初的我的建议
你应该要好好的规划时间,少看手机,多学习。注意好休息不要熬夜。和老师加强交流,老师发的资料要认真阅读。 - 对于换人机制的建议
在alpha阶段进行组队时,可以和另一队进行商量,挑选出两个成员将来互换。我觉得这样首先在这个漫长的过程中要被换出去的同学也知道自己将来的去处,他就可以提前去了解对方在做什么不至于后面换人后不熟悉对方的项目导致参与感不强。其次这样可以避免很多矛盾,之后换人的时候不至于换不出去人也找不到人加入。
四、分析一下自己所处的团队。软件工程实践是大学里少有的认真的团队协作经验。《构建之法》上说团队的发展有几个阶段,你的团队都经历过么,最后到达了“创造”阶段了么?(参考《构建执法》第17章 人、绩效和职业道德)
- 萌芽阶段:团队刚刚组好虽然确认了团队项目当时,我们不知道从哪里入手,在配合协作方面也不够默契。
- 磨合阶段:当alpha阶段进入中期以后,我们彼此都熟悉了,相互配合也越来越默契,开会时因为互相了解熟悉也就比较畅所欲言,遇到争议大家也能求同存异。
- 规范阶段:进入beta阶段时我们,PM能更好的分配任务,成员也能各司其职,能过按照计划完成任务,成功开发一个产品。
- 创造阶段:我认为我们团队还没有达到这个阶段。目前还是在规范阶段中。
五、怎样证明你学会了软件工程?(请在随笔中用数据证明上述内容或侧重选择之一。)
-
研发出符合用户需求的软件
- 必须公开发布,有实际的用户,一定的用户量和持续使用量 (3 天后能保持10 - 100个用户);而不是: 做没有用户使用的软件
从图片上可以看出目前有73个用户
- 必须公开发布,有实际的用户,一定的用户量和持续使用量 (3 天后能保持10 - 100个用户);而不是: 做没有用户使用的软件
-
通过一系列工具,流程,团队合作,能够在预计的时间内发布 “足够好” 的软件
- 有项目规划/需求/设计/实现/发布/维护,有定时的进度发布 ; 而不是: 通过临时熬夜,胡乱拼凑,大牛一人代劳,延迟交付等方式糊弄
项目规划:https://www.cnblogs.com/LDLYMteam/p/8696125.html
项目需求:http://www.cnblogs.com/LDLYMteam/p/8696231.html
项目设计:http://www.cnblogs.com/LDLYMteam/p/8878154.html
项目实现、发布、项目维护:
http://www.cnblogs.com/LDLYMteam/p/8983051.html
http://www.cnblogs.com/LDLYMteam/p/9142408.html
http://www.cnblogs.com/LDLYMteam/p/8983035.html
https://www.cnblogs.com/LDLYMteam/p/9141851.html
定时发布进度条:
Alpha阶段Scrum 冲刺博客合集:https://www.cnblogs.com/LDLYMteam/p/8885164.html
Beta阶段Scrum 冲刺博客合集 :https://www.cnblogs.com/LDLYMteam/p/9062481.html
- 有项目规划/需求/设计/实现/发布/维护,有定时的进度发布 ; 而不是: 通过临时熬夜,胡乱拼凑,大牛一人代劳,延迟交付等方式糊弄
-
并且通过数据展现软件是可以维护和继续发展的。
- 而不是 找不到源代码,代码无文档,代码不能编译,没有task/bug 等项目的发展资料
项目通过码云管理源代码,码云地址:https://gitee.com/yangxueying/software_engineering_team_work
- 而不是 找不到源代码,代码无文档,代码不能编译,没有task/bug 等项目的发展资料