第5章软件设计.ppt

  1. 1、本文档共155页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第5章软件设计概要

软件工程 第五章 软件设计 5.1 软件设计的概念 5.2 模块独立性 5.3 结构化设计方法 5.4 软件体系结构 5.5 数据设计和文件设计 5.6 过程设计 5.7 用户界面设计 5.1 软件设计的概念 软件设计的基本目标是用比较抽象概括的方式确定目标系统如何完成预定的任务。即软件设计是确定系统的物理模型。 从技术观点来看,软件设计包括 软件结构设计 数据设计 接口设计 过程设计 从工程管理角度来看,软件设计分两步完成:概要设计和详细设计。 概要设计将软件需求 转化为软件体系结构 确定系统级接口 全局数据结构或数据库模式 详细设计确立 每个模块的实现算法 局部数据结构 用适当方法表示算法和数据结构的细节 软件概要设计过程 1. 制定规范 在进入软件开发阶段之初,首先应为软件开发组制定在设计时应共同遵守的标准,以便协调组内各成员的工作。包括: 阅读和理解软件需求说明,确认用户要求能否实现,明确实现的条件,从而确定设计的目标,以及它们的优先顺序。 根据目标确定最合适的设计方法。 规定设计文档的编制标准。 规定编码的信息形式,与硬件,操作系统的接口规约,命名规则。 2. 软件系统结构的总体设计 采用层次结构建立系统: 可以复用经标识的设计模式; 可以由表现良好设计特征的构件搭建; 可以用演化的方式实现。 采用模块化方法,自顶向下划分层次结构: 确定模块功能; 确定模块间的调用关系和接口; 评估模块划分的质量。 3. 处理方式设计 确定为实现系统的功能需求所必需的算法,评估算法的性能 确定为满足系统的性能需求所必需的算法和模块间的控制方式 周转时间 响应时间 吞吐量 精度 确定外部信号的接收发送形式 4. 数据结构设计 确定软件涉及的文件系统的结构以及数据库的模式、子模式,进行数据完整性和安全性的设计; 确定输入,输出文件的详细的数据结构; 结合算法设计,确定算法所必需的逻辑数据结构及其操作; 确定对逻辑数据结构所必需的那些操作的程序模块(软件包); 限制和确定各个数据设计决策的影响范围; 若需要与操作系统或调度程序接口所必须的控制表等数据时,确定其详细的数据结构和使用规则。 5. 质量设计 在软件开发初期就要确定各种质量指标,考虑相应措施,使得软件易于修改和易于维护: 可靠性 可使用性 可移植性 可维护性 6. 编写概要设计阶段的文档 概要设计阶段完成时应编写以下文档: 概要设计说明书 数据库设计说明书 用户手册 集成测试计划 7.概要设计评审 可追溯性:确认该设计是否复盖了所有已确定的软件需求,软件每一成份是否可追溯到某一项需求; 接口:确认该软件的内部接口与外部接口是否已经明确定义。模块是否满足高内聚和低耦合的要求。模块作用范围是否在其控制范围之内; 风险:确认该设计在现有技术条件下和预算范围内是否能按时实现; 实用性:确认该设计对于需求的解决方案是否实用; 可维护性:确认该设计是否考虑了方便未来的维护; 质量:确认该设计是否表现出良好的质量特征; 各种选择方案:看是否考虑过其他方案,比较各种选择方案的标准是什么; 限制:评估对该软件的限制是否现实,是否与需求一致; 其他具体问题:对于文档、可测试性、设计过程..等进行评估; 在详细设计过程中,需要完成的工作是: 确定软件各个组成部分内的算法以及各部分的内部数据组织。 选定某种过程的表达形式来描述各种算法。 进行详细设计的评审 衡量设计的原则 设计必须实现分析模型中描述的所有显式需求,必须满足用户希望的所有隐式需求。 设计出来的结构应是分层结构。 设计应当模块化,包含数据抽象和过程抽象。 设计必须是可读的、可理解的,使得将来易于编程、易于测试、易于维护。 设计应从实现角度出发,给出包含数据、体系结构、接口、行为等软件的全貌。 设计应建立降低模块与外部环境之间复杂连接的接口。 设计不必每次都从头做起,可以复用已有的设计模式和数据模式。 设计应具有一致性和集成性。整个系统应具有统一的风格和格式,具有良好的接口。 设计应适应变更。可采用信息隐蔽、局部化、表格驱动等方法,使设计具有适应变更能力。 设计应具有容错性和异常处理能力。对于异常的数据、事件、操作条件等能够平滑处理。 软件设计原理 抽象化 模块设计可有不同抽象层次 过程抽象 数据抽象 自顶向下,逐步细化 将软件体系结构自顶向下,对过程细节和数据细节逐层细化,直到用编程语言的语句能够实现为止。 (1) 过程的抽象 在软件工程中,从系统定义到实现,每进展一步都可以看做是对软件解决方法的抽象化过程的一次细化。 在软件需求分析阶段,用“问题所处环境的为大家所熟悉的术语”来描述软件的解决方法。 在从概要设计到详细设计的过程中,抽象化的层次逐次降低

文档评论(0)

dajuhyy + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档