阅读笔记
今天阅读了《构建之法》的前15页。这一节是整个软件工程的概论,邹欣老师从大家众所周知的一个命题:程序= 数据结构+算法,引出了程序的这一个概念。然后又用一个实际的案例,就是一个家长帮自己的孩子写了一个每天出算术题的小程序,到随着学校老师新提的不断需求,而扩展到一个比较大的系统的软件工程的范畴。引出了一个扩展链:
程序->应用软件->软件服务.
然后又扩展出了整个软件工程的技术名词,包括:
源程序
数据
软件架构
软件设计与实现
源代码管理
配置管理
质量保障
软件测试
需求分析
程序理解
软件维护
服务运营
软件生命周期
项目管理
用户体验
国际化和本地化
软件商业模式
职业道德规范
由此从最原始的公式逐渐推演和扩展:
程序= 算法 + 数据结构
软件= 程序 + 软件工程
软件企业= 软件 + 商业模式
由此得出一个结论:程序(算法,数据结构)是基本功,但是在算法和数据结构之上,软件工程决定了软件的质量;商业模式决定了一个软件企业的成败。软件从业人员和软件企业的道德操守会极大地影响软件用户的利益。
然后,通过类比人类对飞机的发展阶段:从叠纸飞机(玩具阶段),到用气球实现飞屋环游(业余爱好阶段),再到莱特兄弟发明飞机(探索阶段),再到现在的商业大飞机(成熟的产业阶段)。作者指出一个软件的开发阶段也是从简单到复杂的阶段,并且进行了对比,指出在每一个阶段如果成功或失败,会引起的不同结果。
在大家对软件工程有了一个模糊的印象后,作者用专业化的定义对软件工程做了定义。同时又指出了软件的特殊性。
然后针对目前全国各大高校,开的与计算机和软件相关的专业,指出了这些专业在培养侧重点方面的区别。
通过这一天的阅读,对软件工程的了解,也从原来的模糊逐渐到清晰。而作为身在其中的工程人员,也清楚了自己在整个软件工程中的定位,其中的很多词汇也都是平时自己工作中耳熟能详的。