读书笔记
在浅读过《构建之法:现代软件工程》第一章和邹欣老师的一些博文后,我对以下四个方面有了一些粗陋的认识。
一、 对软件工程的理解
《构建之法》第一章中对软件工程有着自己的理解。书中提到“软件=程序+软件工程”这一概念。同时,书中还指出软件工程包含软件需求分析、软件设计、软件构建、软件测试和软件维护这些领域。看过这些介绍后,我认为首先要弄请程序、软件、软件工程的区别。正如书中提到阿超的例子一样,程序只是完成某一项或几项简单任务的代码和数据结构集成;而软件则是能满足用户各种需求的应用;软件工程则是左右一款好软件是否优秀、合理的关键。在我看来,如果把软件比作人,那么程序便是人的皮肉,软件工程则是人的骨骼。一个强壮的人,除了拥有健硕的肌肉还要有坚硬的骨骼。人的组成以皮肉为主体,通过骨骼搭起的框架支撑,二者缺一不可,软件成型的道理与此相似。一个真正的好软件是要充分考虑到用户的需求,软件的可靠性、稳定性、可维护性、软件生产周期等多方因素的,我认为程序只能满足完成用户需求这个方面,而其他大部分是属于软件工程的领域。可见,软件工程在构建软件中占有很重要的地位。正如书中所说“程序是基本功,但是在算法和数据结构之上,软件工程决定了软件的质量”。
二、 机械学院学生为何要学习软件工程
现如今,机械行业正在往高效化、智能化、柔性化的方向发展。一个完备的机械产品已经不单单是简单的机械结构既可实现的,它还包括了电路、控制等多方领域,已经属于多学科交叉的产物。举一些简单的例子来说明,比如运动控制过程中各电机的控制,机器手在工作过程中手臂的自动控制等等。在面向智能化的当下,机械设备的自动化设计是及其重要的一环,这就难免要通过计算机程序来代替人的实时控制。同时,了解工人对设备的工作需求,构建一个满足工人需求的操作性强的软件,为人机交互搭建一个良好的平台也是极其重要的,所以机械学院的学生有需求也有必要了解、学习软件工程方面的知识。
三、 软件工程方法和机械工程方法共通之处
首先,书中提到了这样一句话“软件工程和机械工程、航空工程等工程学科一样,其中也有工程理论、质量控制论的原理”。我们再来看软件工程方法包含了哪些内容。软件工程方法首先需要考虑用户的需求,然后要对源程序进行构建,其次要对源程序进行管理和质量保证,在软件发布后还要考虑软件的维护,软件的服务运营以及软件的更新换代的生产周期等。这与机械设备的开发过程如出一辙。所谓机械工程的方法,我认为是在掌握了市场的明确需求后,依靠科学的工程学科理论依据,制定出明确机械结构以及控制方法等方案,以实现目的要求的过程。同时它也要考虑到产品使用寿命、产品质量、更新换代周期等产品后续问题。所以,可以说软件工程方法和机械工程方法在总的思路上是一致的,只是其中具体实施的每一个步骤略有不同。
四、 如何学习《实时控制软件设计》
我认为想要学好这门课,正如邹欣老师在一些博客中评论所说。首先要打好基础,熟练掌握程序语言。然后要多多练习一些能完成具体任务的程序的编写,锻炼自己的程序构建技术。最后不能光纸上谈兵,空掌握了大量的技术和理论知识,我们还要多多与社会上的生产实例相结合,掌握一些解决实际问题的方法。
冯一飞
机制1203班
U201210601