读《构建之法》后的疑惑
项目 | 内容 |
---|---|
这个作业属于哪个课程 | 2016级计算机科学与工程学院软件工程(西北师范大学) |
这个作业的要求在哪里 | 实验一 软件工程准备 |
三个问题 | Q1: 我一直都在考虑:软件到底是什么?以前还一直想当然地认为软件就是编程序,写代码,但并不是。通读完《构建之法》第一章,我大概对“软件”有了一个新的认识。书中也说了:软件=程序+软件工程,那么更深理解的话,软件还可以怎样定义,怎样解释?当然,也还有对软件的一般解释,软件它是一种逻辑的产品,一般来讲软件被划分为系统软件、应用软件,用户主要是通过软件与计算机进行交流。如果以开发语言作为描述语言的话,还可以认为: 软件=数据结构+算法。但是,就目前来说,我可能在今后的学习中,还要更加深入地学习并深切地感受“软件”的含义。 Q2:我仔细阅读了《构建之法》的第十七章,里面讲了很多关于团队和领导力的内容。以前我们的学习可能很少有这种团队合作的经历,但是这学期我们的很多课程都是需要小组合作的,所以看完这一章我深有体会。在一个团队中,我们讲求人员的少而精,即我们的团队不需要很多成员,但是每一个成员都得有自己负责的模块,要都尽自己的一份力,那么现实中每个人真的都能在努力地去为团队奉献自己的力量吗?显然并不是这样的,我们的小组里面肯定总有那么几个不干活的,他加入小组只是让自己不落单,甚至不挂科。所以,在现实生活、学习和工作中,我们到底应该怎样去组建一个比较好的团队,建好团队以后应该怎样去分工合作?这些问题还有待进一步思考。 Q3:在看到《构建之法》中的2.3节时,书中讲到了两组统计数据:大学生和工程师的PSP数据比较,最明显的差别就是学生在具体编码上话费的时间要比工程师多,而工程师在需求分析和测试上花了比较多的时间,这两部分对于学生来讲是比较匮乏的,这就也引起了我的深思。作为一名学计算机的学生,我们每天要面对的专业课,几乎都跟编程脱离不了关系,我们学过Python、C语言、Java和汇编语言等等语言,久而久之,我们也就习惯了,认为学这个专业编程才是最重要的。但是当我们到了高年级,真的要做一些东西出来的时候,尤其像软件工程这样的课程,我们会变得手足无措,也许只有到了这个时候我们才会觉得,好像做软件做项目最重要的并不是编程,可能我们弄反了,我们以前从来不会注意到的文档翻身一变就变成了我们最缺失但又是很重要的一部分。所以我就在想学生时期到底是应该多训练编码还是要训练需求分析这个模块,好像在校学习的时候不止学生,有的学校课程安排也会让这两个模块失衡,那么我们究竟应该怎么在两者之间做到均衡呢? |