软件设计过程 ■3.处理方式设计 确定为实现系统的功能需求所必需的算法, 评估算法的性能 确定为满足系统的性能需求所必需的算法和 模块间的控制方式 周转时间 响应时间 吞吐量 精度 确定外部信号的接收发送形式
软件设计过程 ◼ 3. 处理方式设计 ◼ 确定为实现系统的功能需求所必需的算法, 评估算法的性能 ◼ 确定为满足系统的性能需求所必需的算法和 模块间的控制方式 ◼ 周转时间 ◼ 响应时间 ◼ 吞吐量 ◼ 精度 ◼ 确定外部信号的接收发送形式
软件设计过程 4.数据结构设计 确定软件涉及的文件系统的结构以及数据库 的模式、子模式,进行数据完整性和安全性 的设计 ■确定输入,输出文件的详细的数据结构 ■结合算法设计,确定算法所必需的逻辑数据 结构及其操作 确定对逻辑数据结构所必需的那些操作的程 序模块(软件包)
软件设计过程 ◼ 4. 数据结构设计 ◼ 确定软件涉及的文件系统的结构以及数据库 的模式、子模式,进行数据完整性和安全性 的设计 ◼ 确定输入,输出文件的详细的数据结构 ◼ 结合算法设计,确定算法所必需的逻辑数据 结构及其操作 ◼ 确定对逻辑数据结构所必需的那些操作的程 序模块(软件包)
软件设计过程 限制和确定各个数据设计决策的影响范围 若需要与操作系统或调度程序接口所必须的控制表等数据时,确 定其详细的数据结构和使用规则 数据的保护性设计 防卫性设计:在软件设计中就插入自动检错,报错和纠错的 功能 一致性设计: 保证软件运行过程中所使用的数据的类型和取值范围不变 在并发处理过程中使用封锁和解除封锁机制保持数据不被破 坏 冗余性设计:针对同一问题,由两个开发者采用不同的程序设计 风格不同的算法设计软件,当两者运行结果之差不在允许范围内 时,利用检错系统予以纠正,或使用表决技术决定一个正确结果
软件设计过程 ◼ 限制和确定各个数据设计决策的影响范围 ◼ 若需要与操作系统或调度程序接口所必须的控制表等数据时,确 定其详细的数据结构和使用规则 ◼ 数据的保护性设计 ◼ 防卫性设计:在软件设计中就插入自动检错,报错和纠错的 功能 ◼ 一致性设计: ◼ 保证软件运行过程中所使用的数据的类型和取值范围不变 ◼ 在并发处理过程中使用封锁和解除封锁机制保持数据不被破 坏 ◼ 冗余性设计:针对同一问题,由两个开发者采用不同的程序设计 风格不同的算法设计软件,当两者运行结果之差不在允许范围内 时,利用检错系统予以纠正,或使用表决技术决定一个正确结果
软件设计过程 5.可靠性设计 ■可靠性设计也叫做质量设计 在运行过程中,为了适应环境的变化和用户 新的要求,需经常对软件进行改造和修正。 在软件开发的一开始就要确定软件可靠性和 其它质量指标,考虑相应措施,以使得软件 易于修改和易于维护
软件设计过程 ◼ 5.可靠性设计 ◼ 可靠性设计也叫做质量设计 ◼ 在运行过程中,为了适应环境的变化和用户 新的要求,需经常对软件进行改造和修正。 在软件开发的一开始就要确定软件可靠性和 其它质量指标,考虑相应措施,以使得软件 易于修改和易于维护
良好设计的特征(设计目标) ■设计必须实现所有包含在分析模型中的 明示需求,并且必须满足客户希望的所 有潜在需求 ■设计对于软件的编码、测试、维护人员 必须是可读的、可理解的 ■设计应该提供软件的完整面貌,包括从 实现角度所见的数据、功能、流程
良好设计的特征(设计目标) ◼ 设计必须实现所有包含在分析模型中的 明示需求,并且必须满足客户希望的所 有潜在需求 ◼ 设计对于软件的编码、测试、维护人员 必须是可读的、可理解的 ◼ 设计应该提供软件的完整面貌,包括从 实现角度所见的数据、功能、流程