2020软件工程个人作业06——软件工程实践总结作业
所属课程 | |
---|---|
作业要求 | |
作业目标 | 软件工程实践作业总结 |
作业正文 | |
参考文献 |
一、回望
(1)对比开篇博客你对课程目标和期待,“希望通过实践锻炼,增强计算机专业的能力和就业竞争力”,对比目前的所学所练所得,在哪些方面达到了你的期待和目标,哪些方面还存在哪些不足,为什么?
-
达到的期望和目标:学习了markdown的排版,学习使用Git仓库用以执行Git命令操作、Git的结构等,学会了使用新的开发工具IDEA,对于JavaWeb、JavaScript、HTML、JSP、CSS、bootstrap框架等其他技术掌握得更加熟练。
-
存在的不足:对于涉及到算法的代码实现和一些新的技术掌握的不够。
-
原因:平常实践不够,在项目开发的过程中也是做自己会做的,对于不太会的东西由于时间太紧张主动学习较少。它让我更清晰地了解到了自己的真实水平,让我知道了自己的还有很多很多的不足,今后我一定会继续学习,努力学习,这条路还很长很远。
(2)你在第一次作业的个人简历中制定的这门课程结束后,你预期你将增长的能力、技术、技能;和你在第二次作业中绘制的学习路线图。对比当前你的所学所得,你达到了当时的预期值吗?
没有,虽然在这次的课程中自己确实学到了不少的新技能,但是和自己预期将要增长的能力,技术,技能不怎么符合,感觉自己的学习是跟着老师的教学和作业在进步的。
(3)请总结这门课程的实践总结和给你带来的提升,包括以下内容:
-
统计一下,你在这门软件工程实践中,一共完成了多少行的代码;
大约1000多行的样子。
-
软工实践的各次作业分别花了多少时间?(做一个列表)
作业名称 花费时间(h) 2.5 5 5 30 50 55 1.5 4 4 12 4 62 4 4 2 总计 246 -
哪一次作业让你印象最深刻?为什么?
印象最深刻的是
-
累计花了多少个小时在软工实践上?平均每周花多少个小时?
累计花了246小时,平均每周大约花费13.6小时。
-
学习和使用的新软件;
Visual studio、IDEA、腾讯会议、Typora,墨刀、Axure rp、start uml
-
学习和使用的新工具;
Visual studio、IDEA、腾讯会议、Typora,墨刀、Axure rp、start uml、GitHub、博客园
-
学习和掌握的新语言、新平台;
新平台:博客园,GitHub
-
学习和掌握的新方法;
学会了对代码的性能优化,审查,以及画顺序图,用例图,类图,使用Markdown等。
-
工程能力的提升;
本学期所学习的软件工程这门科目不仅让我从理论上掌握软件工程,还让我在理论和实践得到了很好的结合。整一个学期下来,还是学到了很多东西的,在我看来,软件工程与其说是一门课程,不如说是一门思想。是一个如何去分析和处理问题的过程,其范畴已经远远不止局限于该门课程,成为了一个综合的一个能够解决问题的思想集合。
-
团队合作上的提升;
懂得了团队合作的重要性,良好的团队合作会让大家高效率地完成任务。
-
其他方面的提升;
学会了时间管理。
二、团队总结
1、软件工程实践是大学里少有的认真的团队协作经验。《构建之法》上说团队的发展有几个阶段,你的团队都经历过么,最后到达了“创造”阶段了么?
《构建之法》里面提到的关于团队发展的阶段共有四个,分别是:萌芽阶段、磨合阶段、规范阶段、创造阶段。
感觉创造阶段没有达到。
2、你在团队中担任了什么角色?你是否完成了该角色的任务?现在你觉得你适合该角色吗?
我担任的是项目经理的角色,我觉得自己完成了该角色的任务。我觉得我很适合这个角色,因为组长责任重大,作为项目经理我可以帮组长减轻负担,比如每次组织队员分配任务,然后哪里需要我我就出现在哪里,我觉得我基本发挥了项目经理的作用。
-
团队沟通
:作为PM,最关键最重要的点就是处理好和队员之间的沟通!一个良好的团队氛围是成功的一半。经过团队开的多次会议和大家的沟通以及协商,逐渐确定了彼此的分工和职责,整个团队的氛围变得越来越好。 -
任务分配
:要做好一个PM,要学会如何第一时间从布置的任务中提取关键信息,并细化粒度分配到各个组员。同样的,在团队初期,因为对队员的擅长了解不多,导致了前几次团队作业一两个组员的任务量十分大,任务分配不均匀。但是随着团队的配合,逐渐发现了各个组员的擅长点,并据此分配好各个任务,尽量让每个组员的任务量尽可能得平均,物尽其长。 -
团队结构
:我们团队 的结构属于1 + 3 + 4
模式,即一个PM加3个后端加4个前端,PM负责统筹全局项目推进,然后后台前端两两配合、结对编程,负责对应的功能模块,良好的团队结构才造就了我们出色的配合默契。 -
项目管理
:项目管理是一个PM的主要职责,我们团队和其他团队主要不同的地方在于我们的项目管理基本都是在qq群里面完成的,无论是博客里每个组员的心得体会,亦或任务的分配以及项目进度的审核,这样做的好处是把团队的所有工作记录集中在唯一的一个地方,这样能加深每个人对项目进展的了解度。 -
冲刺时间的安排
:软工实践课的强大确实是挺大的,这导致了大家频繁出现通宵熬夜的情况。作为一名程序猿,虽然说熬夜是基本的技能,但是频繁得通宵熬夜可能还会适得其反,所以我还是要求大家注意休息,劳逸结合。
3、如果你是组长,你觉得你有哪些地方做的不够好的?有哪些地方做的好的?你觉得该怎么改进?
我认为本次项目理想和现实的差距过大,主要是因为技术不够。如果我是组长,我会先把所有想法都简单化,等大概的框架都构建之后再慢慢改进,不用全压在最后的冲刺阶。
-
4、如果你是组员,你觉得你的组长分工安排是否合理?你对组长的选举有什么建议?
我觉得组长的分工挺合理的,每个人都在团队中发挥了应有的作用。
建议:领导力强,能合理分配,编程能力强,至少什么都会一些。
三、人月神话
1、怎样证明你学会了软件工程?以下要求你们的团队达到了哪几个?
(1)研发出符合用户需求的软件
必须公开发布,有实际的用户,一定的用户量和持续使用量 (3 天后能保持10 - 100个用户);而不是: 做没有用户使用的软件
(2)通过一系列工具,流程,团队合作,能够在预计的时间内发布 “足够好” 的软件
有项目规划/需求/设计/实现/发布/维护,有定时的进度发布 ;而不是: 通过临时熬夜,胡乱拼凑,大牛一人代劳,延迟交付等方式糊弄
(3)并且通过数据展现软件是可以维护和继续发展的。
而不是找不到源代码,代码无文档,代码不能编译,没有task/bug 等项目的发展资料
我觉得我们团队基本都达成了,但是自己可能没有达到。
2、写下属于你自己的人月神话——个人或结对或团队项目实践中的经验总结+实例/例证结合的分析,字数不限,开放命题,可以使用你自己喜欢的方式表达..
对于团队项目实践中,我认为每个组员都应该主动去参与到项目中,发挥出自己的作用。
四、建议
对下一届同学的建议,或者对于开学初的你,对于大一的你,对于开学初的我,你有什么想建议和告知的呢?请写下你对后来人的期许。
种一棵树的最好时间第一是十年前,其次是现在。
对于软工实践课程,你有哪些建议?
认真的对待每次的作业,遇到困难不要放弃,多问老师同学,实在不行还有度娘,从完成作业的过程中总结经验。
对于老师的工作,你有哪些建议?
我觉得老师就是想让我们每个人都能在软件工程这门课上收获一些东西,所以会显得老师对我们要求很高,很严格。建议就是希望老师适当的时候可以放松一下,否则老师累我们也累。
对于自己今后,你有哪些建言?