软工视频总结(一)
2017-09-17 21:12
281 查看
1、软件是计算机系统中与硬件相互依存的另一部分,它是包括程序,数据及其他相关文档的完整集合
程序是按事先设计的功能和性能要求执行的指令序列
数据是使程序能正常操纵信息的数据结构
文档是与程序开发,维护和使用有关的图文材料
2、软件的特点:
3、软件的分类:
4、发展阶段:
程序设计阶段(50-60年代)
程序系统阶段(60-70年代)
软件工程阶段(70年代以后)
5、可行性研究:经济可行性,技术可行性,操作可行性,法律可行性,时间可行性
6、用于写加工逻辑说明的工具:结构化英语,判定表,判定树
7、软件原型:
类型:探索型,实验型,进化型
使用策略:废弃策略,追加策略
8、软件开发模型基于原型生存期(分析,设计,编码,测试,运行维护)
9、常用动态分析方法:状态迁移图,时序图,Petri网
10、数据域的三种属性:数据流,数据内容,数据结构
11、结构化分析方法:使用数据流图和数据字典描述
数据字典的内容:数据流,数据项,数据结构,数据储存,处理逻辑,外部实体
12、软件设计任务:
总体设计(概要设计):系统结构设计
详细设计(过程设计):数据设计,过程设计
13、软件设计过程:
制定规范
软件系统结构的总体设计
处理方式设计
数据结构设计
可靠性设计
编写概要设计阶段的文档
概要设计评审
14、软件设计基础:自顶向下,逐步细化;软件结构;程序结构;结构图;模块化
15、独立性指标:耦合(相反),内聚(对应)
(耦合越低,模块独立性越强;内聚越高,模块独立性越强)(高内聚低耦合)
(1) 耦合:非直接耦合,数据耦合,标记耦合,控制耦合,外部耦合,公共耦合,内部耦合
结论:尽量使用数据耦合,少用控制耦合,限制公共耦合,完全不用内部耦合
(2)内聚:功能内聚,信息内聚,通信内聚,过程内聚,时间内聚,逻辑内聚,巧合内聚
16、结构化设计方法
系统结构图中的模块:传入模块,传出模块,变换模块,协调模块
变换型,事务型
变换分析过程:
重画数据流图
区分有效输入、有效输出和中心变换部分
进行一级分解,设计上层模块
进行二级分解,设计输入、输出和中心变换部分的中、下层模块
事务分析过程:
识别事务源
规定适当的事务型结构
识别各种事务和他们定义的操作
注意利用公用模块
对每一事务,或对联系密切的一组事务,建立一个事务处理模块
对事务处理模块规定它们全部的下层操作模块
对操作模块规定它们的全部细节模块
17、软件模块结构的改进:
(1)模块功能的完善化
(2)消除重复功能,改善软件结构
(3)模块的作用范围应在控制范围之内
(4)尽可能减少高扇出结构,随着深度增大扇入
(5)避免或减少使用病态联接
(6)模块的大小要适中
(7)设计功能可预测的模块,但要避免过分受限制的模块
(8)软件包应满足设计约束和可移植性
18、程序流程图的基本控制结构:
程序是按事先设计的功能和性能要求执行的指令序列
数据是使程序能正常操纵信息的数据结构
文档是与程序开发,维护和使用有关的图文材料
2、软件的特点:
3、软件的分类:
4、发展阶段:
程序设计阶段(50-60年代)
程序系统阶段(60-70年代)
软件工程阶段(70年代以后)
5、可行性研究:经济可行性,技术可行性,操作可行性,法律可行性,时间可行性
6、用于写加工逻辑说明的工具:结构化英语,判定表,判定树
7、软件原型:
类型:探索型,实验型,进化型
使用策略:废弃策略,追加策略
8、软件开发模型基于原型生存期(分析,设计,编码,测试,运行维护)
9、常用动态分析方法:状态迁移图,时序图,Petri网
10、数据域的三种属性:数据流,数据内容,数据结构
11、结构化分析方法:使用数据流图和数据字典描述
数据字典的内容:数据流,数据项,数据结构,数据储存,处理逻辑,外部实体
12、软件设计任务:
总体设计(概要设计):系统结构设计
详细设计(过程设计):数据设计,过程设计
13、软件设计过程:
制定规范
软件系统结构的总体设计
处理方式设计
数据结构设计
可靠性设计
编写概要设计阶段的文档
概要设计评审
14、软件设计基础:自顶向下,逐步细化;软件结构;程序结构;结构图;模块化
15、独立性指标:耦合(相反),内聚(对应)
(耦合越低,模块独立性越强;内聚越高,模块独立性越强)(高内聚低耦合)
(1) 耦合:非直接耦合,数据耦合,标记耦合,控制耦合,外部耦合,公共耦合,内部耦合
结论:尽量使用数据耦合,少用控制耦合,限制公共耦合,完全不用内部耦合
(2)内聚:功能内聚,信息内聚,通信内聚,过程内聚,时间内聚,逻辑内聚,巧合内聚
16、结构化设计方法
系统结构图中的模块:传入模块,传出模块,变换模块,协调模块
变换型,事务型
变换分析过程:
重画数据流图
区分有效输入、有效输出和中心变换部分
进行一级分解,设计上层模块
进行二级分解,设计输入、输出和中心变换部分的中、下层模块
事务分析过程:
识别事务源
规定适当的事务型结构
识别各种事务和他们定义的操作
注意利用公用模块
对每一事务,或对联系密切的一组事务,建立一个事务处理模块
对事务处理模块规定它们全部的下层操作模块
对操作模块规定它们的全部细节模块
17、软件模块结构的改进:
(1)模块功能的完善化
(2)消除重复功能,改善软件结构
(3)模块的作用范围应在控制范围之内
(4)尽可能减少高扇出结构,随着深度增大扇入
(5)避免或减少使用病态联接
(6)模块的大小要适中
(7)设计功能可预测的模块,但要避免过分受限制的模块
(8)软件包应满足设计约束和可移植性
18、程序流程图的基本控制结构: