一、学期初,大家拟定了5个准备从课程学习中找到答案的问题,通过一个学期的学习,相信大家已经有了答案,请根据自己的学习实践回答自己当初提的问题,并提出一个新的问题。
1、为什么要学习软件工程?
答:软件工程是一门结合项目设计、项目开发、项目管理的学科,学习软件工程能使之前学习的零散知识一一体现在软件的整个生命周期,通过这门课的学习,能学会运用系统的方法进行软件和系统的开发,这对于学计算机专业的学生来说是极为重要的,当然,软件工程的很多方法不止局限于计算机领域,还贯穿于其他的领域,因此学习软件工程也成为必然。
2、工程思维是什么样的?
3、当开发一款功能比较全面的软件时肯定要涉及团队合作,应怎样合理分工合理分配任务呢?
答:优秀的领导者在团队合作时要做到合理分工应注意:
(1)凝聚成员的感情。要培养团队精神,除了花时间、花钱跟部属“搏感情”,别无他法。
(2)要成员对领导者忠诚,领导者必须先建立信任感。平时必须以诚心关心部属,了解部下真正在乎的是什么,只有当成员的欲望被满足时,才会努力达成主管的期望。如果他想要的是钱,当他达成要求时就加薪或发放奖金,如果他想要的是成就感,就给他挥洒的舞台,只要是成员应得的,在资源许可的范围内,就要尽力满足他们,成员做得再苦再累也欢喜甘愿。
(3)为成员勾勒一幅未来的远景,理清他的未来,让他了解在这个团队(公司),将来可以有美丽人生,让成员个人利益与团队的利益结合为一,成员才会努力打拼。
(4)帮成员补齐能力。
(5)以专业服人。
(6)塑造认错的文化。
(7)授与权力,保留责任。
(8)创造共同愿景 。
4、“软件=编程+软件工程+人”,那么编程能力在开发软件时是否是必备的能力?
答:在完成软件工程课程的学习期间,作业经历了个人项目到结对项目再到团队项目,在团队项目中个人能发挥所长,但在个人和结对项目当中,不会编程将会给项目带来很多的麻烦,当然,就算在团队当中能发挥所长,很多时候某个人的欠缺也会影响整个团队的进度,再者学计算机专业没有点编程能力完全吃不消,由此可见编程是开发软件时不可或缺的能力。
5、补丁过多的软件会面临崩溃,此时开发人员应怎样处理?
答:此时最好的方法是用新系统替换旧系统。
二、课程的实践总结和自身的提升:
1、统计你在软工课程实践中,完成了多少行的代码?
答:完成了大约三千行左右。
2、软工实践的各次作业分别花了多少时间?累计花了多少个小时在软工实践上?平均每周花多少个小时?(做一个列表)
软工作业 | 花费时间 | 平均每周花费时间 |
实验一 软件工程准备 | 4 | 4 |
实验二 软件工程个人项目 | 8 | |
实验三 软件工程结对项目 | 4 | |
实验四 基于原型的软件需求获取 | 6 | |
实验五 软件研发团队组建 | 2 | |
实验六 团队项目评审与团队项目选题报告 | 3 | |
实验七 团队作业3—团队项目的原型设计与开发 | 4 | |
实验八 团队作业4—基于原型的团队项目需求调研与分析 | 2 | |
实验九 团队作业5—团队项目需求改进与系统设计 | 6 | |
实验十 团队作业6—团队项目系统设计改进与详细设计 | 9 | |
实验十一 团队作业7—团队项目设计完善&编码测试 | 8 | |
实验十二 团队作业8—团队项目用户验收评审 | 4 |
3、哪一次作业让你印象最深刻?为什么?
答:印象最深刻的是团队作业7--团队项目设计完善&编码测试。在整个项目当中,我主要负责测试这一块,在完成设计测试用例到完成测试文档的书写,经历了一个从什么都不知道到充分理解的过程,在老师还没有讲解有关测试方面的知识点的情况下,实验中出现了有关测试的要求,经过网上的视频教学和查阅资料,能基本完成老师的要求,但后期需要将测试用例运用到实验项目当中时出现了很多的不足。经过向老师请教、与组员讨论,在后期进行测试文档的书写时,予以补充和纠正。期间不论知识还是学习方法,都得到了进一步的提升,受益多多。
4、学习和使用的新软件:
答:visio。
5、学习和使用的新工具:
答:process on、墨刀、石墨文档。
6、学习和掌握的新语言、新平台:
答:GitHub、CSDN、博客园、中国大学MOOC平台。
7、学习和掌握的新方法:
答:快速原型方法、白盒测试与黑盒测试、面向对象设计方法。
8、其他方面的提升:
答:文档撰写、Java编程、团队的沟通与协作。
三、你认为目前的课程有哪些问题,你有什么更好的建议:
1、你认为本门课程需要在哪里进行改进,具体措施有哪些,包括:时间进度安排,项目难度等均可;
答:老师对于课程的教学安排超出我自身的预期,效果也比想象中的要好很多。翻转课堂教学法对学生掌握理论知识很有帮助,结合合理的实验项目,能充分地将学习到的理论知识运用到实际当中,让知识得到不断的提升和巩固。我觉得老师的时间进度安排和项目难度均合理。
2、你认为助教/老师哪里做的不足,哪里限制太多等;
答:老师和助教对学生的作业尽职尽责,会及时向学生反应做得好的地方和做得不好的地方,让学生及时发现自己或团队的优点和存在的不足。另外,老师验收作业的时间都是固定的,但每次作业的难度和量都有所不同,当然这也是基于老师和助教的时间而制定的,
3、你认为每次项目的评分标准存在哪些问题,你认为的合理评分准则是怎样的(个人/结对/团队算三个)
答:关于评分标准,个人觉得很合理,之前有同学因为自己的博客作业不高而与老师和助教团队发生分歧,觉得主要原因是学生自己达不到要求,对评分有意见的团队在后期与老师和助教团队沟通,对自己的学习的不足之处予以纠正后分数有所提高,对于这方面我觉得老师和助教团队极具包容和耐心。
4、在结对项目中你是否真正体会到了结对的好处,是否真正严格进行了结对编程,双方的工作量是否相同;
答:在结对项目中我深刻地体会到了结对的好处,真正严格进行了结对编程,双方工作量也相同,这些在结对项目的博客中都有所体现。
5、你的团队项目是否成功,如果重来一次你是否还会选择这个团队,为什么成功/失败;
答:我们团队的项目的兰州家教管理系统,在全体成员的努力下最终取得成功。如果重来一次我也依旧会选择这个团队,在完成项目的整个过程当中,我们团队没有出现过分歧,不管遇到什么困难,都是互相帮助一同完成的,而且团队里的每一个成员都尽职尽责,我很喜欢这个团队。
6、总结一下你们团队在做项目时大家的时间安排情况。
答:我们团队在完成项目的各个阶段,都会先经过开会讨论,再进行分工,组长很负责,会根据每个人的情况进行合理分工,每次任务每个人都会有任务,没有谁不会因为任务轻而没有任务。
7、对下一届软工课实践教学的建议,或者对于开学初的你,对于大一的你,对于开学初的老师,你有什么想建议和告知的呢?对于后来人的期许。
答:对于往后学习软工的同学,我想说学习一定要听老师的话,想要变成优秀就得付出比别人更多的努力,另外学习一定要做到理论联系实际。
四、你还有什么想说的话?
学习软件工程对于个人能力的提升有很大的帮助,在本学期学习软件工程的过程中,发现了自己的很多不足,惆怅之余是庆幸,能及早发现及早查缺补漏。从个人项目到结对项目再到团队项目,通过完成老师布置的项目,可以切身体会到开发软件或系统的方法还有完整开发流程,除此之余,通过与团队合作开发软件,学会了很多的沟通技能,很多理论的知识也得到了巩固和提升。
很感谢队友和结对伙伴的包容、支持和帮助,也很感谢老师的耐心指导。