一、学期初,实验一中的任务4,大家拟定了5个准备从课程学习中找到答案的问题,通过一个学期的学习,相信大家已经有了答案,请根据自己的学习实践回答自己当初提的问题,并提出一个新的问题。
【问题一】 第二章中讲到软件设计需要经过需求分析,具体设计等过程,第三章中又讲到了“过早优化”,并且反对“过早优化”,我觉得“过早优化”有一定的道理,所以不是很理解为什么要反对?
学完软件这门课,再加上自己做项目的过程,才理解软件需求分析,是非常重要的,通过需求分析可以不用像无头苍蝇一样乱撞,想一样功能写一样功能,对于“过早优化”,也明白了其中的道理,软件设计需要一步一步来,并不能只求速度而不顾质量。
【问题二】 一个软件工程师必须要精通掌握多种语言吗?难道专注于一种语言,达到真正的精通不是更好吗?
一个软件工程师学懂了一门语言后,对各种算法理解能力加深,此时学习其他语言是很简单的,而多掌握一种语言,在软件开发中可以有跟多的选择。
【问题三】 第六章在冲刺阶段中讲到“每日例会”,需要依次报告:
(1)我昨天做了啥?;
(2)我今天要做啥;
(3)我碰到了那些问题。
我感觉软件开发时间紧,任务重,可以讨论第三个问题,前两个问题没有必要讨论,不明白这样设置的原因是什么?
“每日例会”是很重要的,在我们自己做项目是团队合作,站力会议等都很好的反映了“每日例会”的重要性。
【问题四】 第七章中讲到项目需求的生存期是18个月,这是指所有的项目吗?如果是大型项目又作何处理?
每个项目有各自的生存期,由项目的市场竞争力以及市场需求决定。
【问题五】 第十一章中讲到设计之法,那什么才是最好的设计之法,怎么理解这种设计之法?
通过需求分析,了解软件开发需求,功能需求,在设计软件开发方法,是适合软件需求要求的便是合适的设计之法。
新的问题:本次团队项目是以快速原型方法展开的,但是软件工程方法有很多,如何系统掌握软件工程学习方法、学习思维?做到这些还需要做哪些工作以及项目实践?
参与到软件开发的整个过程中,从软件开发的整个过程来感受软件工程的设计方法,掌握软件工程的学习方法。
二、课程的实践总结和自身的提升:
1、统计你在软工课程实践中,完成了多少行的代码;
完成了大约7000多行代码。
2、软工实践的各次作业分别花了多少时间?累计花了多少个小时在软工实践上?平均每周花多少个小时?(做一个列表)
软工作业 |
花费时间 |
平均每周花费时间 |
实验一 软件工程准备 |
8 |
7 |
实验二 软件工程个人项目 |
9 |
7 |
实验三 软件工程结对项目 |
6 |
7 |
实验四 基于原型的软件需求获取 |
9 |
7 |
实验五 软件研发团队组建 |
5 |
7 |
实验六 团队项目评审与团队项目选题报告 |
5 |
7 |
实验七 团队作业3—团队项目的原型设计与开发 |
5 |
7 |
实验八 团队作业4—基于原型的团队项目需求调研与分析 |
8 |
7 |
实验九 团队作业5—团队项目需求改进与系统设计 |
7 |
7 |
实验十 团队作业6—团队项目系统设计改进与详细设计 |
11 |
7 |
实验十一 团队作业7—团队项目设计完善&编码测试 |
6 |
7 |
实验十二 实验十二 团队作业8—团队项目用户验收评审 |
7 |
7 |
3、哪一次作业让你印象最深刻?为什么?
团队合作项目给我的印象最深。在项目中,不仅需要每个人完成各自的工作,还要团队合作完成共同的工作,团队成员一起讨论,一起设计原型,这个过程给我的印象最深,对我软件工程这门课的学习有很大的帮助。
4、学习和使用的新软件;
visio
5、学习和使用的新工具;
process on、墨刀
6、学习和掌握的新语言、新平台;
GitHub、博客园
7、学习和掌握的新方法;
快速原型方法、白盒测试与黑盒测试
8、其他方面的提升。
团队合作方面收获最大。
三、你认为目前的课程有哪些问题,你有什么更好的建议:
1、你认为本门课程需要在哪里进行改进,具体措施有哪些,包括:时间进度安排,项目难度等均可;
我觉得在项目的时间安排上需要改进一下,时间有点紧,对于某些项目功能的完善时间不够。
2、你认为助教/老师哪里做的不足,哪里限制太多等;
助教老师们尽心尽力,做的非常好,每次作业的批改很是详细。
3、你认为每次项目的评分标准存在哪些问题,你认为的合理评分准则是怎样的(个人/结对/团队算三个)
每次的评分都很详细,扣分的地方都会在博客下面留言,这点很好,让我们有了改进的思路。
4、在结对项目中你是否真正体会到了结对的好处,是否真正严格进行了结对编程,双方的工作量是否相同;
结对项目中每个人的工作量并不相等,但差距并不大。结对的好处在于合作探讨,共同完善不足。
5、你的团队项目是否成功,如果重来一次你是否还会选择这个团队,为什么成功/失败;
我们的团队项目在我个人看来不是很成功,有很多功能不是很完善,而且功能上比并没有太多的特色存在 。
6、总结一下你们团队在做项目时大家的时间安排情况。
每个成员完成各自的工作,需要团队合作完成的大家共同完成,时间安排上独立完成与讨论时间较多。
7、对下一届软工课实践教学的建议,或者对于开学初的你,对于大一的你,对于开学初的老师,你有什么想建议和告知的呢?对于后来人的期许。
软件工程的学习,需要实践,不要不断做项目,可以适当的增加项目数量,或者提高项目质量。
四、你还有什么想说得话。
本学期的软件工程课程已经结束,总的来说收获还是很多的,尤其是软件开发的3个阶段8个时期,这对我来说是最大的收获,以前,每次做东西都是想到什么写什么,没有进行需求分析,有了错误需要修改时非常麻烦,而现在觉得,软件开发有了需求分析这一块可以节约很多时间,真的是省时省力。虽然还有很东西掌握的不是很熟练,但多加练习总是可以掌握的,相信软件工程这门课所学的东西,对我的帮助不仅在软件开发上,更在于其他方面。