个人作业——软件工程实践总结作业
作业相关
所属课程 | 班级链接 |
---|---|
作业要求 | 作业要求 |
作业正文 | 作业网址 |
**一.回望 **
-
对比开篇博客你对课程目标和期待,“希望通过实践锻炼,增强计算机专业的能力和就业竞争力”,对比目前的所学所练所得,在哪些方面达到了你的期待和目标,哪些方面还存在哪些不足,为什么?
开篇定下目标的时候没有亲身实践所以目标和实际难免有些出入。学习前端的目标达成一部分,js学习有所进展,bootstrap,jQuery在作业过程中有接触过,但是并没有深入学习,不算精通但也不是完全没有进展。但是css和san确实接触不多,需要从头学习,相比开学初的目标算是实现的不多。比如对Java的学习和对python的学习还是不足,没有达到预期运用熟练的目标。
-
你在第一次作业的个人简历中制定的这门课程结束后,你预期你将增长的能力、技术、技能;和你在第二次作业中绘制的学习路线图。对比当前你的所学所得,你达到了当时的预期值吗?
没有达到。虽有进展可是和计划相比有挺大差别。开学初定下的预期值希望更加熟练掌握运用C++和C,学习Java和python在软件开发和系统应用上的用法,Java和python都没有什么实质性的进展,对于前端的学习和应用也只是一知半解,不算熟练.
-
请总结这门课程的实践总结和给你带来的提升,包括以下内容:
-
统计一下,你在这门软件工程实践中,一共完成了多少行的代码
800~1000
-
软工实践的各次作业分别花了多少时间?
作业次数 | 所用时间/h |
---|---|
第一次个人作业 | 4 |
第二次个人作业 | 15 |
第三次个人作业 | 78.75 |
第四次个人作业 | 48 |
第五次个人作业 | 58 |
第六次个人作业 | 6 |
团队展示 | 0.5 |
需求规格说明书 | 5 |
项目冲刺alpha阶段 | 42 |
操作手册 | 1 |
-
哪一次作业让你印象最深刻?为什么?
第一次结对作业让我印象最深刻,因为那是第一次和别人搭档作业,合作过程很愉快,可以和队友取长补短,一个人的想法等于1但是两个人的想法绝对大于2。还是在国庆那样举国同庆的日子里腾出宝贵的时间认真完成软工作业,在节假日里写作业的感觉听独特的,记忆犹新!
-
累计花了多少个小时在软工实践上?平均每周花多少个小时?
见上面的表格,大致估计了一下,花了约258.25小时,平均每周花费16小时学习
-
学习和使用的新软件
磨刀
bootstrap
visualstudio
XMind
-
学习和使用的新工具
GitHub
ProcessOn(本来是为了做数据库的e-r图后来发现做流程图也十分好用)
博客园
领歌
-
学习和掌握的新语言、新平台
js
jQuery
markdown
-
学习和掌握的新方法
原型设计方法
NABCD分析
UML图
单元测试
编程框架的使用
燃尽图的画法
-
工程能力的提升
代码能力比之前有所提升
学回利用更多的平台
学会了需求分析面向实际
由于燃尽图的使用对项目的时间和任务关系有了更多的认识
-
团队合作上的提升
与更多人交流会发现自己更多的不足,发现别人和自己的差距,
以便对自己的能力做出相应的改进,同时也学会多方位思考问题,倾听更多的意见取其精华。
-
其他方面的提升
学习能力,以前学习使用新的工具需要摸索很久,经过一学期的软工实践,
几乎每一次作业都会用到新的工具或者知识,几次下来学习使用新知识的能力明显有了进步。
二、团队总结
-
《构建之法》上说团队的发展有几个阶段,你的团队都经历过么,最后到达了“创造”阶段了么?
尽力过无数个没日没夜的黑夜白天和无数次的研究讨论,设计改进,修改修改再修改,
测试测试再测试达到了初级阶段,软件的基本功能的实现。
-
你在团队中担任了什么角色?你是否完成了该角色的任务?现在你觉得你适合该角色吗?
项目经理,马马虎虎算完成吧,我觉得什么角色都是需要适应和尝试的,没有绝对的合适,都是经过经验累积才成为合适的,一开始挺不适应
得,但是后来逐渐适应了。
-
如果你是组长,你觉得你有哪些地方做的不够好的?有哪些地方做的好的?你觉得该怎么改进?
我不是组长,但是我觉得组长可以奠定一个组的基调,沟通交流和组内氛围很重要,根据每个人的特长分配任务。
-
如果你是组员,你觉得你的组长分工安排是否合理?你对组长的选举有什么建议?
我觉得我组长分工挺好的,组长了解几乎每个人的特长,为每个人分配适合自己的任务,发挥自己的长处。
建议:组长可以不是最会敲代码的,但一定是有组织能力和会带动气氛的
三、人月神话
-
怎样证明你学会了软件工程?以下要求你们的团队达到了哪几个?
-
研发出符合用户需求的软件-基本功能完成但是距离真正投入使用还有一段距离
-
必须公开发布,有实际的用户,一定的用户量和持续使用量 (3 天后能保持10 - 100个用户)而不是: 做没有用户使用的软件——目前尚未投入使用
-
通过一系列工具,流程,团队合作,能够在预计的时间内发布 “足够好” 的软件——勉强了发布一款不算完整的软件
-
有项目规划/需求/设计/实现/发布/维护,有定时的进度发布 ,而不是: 通过临时熬夜,胡乱拼凑,大牛一人代劳,延迟交付等方式糊弄——虽不至于互评乱凑但是也没有
达到“规划/需求/设计/实现/发布/维护,有定时的进度发布”这完整一系列要求 -
并且通过数据展现软件是可以维护和继续发展的而不是 找不到源代码,代码无文档,代码不能编译,没有task/bug 等项目的发展资料——继续发展空间很大,维护也有必要,但是源代码,代码文档,代码编译都有实现,知识存在部分task/bug
-
写下属于你自己的人月神话——个人或结对或团队项目实践中的经验总结+实例/例证结合的分析,字数不限,开放命题,可以使用你自己喜欢的方式表达
个人
对于软工实践一开始是怕的,因为实践一般都是耗时耗力而且难度比较大的课程,每次遇到实践课有可能一个问题就要耗上大半天的时间。因此对于软工课也充满恐惧,不过,真正实践了以后才发现原来还是有许多好玩的地方。除了枯燥的代码以外还有许多有趣的部分,比如软件原型设计,通过第三方软件平台设计出完全属于自己的产品,当软件原型展示在自己面前的那一瞬间,别提多有成就感了。本来面向对象了解清楚用户需求才是正道,不过因为我们是当作平时作业所以原型设计阶段可以天马行空,可以发散思维设计出自己想要的任何软件。而且团队合作和结对合作也是第一次接触的作业模式,通过和别人的合作充分意识到自己的不足也能在合作过程中学习到更多别人的方学习法。是一种很重要也很必要的作业模式。
结对
结对时候需要两个人多多沟通,多多交流,取长补短,互帮互助,两个人的思想一定可以碰撞出更多不一样的火花。结对时候个人觉得能力相差不大的伙伴更有利于沟通,想法也更接近,更加默契,能够更好地为项目实现提供良好基础。过程中当面交流比线上交流效率高的多。当作业过程有一方泄气受挫时另一方需要及时鼓励,这也是结对合作的意义所在,结对前行互相鼓励。
团队
团队协作比结对合作要求更高,需要更加细致的分工合作,团队角色便是很重要的一环,组长掌握大方向,组员配合工作。前期的用户需求分析,团队项目设计,项目经理需要多方协同,经过调查分析提出合理的项目需求分析结果,这是项目的基石,做好这一步为后续奠定了基础。不管任何团队,氛围很重要,一个好的氛围可以促进团队的工作效率和质量。由于团队人数更多,所以面对面交流显得尤为重要,个人觉得每周一次的会议很有必要,一方面为了汇报进展,一方面也为后续工作的发展提供更好的路线。
四、建议
-
对下一届同学的建议,或者对于开学初的你,对于大一的你,对于开学初的我,你有什么想建议和告知的呢?
基础打牢,计算机专业的基础便是代码,掌握基本的计算机语言是计算机专业的入门课,基础打不好一切不好说莫到大三大四追悔莫及。
-
对于软工实践课程,你有哪些建议
每一次的实践都是一次学习,抓住每一次实践的机会,特别是在团队作业中应该全力完成作业,这是实践自己所学知识最好的机会,同时也可以学到更多知识
-
对于助教工作,你有哪些建议
助教可以多和学生沟通交流,包括实践问题也可以指教指教,因为感觉助教好像只有布置作业时能遇到[xiao]
-
对于自己今后,你有哪些建言
多读书,多看报,可以在能力基础上扩展一下专业知识,因为通过软工实践发现目前所学皮毛居多真正能用到实处的知识很少,所以多多学习施以应用实践很有必要。