您的位置:首页 > 其它

高级软件工程实践总结

2018-01-01 21:06 302 查看

一、请回望第一次作业,你对于高级软件工程课程的想象

1)对比开篇博客你对课程目标和期待,“希望通过实践锻炼,增强计算机专业的能力和就业竞争力”,对比目前的所学所练所得,在哪些方面达到了你的期待和目标,哪些方面还存在哪些不足,为什么?
我觉得对比开篇的博客,可以说是有达到我的期待和目标。因为相比于本科的偏学术概念的软件工程课程来说,研究生阶段的高级软件工程课程可以说是与动手能力更好地结合了,从课程对我的帮助来说有一个质的改变。

从一开始的数独作业,到后面的设计模式作业和团队的冲刺作业,从一开始的不熟悉到现在能较为熟练地参与一个项目并且将设计模式运用其中。可能我对设计模式的理解还不够深刻,有些地方的运用显得比较牵强不恰当,但好歹也是没有完全脱离了。

要说到不足的话,自己的个人能力还是有很大的欠缺吧。参与项目的时候,也是多亏了同组成员的帮忙和指点,也不能指望着通过这一门课的这段时间让自己有一个很大的提高,只能说是一个很好的入门,然后今后自己会继续努力,通过实践锻炼,真的更好地增强自己计算机专业的能力和就业竞争力。

2)总结这门课程的实践总结和给你带来的提升,包括以下内容:
1、统计一下,你在这门高级软件工程实践中,完成了多少行的代码;

大概一万行。

2、高级软工实践的各次作业分别花了多少时间?(做一个列表)

作业花费时间作业花费时间
高级软件工程第一次作业1.5h项目Alpha冲刺Day118h
高级软件工程第二次作业8h项目Alpha冲刺Day127h
第一次结对作业6h设计模式第三次作业4h
高级软件工程第一次作业1.5h测试随笔2h
第二次结对作业20h总结随笔1.5h
团队选题报告2h
设计模式第一次作业3h城市安全风险管理项目Postmortem结果3h
团队项目-需求分析3h项目Beta预备2.5h
设计模式第二次作业3.5hBeta冲刺第一天5h
项目Alpha冲刺Day110hBeta冲刺第二天6h
项目Alpha冲刺Day27hBeta冲刺第三天6h
项目Alpha冲刺Day38hBeta冲刺第四天7h
项目Alpha冲刺Day47hBeta冲刺第五天5h
项目Alpha冲刺Day59hBeta冲刺第六天8h
项目Alpha冲刺Day67hBeta冲刺第七天6h
项目Alpha冲刺Day78hBeta冲刺总结3h
项目Alpha冲刺Day88h用户调查报告4.5h
项目Alpha冲刺Day97h项目Alpha冲刺Day107h
3、哪一次作业让你印象最深刻?为什么?

是alpha冲刺结束后,第一次开项目Postmortem结果会的时候。虽然alpha每日都有站立式会议,但那是第一次很正式很统一地大家坐下来好好地回顾整个项目的过程经历以及各种讨论,这些让我获得了一些很宝贵的经验,也让后续的beta冲刺更顺利。

4、累计花了多少个小时在高级软工实践上?平均每周花多少个小时?

软工实践大概花了205小时,冲刺大概持续了三周左右,平均下来每周花费68个小时左右

5、学习和使用的新软件;

从原型的制作开始,学习使用Justinmind prototyper、Axure RP

编码上,新使用的开发工具是Intellij IDEA

6、学习和使用的新工具;

项目的代码版本控制上共同使用SVN

以及之前作业的要求学习使用了GitHub

7、学习和掌握的新语言、新平台;

项目使用JSsqring mvc框架

该项目使用的前端语言angular、bootstrap前端框架

发布项目时使用的阿里云平台

8、其他方面的提升。

与团队的协作编程的能力吧,还有一些沟通上面的能力提升

二、写下属于自己的人月神话——个人或结对或团队项目实践中的经验总结+实例/例证结合的分析

因为较多的时间花在团队的项目开发上,所以印象会稍微深刻一些。我在团队项目实践当中,大致总结出以下经验:

需求分析阶段我认为是重点。用户的需求实际上才是软件真正要解决的问题,很多业务逻辑也不是简单的话语能轻松表达的。所以我认为需要花大量的时间做好需求分析。

我们的项目Beta阶段经历了一次需求的调整,就是因为前期没有确认好需求,导致后面的修改。虽然不可能完全确定好需求不更改了,但前期如果能确认好多一些也是好的。

项目负责人。我认为一个项目当中的负责人选择也是至关重要的。他不仅要负责框架的搭建,还要协调分配好每个人的工作,使得效率最大化。

我们的项目在分工上面就出现了一点问题。尽管我认为我们小组的分工在作业当中已经显得很细致了,但组长分配的时候还是没有很好地协调好,导致我们后期实施的时候发现有的人一天都很闲没有任务,不得已每天临时调整当天的任务量。

沟通。一个项目真正要开发起来,每个人其实是独立并行的。但过程可能会遇到很多问题,这个时候良好的沟通非常重要。在团队协作当中,不能讲个人主义,要考虑项目的利益。

我觉得我们项目在这点上面实践的还可以,大概主要因为两个男生的动手能力比较强,我们很多意见不合的地方也就顺着他们的意见去执行了。团队当中还是需要这种主心骨力量的。当然我们也不是盲目顺从,都是经过我们从可行性角度认真考虑的。

三、对下一届实践的建议,或者对于开学初的你,对于大一的你,对于开学初的我,你有什么想建议和告知的呢?

说到对下一届实践的建议,就是希望学弟学妹们耐心地上下去这一门课。因为一开始可能会抱怨这门课作业多作业繁琐有些难度之类的,但真的上下去认真地完成作业,你会发现很多收获哦。对于开学初的大家:保持兴趣 保持热情 认真coding:)

四、分析一下自己所处的团队。软件工程实践是大学里少有的认真的团队协作经验。《构建之法》上说团队的发展有几个阶段,你的团队都经历过么,最后到达了“创造”阶段了么?(参考《构建执法》第17章 人、绩效和职业道德)

团队发展分为四个阶段:

萌芽阶段

磨合阶段

规范阶段

创造阶段。

我们团队应该说是经历了前三个阶段吧。一开始大家对于整个项目也是一头雾水、无从下手的。然后选出组长之后,组长带领我们讨论需求、制作原型、设计数据库等等入手,这应该算我们的萌芽阶段;

经过了萌芽阶段,组长负责主要的框架搭建,后期每个人开始自己的模块编写,一开始肯定出现了很多问题,各种冲突、各种意见上的不合,但好在大家都有效地沟通解决了,这是我们的磨合阶段;

再后来,项目开发逐渐步上正轨,我们按部就班地按照分工一天天地完成任务,有条不紊。不仅很有效率,大家也很有成就感。团队进入了规范阶段,我们在整个项目上都大致达成了一个统一的意见,任务清晰明确;

最后我认为我们还没有到达创造阶段。我们现在慢慢地在尝试探索。

五、怎样证明你学会了软件工程?

1)研发出符合用户需求的软件
必须公开发布,有实际的用户,一定的用户量和持续使用量 (3 天后能保持10 - 100个用户);而不是: 做没有用户使用的软件

2)通过一系列工具,流程,团队合作,能够在预计的时间内发布 “足够好” 的软件
有项目规划/需求/设计/实现/发布/维护,有定时的进度发布 ; 而不是: 通过临时熬夜,胡乱拼凑,大牛一人代劳,延迟交付等方式糊弄

3)并且通过数据展现软件是可以维护和继续发展的。
而不是 找不到源代码,代码无文档,代码不能编译,没有task/bug 等项目的发展资料


在博客中可以看到我们项目经过选题、需求分析、原型设计、代码实现、用户测试、最终成果。






六、个性发挥,包括图文、照片和创意等

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: