作业要求 | https://edu.cnblogs.com/campus/zswxy/software-engineering-2017-1/homework/10864 |
作业目标 | 软件工程实践总结 |
作业正文 | 本文 |
其他参考文献 | 无 |
一、回望
(1)对比开篇博客你对课程目标和期待,“希望通过实践锻炼,增强计算机专业的能力和就业竞争力”,对比目前的所学所练所得,在哪些方面达到了你的期待和目标,哪些方面还存在哪些不足,为什么?
对比开篇,真的发现人在立flag这件事情上真的是停不下来了,或者说,人的期望值往往却是自身完成的成就所无法满足的。通过这一学期有些让人“抓狂”的作业,也让我或多或少得到了一些提升,当然不仅仅是在coding方面的提升。
很多时候,更多增加的是我的学习能力,也就是personal study,通过许多的渠道来满足我对某一方面的不了解。
coding方面的话,首先就是学习了诸如单元测试,代码静态分析,接下来又因为作业去恶补了一些web方面的技术,jQuery,数据库。之后随着作业的深入,团队作业的开始,又开始学习让我有些痛苦的axure rp,又去学staruml,诸如总总之类的,一下子很难全部说清。
但是毫无疑问的是,这门课让我学会了很多,不是大众所设想的仅仅只是学习如何开发软件——而是,如何开发好的软件,开发好软件需要什么。
有收获,自然就有不足。
首先是团队作业的“失败”,很可惜,因为很多的原因,我们的团队作业完成的并不理想,和我们之前的设想的团队作业也差了很远的距离,我也有责任。
团队的失败的主要原因是团队内的积极性调动不起来,大家没有把这个作业当成是自己的一份责任。关于团队这里就不做过多的赘述了。
个人的不足:
1.个人的美工水平实在不高,完成的原型设计部分,在界面的设计完成的很“丑”。
2.博客园作业不能像其他人玩的那么“六”,还是比较基础的东西,没有什么排版。
3.作业的静态测试部分差点放弃,最后勉勉强强完成的,因为工具不会使用导致了许多的差错,也让我吃了不少苦头。
4.个人的目标定下来之后,在这个学期并没有成功完成我的目标——掌握python,目前只能说是勉强能写点简单的算法题的程度,和完成一个project还差点意思。
(2)你在第一次作业的个人简历中制定的这门课程结束后,你预期你将增长的能力、技术、技能;和你在第二次作业中绘制的学习路线图。对比当前你的所学所得,你达到了当时的预期值吗?
没有达到我的预期,就如同上面我所说的,给自己定的python目标没有达到预期。
(3)请总结这门课程的实践总结和给你带来的提升,包括以下内容:
- 统计一下,你在这门软件工程实践中,一共完成了多少行的代码;
- 软工实践的各次作业分别花了多少时间?(做一个列表)
- 哪一次作业让你印象最深刻?为什么?
- 累计花了多少个小时在软工实践上?平均每周花多少个小时?
- 学习和使用的新软件;
- 学习和使用的新工具;
- 学习和掌握的新语言、新平台;
- 学习和掌握的新方法;
- 工程能力的提升;
- 团队合作上的提升;
- 其他方面的提升;
1)
代码完成行数:
粗略的统计了一下,不算上软件帮助完成的行数,自己手打的大约是在1300行(数值不确定,只是目测)
2)
实践时间:
作业名称 | 花费时间(h) |
---|---|
2020软件工程作业01 | 1.5 |
2020软件工程作业02 | 7 |
2020软件工程作业03 | 21.8 |
2020软件工程作业04 | 25 |
2020软件工程作业05 | 37.5 |
2020软件工程作业00——问题清单 | 8 |
2020软件工程作业——团队02 | 17 |
软件工程逃课小组——项目系统设计与数据库设计 |
10 |
软件工程逃课小组——项目需求分析 |
20 |
2020软件工程作业——团队03 |
15 |
软件工程逃课小组 |
1 |
10 | |
【软件工程小组-冲刺日志(第二天)】 | 5 |
软件工程逃课小组——冲刺日志(第一天) |
7 |
软件工程逃课小组-冲刺日志(第三天) |
4 |
软件工程逃课小组——冲刺日志(第四天) | 4 |
冲刺日志(第五天) | 3 |
软件工程逃课小组-冲刺日志(第六天) | 8 |
软件工程逃课小组——冲刺日志(第七天) | 8 |
8 | |
总计 | 220.8 |
3)
印象最深的作业:
应该是个人作业花时间最长的那一次了,是一次结对编程,要完成家族树的实现。对于我这个要写代码的人来说,非常的头疼,因为我的jsp不怎么行,所以临时还去花时间去补习了很多东西,这些时间太难统计了。
为什么不是团队作业是因为在疫情期间的缘故把,所以比较印象深刻。
4)
总计花费时间是220.8h
平均每周花费的时间是12.2h
5)
包括不仅限于:墨刀,axure rp,star uml,vs,typroa
6)
软件和工具如上所示,在加上git之类的。
7)
jQuery,mvc框架,
8)
画各类图,顺序图等等、写博客,做静态分析和代码检查等等……
9)
提升非常大,学习软件工程的目的绝对不仅仅只是做出一个软件来,更多的是学习一种思想和态度,对完成一个项目来说,一个idea是远远不够的。
10)
团队作业让我知道,一个人的力量是绝对不够的,仅仅是调动个别人对于一个团队来说只是杯水车薪,没有任何一个团队的成功是可以少了某位成员的参与。
11)
学习的道路远远没有结束。
二、团队总结
1)达到阶段:认为在规范阶段并不理想,勉强是达到了创造阶段。
你在团队中担任了什么角色?
2)各种角色:包括实现代码部分,做各种需求分析和图的绘制,还要兼顾监工的任务。
3)不觉得完成好了我的角色,我的角色从一个部分到了覆盖到了整体,因为我们团队人少,积极性又不高,没办法,很难兼顾。
4)我觉得我还不适合去管理一个团队,从目前来说我还是老老实实的去当一个部分去完成自己的职责比较好。
5)我是组员,我觉得组长应该更有担当,应该将任务布置的比较精确,一个团队里面,领头羊应该是那个最积极的,才能带动其他成员的活动。组长的竞选应该是让更具有能力的人来担任。
三、人月神话
1、怎样证明你学会了软件工程?以下要求你们的团队达到了哪几个?
(1)研发出符合用户需求的软件
必须公开发布,有实际的用户,一定的用户量和持续使用量 (3 天后能保持10 - 100个用户);而不是: 做没有用户使用的软件
(2)通过一系列工具,流程,团队合作,能够在预计的时间内发布 “足够好” 的软件
有项目规划/需求/设计/实现/发布/维护,有定时的进度发布 ; 而不是: 通过临时熬夜,胡乱拼凑,大牛一人代劳,延迟交付等方式糊弄
(3)并且通过数据展现软件是可以维护和继续发展的。
而不是 找不到源代码,代码无文档,代码不能编译,没有task/bug 等项目的发展资料
个人认为,勉强达到了2),1、3还有待加强。
2、写下属于你自己的人月神话——个人或结对或团队项目实践中的经验总结+实例/例证结合的分析,字数不限,开放命题,可以使用你自己喜欢的方式表达..
前面说的东西很多了,简单的说,个人的实践就是能力还要加强,团队方面就是合作不够。
在完成maze作业的时候,很明显作业的质量是一般的,主要是刚刚接触到静态分析和单元测试,对于这种新的模式比较陌生,同时也没有合适的工具,主要是因为这两个模式所限定的工具是比较苛刻的。
所以导致后面一度想放弃,但是最后还是坚持了下来,因为这个作业是非常重要的,如果在这里放弃了的话,肯定是没办法继续学习下去的。
四、建议
对下一届同学的建议,或者对于开学初的你,对于大一的你,对于开学初的我,你有什么想建议和告知的呢?请写下你对后来人的期许。
1)建议:打好基础,这门课程不是一门基础课程,而更偏向是运用你的大学所学的基础去完成一个东西的过程和方法学习。
对于软工实践课程,你有哪些建议?
2)实践部分很有用,软工的理论就应该在实践之中去学习
对于老师的工作,你有哪些建议?
3)老师讲课非常生动有趣,在作业和任务布置也很有自己的方法和理论,希望老师以后能够继续对教学如往日一般充满动力!
对于自己今后,你有哪些建言?
学习还没有结束,只是刚刚开始,加油吧,道路还是非常漫长的。