一、请回望暑假时的第一次作业,你对于软件工程课程的想象
1、对比开篇博客你对课程目标和期待,“希望通过实践锻炼,增强计算机专业的能力和就业竞争力”,对比目前的所学所练所得,在哪些方面达到了你的期待和目标,哪些方面还存在哪些不足,为什么?
已达到:
- 整个软件开发的流程非常了解(在还没有开始这个实践的时候,一点软件开发的经验都没有,完全就是门外汉一个,不过经过这几个月,流程已经非常清楚了);
- 需求分析的方法(需求分析算是比较重要的一个步骤,不仅要满足字面意思上的需求,还需要满足潜在意义的需求;除此之外,还有许多有效的方法,比如NABCD)。
未达到:
- 代码(这个学期代码量有所增加,但是实际的代码质量并没有多少提高,而且相比较于其他人来讲,并没有学会一门新的语言);
- 界面UI的能力(这次实践,我分配到界面小组,要利用Pyqt来实现相关的界面,但是这个能力没有一点提高,越到后面就越感觉对不起小组)。
2、总结这门课程的实践总结和给你带来的提升,包括以下内容:
统计一下,你在这门软件工程实践中,完成了多少行的代码
根据“PSP和学习进度”表格大概可以知道完成了2784行代码。
软工实践的各次作业分别花了多少时间?(做一个列表)
作业列表 所花时间/h 新的开始(个人作业一) 2 统计单词词频(个人作业二) 7.7 原型设计(结对作业一) 16.5 爬取及统计(结对作业二) 23.5 团队展示 2.0 选题报告 23 项目UML设计 12.9 需求分析 21.08 Alpha(1/10) 1.5 Alpha(2/10) 2.2 Alpha(3/10) 3.5 团队现场编程实战(抽奖系统) 25.0 Alpha(4/10) 6.0 Alpha(5/10) 7.0 Alpha(6/10) 3.6 Alpha(7/10) 3.7 Alpha(8/10) 2.1 Alpha(9/10) 1.2 Alpha(10/10) 0.8 Alpha事后诸葛 3.0 beta版本冲刺前准备 2.0 项目评测 6.0 Beta(1/7) 0.5 Beta(2/7) 2.0 Beta(3/7) 1.0 Beta(4/7) 1.0 Beta(5/7) 0.5 Beta(6/7) 0.8 Beta(7/7) 1.8 Beta总结 2.0 哪一次作业让你印象最深刻?为什么?
印象最深的是结对第一次作业——原型设计,因为这是我和别人合作得做舒服的一次,让我知道有一个靠谱的队友是多么重要。
累计花了多少个小时在软工实践上?平均每周花多少个小时?同时贴出开篇博客“你打算平均每周拿出多少个小时用在这门课上”的回答;
累计花在软工实践上251个小时,这个时间不是非常精确,平均每周花13.94个小时
下面是开篇博客的回答(尴尬的是,没有具体的时间):
学习和使用的新软件
Axure Rp:原型设计
Pycharm:爬虫的实现和软件的相关编程
Anaconda:爬虫
Qtcreator:界面的实现
学习和使用的新工具
Typroa:编辑makedown文件
学习和掌握的新语言、新平台
新语言:python(只掌握一点皮毛)
新平台:windows桌面
学习和掌握的新方法
NABCD:需求分析
UML的各种图
其他方面的提升
团队合作的能力有点提升,明白人与人之间是有差距的,只可以建议,不可以强求。
二、写下属于自己的人月神话——个人或结对或团队项目实践中的经验总结+实例/例证结合的分析
团队项目实践中:
感觉PM非常重要,一开始组队选人的时候是非常重要的,重点不在于技术,在于组队之后合作的程度,而且与队友有摩擦的时候,最好好好的解决,不然会影响到别人对你的看法以及关系。
三、对下一届实践的建议,或者对于开学初的你,对于大一的你,对于开学初的我,对于同期的TA们,对于后来的学弟学妹:
你有什么想建议、告知和期许想要告诉他们呢?
建议选课还是选的,但是结对和组队的时候,睁大眼睛好好找,不然到后面会超级后悔;
期待你们还是选一下吧,毕竟可以学到非常多东西。
特别地,特别地,下一届要不要中途换队员(强制的、彻底的从一队换到另一队)?
可以的,这个感觉挺好玩的。
假设依旧是一个90+人数的大班, 身在一个格外大的班级,竞争强劲,你认为一个组的人数应当在多少比较合适?
4-5个人就可以了。
个人/结对/团队作业应该控制在怎样的规模?
就目前的规模就感觉挺好的。
这学期下来,你最感谢的人是谁?有什么话想要对TA说呢?
最感谢的是朱文婧
我想对她讲:非常感谢你,真的,结对作业的合作给我留我留下的印象非常深刻,第一次让我感觉合作原来是这么美妙的一件事情。
四、分析一下自己所处的团队。软件工程实践是大学里少有的认真的团队协作经验。《构建之法》上说团队的发展有几个阶段,你的团队都经历过么,最后到达了“创造”阶段了么?(参考《构建执法》第17章 人、绩效和职业道德)
分为四个阶段:萌芽阶段、磨合阶段、规范阶段、创造阶段
萌芽阶段:这个肯定经历过,开始的时候大家都激情满满的
磨合阶段:有的,有一些人刚开始的时候还不认识,渐渐熟悉起来
规范阶段:有的,但是我们组没有比较严格的规范,但是有对于代码的规范
创造阶段:有的,我们的产品就是一个目标接着一个目标实现的
五、怎样证明你学会了软件工程?
1、研发出符合用户需求的软件:必须公开发布,有实际的用户,一定的用户量和持续使用量 (3 天后能保持10 - 100个用户);而不是: 做没有用户使用的软件;
2)通过一系列工具,流程,团队合作,能够在预计的时间内发布 “足够好” 的软件 :有项目规划/需求/设计/实现/发布/维护,有定时的进度发布 ; 而不是: 通过临时熬夜,胡乱拼凑,大牛一人代劳,延迟交付等方式糊弄; 3、并且通过数据展现软件是可以维护和继续发展的而不是 找不到源代码,代码无文档,代码不能编译,没有task/bug 等项目的发展资料; 4、对着这个检查表:< > 检查一下,自己如果去企业面试,这些常见的问题是否都能回答,并在此总结。(请在随笔中用数据证明上述内容或侧重选择之一)
侧重第四点:
博客主要通过两个方面来阐述,一是硬的问题,主要是一张调查表,还有一张更加详细的调查表,里面的一些问题真的是抨击人心;二是软的问题,就是针对soft skill能力的一种评测,感觉问题都挺好的,让我深思。
六、个性发挥,包括图文、照片和创意等
喜欢下面的团队展示图片,风格特别喜欢