软件工程课程学习读书笔记
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
软件工程课程学习读书笔记
学院:软件工程学院专业:软件工程姓名:xxx
0前言
应自己以后发展需要,自己报考xxx大学软件工程学院的软件工程硕士专业,希望接触并深入学习软件工程方面的知识。以下是我本次课程对专业知识学习的笔记,其中部分是自己课后通过其他方式学习的读书笔记。
1软件工程的介绍
1.1 软件工程的介绍
软件工程是指导计算机软件开发和维护的一门工程学科。采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,以经济地开发出高质量的软件并有效地维护它,这就是软件工程。
早起在1968年,人们就提出了个早期的定义“软件工程就是为了经济地获得可靠的且能在实际机器上有效地运行的软件,而建立和使用完善的工程原理。”,后期1993年IEEE组织又对其加以完善“软件工程是:①把系统的、规范的、可度量的途径应用于软件开发、运行和维护过程,也就是把工程应用于软件;②研究①中提到的途径。
1.2软件发展
软件的发展经历了以下几个阶段:
早期:1950-60:面向批处理、有限的分布、自定义软件
第二时期:1960-70:多用户、实时、数据库、软件产品
第三时期:1970-80:分布式系统、嵌入“智能”、低成本硬件、消费者的影响
第四时期:1990-2000以后:强大的桌面系统、面向对象技术、专家系统、人工神经网络、并行计算、网络计算机。
1.3 软件工程的原理
针对软件工程的原理,总结以下几条:
1. 用分阶段的生命周期计划严格管理
2. 坚持进行阶段评审
3. 实行严格的产品控制
4. 采用现代程序设计技术
5. 结果应能清楚地审查
6. 开发小组的人员应该少而精
7. 承认不断改进软件工程实践的必要性
2.3 软件工程方法学
软件工程包括技术和管理两方面的内容,是技术与管理紧密结合所形成的工程学科。
软件工程方法学包含3个要素:方法、工具和过程。
目前使用得最广泛的软件工程方法学,分别是传统方法学和面向对象方法学。
2.4 软件生命周期
软件生命周期由软件定义、软件开发和运行维护(也称为软件维护)3个时期组成,其中各个时期又分为若干阶段定义时期的任务是:确定软件开发工程必须完成的总目标;确定工程的可行性;主要做的工作就是系统分析,分成3个阶段,即问题定义、可行性研究和需求分析。
开发时期具体设计和实现在前一个时期定义的软件,它通常由下述4个阶段组成:总体设计,详细设计,编码和单元测试,综合测试。其中前两个阶段又称为系统设计,后两个阶段又称为系统实现。
维护时期的主要任务是使软件持久地满足用户的需要。就是当用户有的新的需求,或者程序有错误的时候,要对软件进行完善及改正。
2.5、软件工程
软件过程是为了获得高质量软件所需要完成的一系列任务的框架,它规定了完成各项任务的工作步骤。
软件开发的几个模型及特殊的模型:瀑布模型、快速开发模型、增量模型、螺旋模型、喷泉模型、Rational统一过程、敏捷过程与极限编程、微软过程。
2需求分析之数据流图
2.1概念
它是将提供给用户的业务流程图(“物理模型”)进行功能建模,转化成开发人员能够理解的一系列“逻辑模型”图,即以图形化的方法描绘数据在系统中的流动和处理的过程,这些图都应该用规范的DFD描述。
2.2原理
DFD设计过程就是将数据和处理进行逐层分解就形成了若干层次的DFD。DFD分为顶层图(只有一张)、0层图(也只有一张)、子图、子子图等等。
2.3包含主要元素
包含主要元素即在DFD中包括哪些主要元素,数据流、加工、数据存储、外部实体。
2.4设计方法
1.画顶层数据流图
即画整个系统的输入输出(画系统也可以将各子系统分开画)。
把整个系统视为一个大的加工(也只能含一个加工),然后根据数据系统从哪些外部实体接收数据流,以及系统发送数据流到那些外部实体,就可以画出输入输出图。这张图称为顶层图。
顶层图的作用在于表明被开发系统的范围以及它和周围环境的数据交换关系。
2.画0层数据流图
即画系统的内部。把顶层图的加工分解成若干个加工,并用数据流将这些加工连接起来,使得顶层图的输入数据经过若干加工处理后,变成顶层图的输出数据流。这张图称为0层图。从一个加工画出一张数据流图的过程就是对加工的分解。
确定加工的方法:在数据流的组成或值发生变化的地方应该画出一个加工,这个加工的功能就是实现这一变化,也可以根据系统的功能决定加工。
确定数据流的方法:用户把若干数据当作一个单位来处理(这些数据一起到达、一起处理)时,可以把这些数据看成一个数据流。
关于数据存储:对于一些以后某个时间要使用的数据,可以组织成为一个数据存储来表示。
3.画加工的内部
把每个加工看作一个小系统,把加工的输入输出数据流看成小系统的输入输出流。于是可以象画0层图一样画出每个小系统的加工的DFD图。
4.画子加工的分解图
对第三步分解出来的DFD图中的每个加工,重复第三步的分解过程,直到图中尚未分解的加工都是足够简单的(即不可再分解)。至此,得到了一套分层数据流图。
5.对数据流图和加工编号
对于一个软件系统,其数据流图可能有许多层,每一层又有许多张图。为了区分不同的加工和不同的DFD子图,应该对每张图进行编号,以便于管理。
3黑盒测试和白盒测试方法
3.1介绍
任何工程产品(注意是任何工程产品)都可以使用以下两种方法之一进行测试。
黑盒测试:已知产品的功能设计规格,可以进行测试证明每个实现了的功能是否符合要求。