【软工】提问回顾与我的总结

本篇博客是对软件工程这门课一学期的总结。
问题博客:【软工】第一次阅读做业html

1、回答问题

问题一:结对编程适合于全部项目吗?

其实如今回想起来,这应该是一个不太好的问题。经过老师的讲解,以及本身结对做业的经从来看,结对编程比较适合那种代码量不算多,可是对于逻辑、代码规范等方面要求比较高的项目。由于两我的同时编程在必定程度上会下降工做效率,因此比较适合那种一我的搞不定的状况。好比说团队项目这种分工比较琐碎的项目,结对编程的效果可能就不太好。因此,结对编程并非适合全部项目。前端

问题二:代码规范

可是提出的问题是对于在头文件里定义全局变量是不是很业余的行为。在经历告终对编程和团队做业以后我认为,其实全局变量在一个项目里面是能够不存在的,能够经过多种方式来替换全局变量。同时,在咱们的项目中,应该尽量的避免使用全局变量,尤为是在一些和线程有关的项目中,由于不能保证其值的可靠性。因此,我认为,在头文件里定义全局变量是一种不太好的习惯。git

问题三:goto语句的使用

关于“goto”无用论有不少说法,反对goto语句使用的主要缘由在于使用以后便没法控制程序的运行逻辑(由于容许程序指令按任何顺序执行),这样无非会形成不少新的问题,因此如今个人答案是应该避免对goto语句的使用。github

问题四:团队开发的模式

原问题:如上引用,团队开发的模式有如此之多,并且不一样的模式适合不一样的项目。既然有这么多模式存在,也就是说咱们在开始一个项目以前,都须要根据咱们的项目首先选择适合本身的模式吗?仍是说团队开发模式只是一个抽象概念,用于后续的总结而不须要在开发前选择。编程

在经历了团队做业后,我以为团队开发的模式实际上是次要的。在一个团队内部,采用何种开发模式不重要,只要每一个人各司其职,合理的分工,项目的进展天然会很快。后端

问题五:项目经理的做用是否是被夸大了?

项目经理在整个项目的开发过程当中毫无疑问是其核心枢纽。在咱们的团队项目中,PM须要作的事不少,包括咱们项目须要实现的功能,项目规格文档的撰写,项目的发布说明,以及每次会议的总结,因此,结论是,其做用并无被夸大,而是PM真的很重要。机器学习

问题六:创新和构思

提出这个问题的原因是每届软工课作的那么多项目,其效果都蛮不错的,可是为啥最终发布的或者说被人所知道的项目很少呢?在经历了这学期的软工以后,我得出的结论是:时间不太充足。大三每每是你们比较忙的时候,保研考研或者出国的同窗都开始准备了,因此可能不会有太多的时间来准备软工课程,因此对于后期的发布就不可能话费太多的时间,天然不为人知。学习

问题七:是选择冒险仍是从众呢

现现在机器学习毫无疑问是计算机比较火热的一个方向,我当时比较迷惑的是如何选择本身的方向,可是现在我已经找到了本身的兴趣点,因此说这个问题已经不重要了。测试

2、新的问题

软件工程这门课的不少考核我以为有点过于形式化了。好比说每日一次会议,期末考核不重点考察项目的代码质量以及实现方式是否科学而是考核用户数量等用户层面的东西,这对于一个才一两个月的学生项目来讲感受意义不是很大。固然这门课确实不太好考核,因此这个问题仍是有待商榷吧。网站

3、学到的知识点

需求阶段

在现在的软件开发中,用户需求永远是第一须要考虑的事情。若是一个软件开发出来没人使用那么即是“很差”的项目。在这一阶段,咱们小组在作过一些调研以后,学会了一些如何分析某个项目是否为当前用户所需的方法。这些方法支撑咱们完成了咱们的网站。

设计阶段

在咱们的网站开发过程当中,个人工做是后端开发,具体即是根据前端返回的数据生成对应的代码。这个工做从难度上来说是不算大的,可是若是要符合软件工程的一些规范,天然须要下很大功夫。在alpha阶段,因为设计的不合理,致使后来的gamma阶段几乎重构了全部代码,因此我也懂得了设计的重要性。

实现阶段

在设计好了以后,实现实际上是最简单的事情。这里就只须要考虑如何优雅的实现而不须要考虑其余的好比可扩展性什么的。在这个阶段,个人主要收获即是对github的熟悉程度又加深了一些。

测试阶段

我不是负责测试的,在这一阶段收获的主要是debug的一些方法吧。

发布阶段

咱们的项目因为后期测试的缘故,发布时间比较赶。因此收获即是时间的合理安排吧,不要临时抱佛脚之类的。

维护阶段

在作好一个网站以后,主要工做即是维护了。虽然咱们的开发工做结束了,可是咱们小组还在继续完善咱们的网站,毕竟是一个学期的成果,总仍是但愿她变得更好的。

4、理解和心得

这学期的软工我经历告终对编程和团队编程。

结对编程阶段,这感受应该是这门课最耗时的阶段了。一开始咱们两我的彼此的配合不太好,咱们各自擅长的地方不太同样,因此走了不少弯路,致使后来的测试作得也很少,因此错了不少不应错的测试点。可是后来,随着时间的推移,结对编程的做用逐渐凸显出来,因为咱们两我的平时是利用teamviewer来联系的,因此一我的在写代码的时候另外一我的在看,这样的开发模式一开始我不太理解,可是慢慢的,忽然以为仍是颇有用的。也算是学会了一个新的开发模式。

在团队开发阶段,最大的收获即是懂得了设计的重要性,一个好的设计或许比实现更为重要,这也让我想起了大二在计组开发的时候高小鹏老师说过要认真设计,不要忙着写代码。同时,我也收获了关于github的使用规范。在小组成员的提醒下以及本身开发所需,不得不对github有所了解,这促使了我去学习有关知识。

最后则是关于这门课程,总的感觉是老师助教都很是负责,课程的整体设计也是能够的,虽然感受考核啊这些方法能够改改。这段经历应该会很难忘吧。

相关文章
相关标签/搜索