问题一
看到软件工程这本书,我的第一感觉就是又要开始编程写代码了,对于一个编程薄弱的人,并且属于网络专业的学生来讲,学习这门课程到底有多大的用处,或者说能从这本书中学到什么东西?通过百度查询了一下网络工程的定义:本专业培养的人才具有扎实的自然科学基础、较好的人文社会科学基础和外语综合能力;能系统地掌握计算机网和通信网技术领域的基本理论、基本知识;掌握各类网络系统的组网、规划、设计、评价的理论、方法与技术;获得计算机软硬件和网络与通信系统的设计、开发及应用方面良好的工程实践训练,特别是应获得较大型网络工程开发的初步训练;本专业是专门为网络领域人才市场供不应求的迫切需要而设置的专业。所以我觉得在软件开发这方面涉及的比较少。
问题二
阅读第一章P10页,一个小题是说到“软件工程与计算机科学的关系”,看书本,我对这个关系还不是非常理解。是不是一个程序或者一个项目就算是一个工程?书本上有表格分析了一下他们的侧重点,也说到:计算机理论的进展会帮助软件工程,软件工程的进展会帮助计算机科学更有效地进行实验和探索。是不是可以这样子理解:计算机科学注重理论上,软件工程注重动手实践上,科学是基础。如果是这样子的话,为何要拿来区分呢?
问题三
看了第三章--软件工程师的成长,我开始有一个感受,对于这本书的读者,是不是应该具备有良好的编程基础,对于基础薄弱的我,问的问题更多不是技术上的,而是如何去学习好这门课程。第三章有一个问题--选哪一种医生,分别有abcd种类型,但是更多人还只是处于a的类型,软件工程这门课可能是对编程的一个提升,我想问的是,目前在学习这么课程,该用什么样的方式才能跟得上。
问题四
关于敏捷开发的看法:书中P108页也说到了几个问题:1.各个需求和任务之间是有种复杂的依赖关系。让我想起了一个名为木桶效应的原理,如果团队中,一个功能一天没有完成,是不是会延迟其他开发人员的进度,是不是需要Scrum大师在每一个时刻重新安排任务呢?2.定义好任务,对于一个开发的流程,我认为不能做到一半就开始提出新的要求,否则很容易影响到整个开发的秩序,在开发和分配任务之前,最好是分析好,在开始行动。书本第三章案例四,讲的是小飞原计划三天完成的某个任务,在第三天下午,发现原来设计中的弱点,是该怎么办好呢?P113页也说到:如果一个团队已经有很厉害的一帮人,那么用不用Scrum都能写好软件。是不是这个敏捷的方式,真的能够很有效的完成一个开发任务吗?或者是这个方式是否每个团队都适合?
问题五
PM即项目经理,讲述了PM在团队中的重要性,也就相当于前面所提到的Scrum master ,一个合格的PM需要的能力有1、观察、理解和快速学习能力;2、分析管理能力、3、一定的专业能力、4、自省能力。对于一定得专业能力所指的范围是什么,是不是要经过一定的开发经验才能做好上PM?还是要求每一个计算机知识都能懂一些,但是允许编程能力的不足?如果想要做一名PM。有什么好的建议?