知识点:软件工程
2021-04-07 20:03:15 3 举报
AI智能生成
软件工程知识点脑图,包含整本书的大部分重点知识
作者其他创作
大纲/内容
第四章 软件需求分析之面向对象分析方法
习题
对象的基本特征:封装、继承、多态
对象有如下一些基本特点,即标识唯一性、分类性、多态性、封装性和模块独立性。
面向对象分析模型包括:对象模型、动态模型和功能模型
第五章 软件项目之系统设计
开发阶段由设计、编码和测试3个环节组成
两种主要设计方法
结构化软件设计
面向对象软件设计
第二节 结构化的软件设计
结构化的软件设计方法是一种面向数据流的设计方法
系统设计的基本任务
体系结构设计
模块设计
数据结构和算法设计
用户界面设计
数据类型
变换型
数据处理过程
1.输入数据
2.变换数据
3.输出数据
变换分析
遵循高内聚、低耦合
过程
1.重新分析数据流图
2.找出系统的逻辑输入、逻辑输出和中心变换部分
3.给软件结构分层
事务型
事务分析
1.明确事务源
2规划适当的事务型结构
3建立事务处理模块
4定义操作模块实现的全部细节模块
实施步骤
1.首先研究、分析和审查数据流图
2.根据数据流图决定问题的类型
3.针对不同的类型分别进行分析
4.由数据流图推导出系统的初始结构图
5.改进初始结构图
第三节 面向对象设计概述
系统设计
目标是表示软件体系结构
对象设计
着重对象及其交互的描述
设计过程
系统设计
首要任务
从面向对象分析的各个模型导出相应的子系统
包括
业务需求子系统设计
用户管理界面子系统设计
任务管理子系统设计
数据管理子系统设计
类及对象设计
消息设计
复审设计模型
对象的三要素
属性
方法
事件
第五节 类的设计
类图是系统的静态模型
习题
传统的软件设计任务包含两个阶段
概要设计
第一节 概要设计
步骤
设计系统方案
选取合理方案
推荐最佳方法
功能分解
软件结构设计
数据库设计、文件结构设计
制定测试计划
详细设计
第六章 详细设计
详细设计文档最重要的部分是:模块的流程图、状态图、局部变量及相应的文字说明
详细设计的基本任务
数据结构和算法设计
物理设计
性能设计
其他设计
编写详细的设计说明书
主要任务;确定每个模块的算法和使用的数据结构
详细设计工具
图形工具
表格工具
语言工具
传统的软件设计工具有
流程图
N-S图
PDL伪代码
面向对象设计的原则
信息隐藏
强内聚
低耦合
可复用
类与类之间的联系
关联(对象之间具体关系的抽象)
聚集(整体和部分)
泛化(一般和特殊)
依赖(两个模型之间的连接)
任务管理:就是建立将子系统组织成任务的基础设施,来管理任务并发
对象设计强调
第八章 软件测试与维护
软件的测试
分类(根据程序是否运行)
静态测试
动态测试
白盒测试(主)
逻辑覆盖法
路径覆盖法
黑盒测试(辅)
流程
1.单元测试
2.集成测试
3.确认测试
4.系统测试
5.验收测试
6.书写软件测试报告
测试的目的
以最少的时间和人力,系统地找出软件中潜在的各种错误和缺陷
软件的维护
维护工作包括
改正性维护
适应性维护
完善性维护
习题
以消除瓶颈为目的的测试是:性能测试
逻辑覆盖功能最弱的是:语句覆盖
导致软件缺陷最主要原因的是:软件需求说明书
软件维护费用很高的原因是:生产率低
软件可维护性指软件能够被维护人员理解、校正、适应及增强功能的程度。
第一章 软件工程导论 软件危机:
开发软件不等于编写程序
软件工程层次结构中,包括:工具层、方法层、过程和技术层和质量保证层
对软件进行的描述:计算机程序方法、规则和相关文档资料以及在计算机上运行时所必需的数据
软件危机:
是指落后的软件生产方式无法满足迅速增长的计算机软件需求,从而导致软件开发与维护过程中出现一系列严重问题的现象。
主要表现
- 软件开发进度难以预测
2.开发成本难以控制
3.用户对产品功能难以满足
4.软件质量无法保证
5.软件产品难以维护
6.软件缺少适当的文档资料
产生原因
用户需求不明确
开发规模越来越大
复杂度越来越高
缺乏正确的理论指导
软件特点
计算机软件是一种逻辑实体,而不是物理实体
没有磨损、老化等问题
开发和运行受计算机系统的限制
尚未摆脱手工开发方式
复杂
昂贵
软件特性
功能性
可靠性
易用性
效率性
可维护性
软件可移植性
按照工作方式分
实时
分时
交互式
批处理
按照功能划分
系统软件
支撑软件
应用软件
软件生存期
1.计划
2.需求分析
3.设计
4.程序编写
5.测试
6.运行维护
瀑布模型
定义阶段
计划
需求分析(出错对软件影响最大)
开发阶段
设计
编码
测试
维护阶段
运行维护
面向对象和结构化设计区别
1.面向对象自底向上设计,结构化自顶向下设计
2.面向问题 ,面向过程
3.可扩展性好,可扩展性差
习题
软件开发约需付出40%工作量进行测试和排错
软件开发方法是:指导软件开发的一系列规则和约定
生存周期时间最长是“维护”
瀑布模型特点:将开发过程严格地划分为一系列有序的活动
软件开发技术包括:软件开发方法学、软件工具和软件工程环境
在面向对象概念中,消息传递是其与外部世界相互管理的唯一途径。
第三章 软件需求分析之结构化分析方法
第一节 可行性分析
1.经济可行性
2.技术可行性
3.操作可行性
4.法律可行性
5.使用可行性
6.社会环境的可行性
第二节 需求分析
分类
1.功能需求
2.性能需求
3.可靠性和可用性需求
步骤
1.问题识别
2.分析与综合
3.制定规格说明
4.评审
第五节 需求分析评审
步骤
规划
准备
召开审查大会
修改缺陷
重审
验证内容
有效性
实现性
完整性
一致性
分析方法
功能分解方法
结构化分析方法
数据流图
数据字典
信息建模法
E-R图
面向对象法
对象模型
动态模型
功能模型
第四节 结构化分析方法
最成熟、应用最广泛
基本思想:“分解”和“抽象”
结构化分析方法使用的工具:借用数据字典、结构化语言、判定表、判定树等工具对它们进行详细说明。
习题
软件需求分析,可以把软件的功能和性能的总体概念描述为具体的软件
第七章 软件实现
结构化程序
三种基本控制结构
顺序
选择
循环
0 条评论
下一页