软件工程实践总结

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

1)对比开篇博客你对课程目标和期待,“希望通过实践锻炼,增强计算机专业的能力和就业竞争力”,对比目前的所学所练所得,在哪些方面达到了你的期待和目标,哪些方面还存在哪些不足,为什么?

我觉得在增强计算机专业能力方面达到了我的目标和期待,因为通过了这个学期软件工程的学习,我不仅学习了一些软件工程的知识,还因为实践作业学习了Android平台的编程开发,学到了许多编程的小技巧,获益甚多;但是感觉自己在专业能力方面还是有很多的欠缺,面对许多学习过程中的问题以及编程过程中的BUG,解决起来都很乏力,效率低下,仍然需要经验的积累。

2)总结这门课程的实践总结和给你带来的提升,包括以下内容:

  1. 统计一下,你在这门软件工程实践中,完成了多少行的代码;

    我的代码任务主要都是在APP的功能函数上,经统计大概有800行左右的代码量
    
  2. 软工实践的各次作业分别花了多少时间?(做一个列表)

    作业 时间(h)
    第一次作业-准备篇 2
    结对第一次—原型设计(文献摘要热词统计) 10
    结对第二次—文献摘要热词统计及进阶需求 15
    团队作业第一次—团队展示 2
    团队作业第二次—项目选题报告 8
    团队第三次-项目原型设计 10
    团队作业第四次-项目需求分析 10
    团队作业第五次—项目系统设计与数据库设计 10
    团队作业第六次—团队Github实战训练 8
    项目Alpha冲刺(团队) 50
    事后诸葛亮(团队) 2
    项目Beta冲刺(团队) 20
    Beta阶段团队项目互评 3
    个人作业——软件工程实践总结作业 3
  3. 哪一次作业让你印象最深刻?为什么?

    Alpha冲刺最让我印象深刻。因为Alpha冲刺的实践囊括了整个五一假期,而我整个五一假期几乎都待在宿舍,为了完成项目功能主体的编码。
    
  4. 累计花了多少个小时在软工实践上?平均每周花多少个小时?

    根据上面的表格计算,我累计花了153小时在软件工程实践上。经计算平均每周花费11.7小时。
    
  5. 学习和使用的新软件;

    开发软件:Android Studio
    
    原型设计软件:Axure RP 8、MockingBot
    
    远程控制软件:TeamViewer 13
    
    代码管理:Github
    
    任务分配控制:Teambition
    
    博客编写:Typora
    
  6. 学习和使用的新工具;

    开发软件:Android Studio
    
    原型设计软件:Axure RP 8、MockingBot
    
    远程控制软件:TeamViewer 13
    
    代码管理:Github
    
    任务分配控制:Teambition
    
    博客编写:Typora
    
  7. 学习和掌握的新语言、新平台;

    新平台:Android平台
    
  8. 学习和掌握的新方法;

    使用开发者社区上别人已经集成好的组件
    
  9. 其他方面的提升。

    抗压能力的提升
    
    组织队友、分配任务能力的提升。
    

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

我认为在团队项目实践工程中,一个团队一定要有几个“顶梁柱”的人物,因为如果所有人都是比较弱或者都是初次接触一个新平台,这样做项目,不仅学习成本非常大,工作中有困难或者需要求助的地方也没有人能帮你,这是个很重要的问题。例如我们团队在选择了Android开发平台后,因为大部分的队友都没有安卓开发经验,所以我们花费了大量的时间去学习安卓开发的知识,这很影响项目的进度以及提高了项目的人力成本。

三、对下一届实践的建议,或者对于开学初的你,对于大一的你,对于开学初的我,你有什么想建议和告知的呢?对于后来人的期许。 特别地,特别地,下一届要不要中途换队员?

1.一个团队一定要有几个“顶梁柱”的人物,因为如果所有人都是比较弱或者都是初次接触一个新平台,这样做项目,不仅学习成本非常大,工作中有困难或者需要求助的地方也没有人能帮你。

2.选择队友一定要慎重!慎重!慎重!有一些很懒惰或者喜欢“装死”的人千万不要选择为队友,不然有可能当你熬夜写代码时看到他在打游戏并且非常吵时,你会爆炸的。

3.尽量不要去使用团队都不熟悉的新平台去开发项目,因为软件工程实践的冲刺总共加起来就两三周,如果要接触新平台,最好在冲刺前就完成对新平台的学习与使用,不然会很影响项目进度。

4.团队不需要太多的人,人多了任务倒不好分配,分配任务时最好保证每个队友的任务耦合度都很低,不要出现某个人要去读某个人代码的情况,这样不同的代码习惯与编程逻辑,熟悉起来也是很费时间的。

5.多买点眼药水,没事就滴一滴,保护视力从我做起。

6.我觉得中途换员是可取的,但是要换员的两个团队的开发环境最好不要差别太大,不然在项目已经到了中期的时候,再去学习新平台的成本是非常大的。

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

我们的团队大概只经历了三个阶段:萌芽阶段、磨合阶段和规范阶段。我们的团队并没有到达“创造”阶段,甚至还有一定的距离。团队从最初的大家都不知道想做点什么东西,到通过会议决定了项目选题,再到分配任务、互相合作编程,互相交流,再到后来的分工明确,提高了大家的工作效率,我们团队的进步还是很大的。

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

1)研发出符合用户需求的软件

有实际的用户,通过我们前段时间的推广与宣传,目前暂有37的下载次数,经统计,有23人在进行有效操作与使用。

2)通过一系列工具,流程,团队合作,能够在预计的时间内发布 “足够好” 的软件

有项目规划/需求/设计/实现/发布/维护,有定时的进度发布;并不是通过临时熬夜,胡乱拼凑,大牛一人代劳,延迟交付等方式糊弄。

3)并且通过数据展现软件是可以维护和继续发展的。

我们的源代码是在Github上公开的,可编译,程序可运行,并且有代码规范文档等。

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

原文地址:https://www.cnblogs.com/canceregg/p/10970344.html