构建之法第一章
本章为概论,主要讲解计算机科学的领域、软件工程和计算机科学的关系、软件的特性、软件工程的定义与组成部分等内容。
一、软件:
程序=数据结构+算法
软件=程序+软件工程
软件工程的核心部分:
1、构建管理
2、源代码管理
3、软件设计
4、软件测试
5、项目管理
软件开发有玩具阶段、业余爱好阶段、探索阶段、成熟的产业阶段等四个阶段。
二、软件工程:
软件具有复杂性、不可见性、易变性、服从性、非连续性等。
计算机科学与软件工程的区别(侧重点)
计算机科学:
1、发现和研究长期的、客观的真理
2、理想化的
3、确定性,完美,通用性
4、各个学科独立深入研究,做出成果
5、理论的统一
6、强调原创性
7、形式化,追求简明的公式
8、正确性
软件工程:
1、短期的实际结果(具体的软件会过时)
2、对各种因素的折衷
3、对不确定性和风险的管理,足够好,具体的应用
4、关注和应用各个相关学科的知识,解决问题
5、百花齐放的实践方法
6、最好的、成熟的实践方法
7、在实践中建立起来的灵感和直觉
8、可靠性
项目有:
Build To Learn
Build To Show
Build To Serve
Build To Win
初步学会软件工程(应达到):
1、研发出符合用户需求的软件
2、通过一定的软件流程,在预计的时间内发布“足够好”的软件
3、能证明所开发的软件是可以维护和继续发展的
整体来说,第一章概论主要介绍了软件与软件工程,通过实例讲解了软件的组成以及相关核心部分,各个阶段所应该打到的目标以及评判的标准。简单说明了计算机科学和软件工程的区别(侧重点),通过阅读第一章,对软件以及软件工程有了更深刻的认识,也更加了解了计算机科学与软件工程的一些不同之处。
个人感受部分:
1、我过去怎么做的;过去认为软件工程就是写代码,没有理解其“工程”的含义
2、结合书中所讲,这样有什么不好:理解好软件工程与单纯的编代码之间的区别有助于针对一个工程的实践流程
3、提出一个解决办法,避免再次掉入陷阱:在进行项目开发的时候,重视工程的方面,多进行需求分析等相应步骤。