第5章软件设计过程讲述.ppt

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

国防科技大学计算机学院 第五章 软件设计过程 软件设计是软件工程的重要阶段。 软件设计过程是对程序结构、数据结构和过程细节逐步求精、复审并编制文档的过程。 从分析到设计 5.1.1 设计过程 软件开发阶段由设计、编码和测试三个基本活动组成,其中“设计活动”是 获取高质量、低耗费、易维护软件最重要的一个环节。 需求分析阶段获得的需求规格说明书包括对欲实现系统的信息、功能和行为方面的描述, 这是软件设计的基础。对此采用任一种软件设计方法都将产生系统的总体结构设计(architectural design)、系统的数据设计(data design)和系统的过程设计(procedural design)。 设计过程 数据设计把信息描述转换为实现软件所要求的数据结构。 总体结构设计旨在确定程序各主要部件之间的关系。 过程设计要完成每一部件的过程化描述。 根据设计结果编制代码。然后交给测试人员测试 设计阶段做的决策直接影响软件质量,没有良好的设计就没有稳定的系统,也不会有易维护的软件。 统计表明:设计、编码和测试这三个活动一般占用整个软件开发费用(不包括维护阶段)的75%以上。 开发阶段的信息流 5.1.2 软件设计基本概念 软件设计基本概念是过去三十年里陆续提出的。 软件设计者根据这组概念进行设计决策 如:  划分子部件的标准;  从软件的概念表示中分离出功能和数据结构的细节;  以统一的标准衡量软件设计质量等等。 1 抽象与逐步求精 抽象是管理、控制复杂性的基本策略 。 “抽象”是心理学概念,它要求人们将注意力集中在某一层次上考虑问题,而忽略那些低层次的细节。使用抽象技术便于人们用“问题域”的概念和术语描述问题,而无须过早地转换为那些不熟悉的结构。 软件设计过程是在不同抽象级别上考虑、处理问题的过程。 (1)在最高抽象级别上,用面向问题域的语言叙述“问题”,概括“问题解”的形式。 (2)不断地具体化,不断地用面向过程的语言描述问题。 (3)在最低的抽象级别上给出可直接实现的“问题解”,即程序。 软件工程过程的每一步都是对较高一级抽象的解作一次较具体化的描述。 在系统定义阶段, 软件系统被描述为基于计算机的大系统的一个组成部分; 在软件规划和需求分析阶段,软件用问题域约定的习惯用语表达; 从概要设计过渡到详细设计时,抽象级再一次降低; 编码完成后,达到了抽象的最低级。 在由高级抽象到低级抽象的转换过程中,伴随着一连串的过程抽象和数据抽象。 过程抽象把完成一个特定功能的动作序列抽象为一个过程名和参数表,通过指定过程名和实际参数调用此过程; 数据抽象把一个数据对象的定义(或描述 )抽象为一个数据类型名,用此类型名可定义多个具有相同性质的数据对象。 不同抽象级别的软件形式 例5.1 考虑适用于低级CAD的图形软件包。 抽象1 该CAD软件系统配有能与作图员进行可视化通讯的图形界面。 能用鼠标替代作图板和直尺画各种直线和曲线。 能完成所有几何计算及所有截面视图和辅助视图的设计。 图形设计的结果存在图形文件中,图形文件可包含几何的、正文的和其他各种补充设计信息。 在这一抽象级别上,问题的解用问题域本身的术语描述。 抽象2  CAD   软件任务;   用户界面任务;   创建二维图形任务;   显示图形任务;   管理图形文件任务;  end CAD.   在这一抽象级别上,给出了组成CAD软件任务的所有子任务,术语与问题域有所不同,但仍然不是实现用的语言。 抽象3  例“创建二维图形任务” PROCEDURE 创建二维图形 REPEAT UNTIL 创建图形任务终止   DO WHILE 出现与数字仪的交互时     数字仪接口任务;     判断作图请求:     线:画线任务;     圆:画圆任务;    …   END;   DO WHILE 出现与键盘的交互时     键盘接口任务;     选择分析或计算:     辅助视图:辅助视图任务;     截面视图:截面视图任务;     …   END;  END REPETITION; END PROCEDURE.  在这一抽象级别上,给出了初步的过程性表示,此时所有术语都是面向软件(比如采用do while结构)并且模块结构也开始明朗。求精过程还可继续下去,直至产生源代码。   数据抽象与过程抽象一样,能使设计者按不同的详细程度表示数据对象。 例    为CAD软件定义drawing(图)的数据对象: TYPE  drawing IS STRUCTURE DEFINED     number   IS STRING LENGTH(12);     geometry

文档评论(0)

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

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

1亿VIP精品文档

相关文档