《软件工程》读书笔记(一)
第1章 绪论
正确认识软件工程,是从事软件开发实践和软件工程项目管理的思想基础。
1.1软件工程概念的提出与发展
软件工程这一术语首次出现在1968年的NATO会议上。用以解决20世纪60年代以来,随着计算机的广泛应用,软件生产率、软件质量满足不了社会发展需求,成为社会、经济发展的制约因素而引发的“软件危机”。
软件工程倡导以工程的原理、原则和方法进行软件开发。
软件工程的定义:软件工程是应用计算机科学理论和技术以及 工程管理原则和方法,按预算和进度实现满足用户要求的软件产品的工程,或以此为研究对象的学科。
软件工程已有40余年的历史:
1.2软件开发的本质
计算机软件一般是指计算机系统中的程序及其文档。其中,程序是计算机任务的处理对象和处理规则的描述;文档是为了理解程序所需的阐述性资料。
软件是对一个特定问题域的抽象,是被开发出的一种逻辑实体,该问题域有自己的术语空间和业务程序。
软件开发的目标是将问题域中概念映射为运行平台层面上的处理逻辑。
运行平台:可直接支持软件执行的系统软件(操作系统、编译系统、数据库管理系统等),支撑软件(通信中间件、安全中间件)以及硬件(计算机、网络)等的集合体。
从问题域向运行平台直接进行映射存在复杂性,为了控制复杂性,需要确定多个抽象层(需求层、设计层、实现层、部署层等),每一层都有自己的特定术语,形成该抽象层的一个术语空间。
软件开发的本质:不同抽象层属于之间的“映射”,以及不同抽象层处理逻辑之间的“映射”。
软件开发是实现多个不同抽象层之间的映射,涉及两个方面的问题。
问题建模:运用所掌握的知识,通过抽象,给出该问题的一个结构。在软件开发领域,实际工程中采用的建模手段主要包括结构化方法、面向对象方法以及诸多面向数据结构方法等。
建模之后的成果称为问题的模型。
模型:在特定意图下所确定的角度和抽象层次上对物理系统的描述,通常包含对该系统边界的描述、对系统内各模型元素以及它们之间关系的语义描述。
软件系统模型:概念模型和软件模型。
已有 5 条评论
发表评论
电子邮件地址不会被公开。 必填项已标注。
沙发不解释,大D开始看软件工程了啊
@xushine 唉,看归看,没个能记住的。
恕我愚钝,始终觉得这种工程性的东西看书是不可能学会的,必然需要在实际工程中领悟。而且我也比较反对学校开这种文科记忆性的工程课
@Kingsam Chen 哈哈
@Kingsam Chen
你一点儿也不愚钝阿。
维护了多少烂code,才懂design。
debug过无数不眠夜,方知什么是问题。
不过一个良好的科班出身的软件工程师,在去解决问题前总要有一些指导思想和方法的,这就是书本的用途。但至于能用到其中多少,就看经验和造化了。