软件工程(第2版)-齐治昌-课件SE.T08.pptVIP

软件工程(第2版)-齐治昌-课件SE.T08.ppt

  1. 1、本文档共81页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
国防科技大学计算机学院 软件工程 Software Engineering 国防科技大学计算机学院 2004.07 第八章 软件设计基础 软件设计是软件工程的重要阶段。 软件设计过程是对程序结构、数据结构和过程细节逐步求精、复审并编制文档的过程。 经过软件工程师们多年的努力形成了一些软件设计技术、质量评估标准和设计表示法并用于软件工程实践。 本章讨论与软件设计有关的主要概念, 介绍几个具体的软件设计方法。 8.1软件设计过程 软件开发阶段由设计、编码和测试三个基本活动组成,其中“设计活动”是 获取高质量、低耗费、易维护软件最重要的一个环节。 需求分析阶段获得的需求规格说明书包括对欲实现系统的信息、功能和行为方面的描述, 这是软件设计的基础。对此采用任一种软件设计方法都将产生系统的总体结构设计(archite ctural design)、系统的数据设计(data design)和系统的过程设计(procedural design)( 图8.1)。 软件设计过程 不同的软件设计方法会产生不同的设计形式。 数据设计把信息描述转换为实现软件所要求的数据结构。 总体结构设计旨在确定程序各主要部件之间的关系。 过程设计要完成每一部件的过程化描述。 根据设计结果编制代码。 设计阶段做的决策直接影响软件质量,没有良好的设计就没有稳定的系统,也不会有易维护的软件。 统计表明:设计、编码和测试这三个活动一般占用整个软件开发费用(不包括维护阶段)的75%以上。 图8.1 开发阶段的信息流 软件设计过程 软件设计也可看作将需求规格说明逐步转换为软件源代码的过程。 从工程管理的角度看,软件设计可分为概要设计和详细设计两大步骤。 概要设计是根据需求确定软件和数据的总体框架 详细设计是将其进一步精化成软件的算法表示和数据结构。 概要设计和详细设计由若干活动组成,除总体结构设计、数据结构设计和过程设计外,许多现代应用软件,还包括一个独立的界面设计活动。 8.2软件设计基本概念 软件设计基本概念是过去三十年里陆续提出的。 软件设计者根据这组概念进行设计决策, 如:  划分子部件的标准;  从软件的概念表示中分离出功能和数据结构的细节;  以统一的标准衡量软件设计质量等等。 8.2.1抽象与逐步求精 抽象是管理、控制复杂性的基本策略 。 “抽象”是心理学概念,它要求人们将注意力集中在某一层次上考虑问题,而忽略那些低层次的细节。 使用抽象技术便于人们用“问题域”的概念和术语描述问题,而无须过早地转换为那些不熟悉的结构。 软件设计过程是,在不同抽象级别上考虑、处理问题的过程。 (1)在最高抽象级别上,用面向问题域的语言叙述“问题”,概括“问题解”的形式。 (2)不断地具体化,不断地用面向过程的语言描述问题。 (3)在最低的抽象级别上给出可直接实现的“问题解”,即程序。 抽象与逐步求精 软件工程过程的每一步都是对较高一级抽象的解作一次较具体化的描述。 在系统定义阶段, 软件系统被描述为基于计算机的大系统的一个组成部分; 在软件规划和需求分析阶段,软件用问题域约定的习惯用语表达; 从概要设计过渡到详细设计时,抽象级再一次降低; 编码完成后,达到了抽象的最低级。 抽象与逐步求精 在由高级抽象到低级抽象的转换过程中,伴随着一连串的过程抽象和数据抽象。 过程抽象把完成一个特定功能的动作序列抽象为一个过程名和参数表,通过指定过程名和实际参数调用此过程; 数据抽象把一个数据对象的定义(或描述 )抽象为一个数据类型名,用此类型名可定义多个具有相同性质的数据对象。 例8.1 不同抽象级别的软件形式 例8.1 考虑适用于低级CAD的图形软件包。 抽象1 该CAD软件系统配有能与作图员进行可视化通讯的图形界面。 能用鼠标替代作图板和直尺画各种直线和曲线。 能完成所有几何计算及所有截面视图和辅助视图的设计。 图形设计的结果存在图形文件中,图形文件可包含几何的、正文的和其他各种补充设计信息。 在这一抽象级别上,问题的解用问题域本身的术语描述。 不同抽象级别软件的形式 抽象2  CAD   软件任务;   用户界面任务;   创建二维图形任务;   显示图形任务;   管理图形文件任务;  end CAD.   在这一抽象级别上,给出了组成CAD软件任务的所有子任务,术语与问题域有所不同,但仍然不是实现用的语言。 不同抽象级别软件的形式 抽象3  例“创建二维图形任务” PROCEDURE 创建二维图形 REPEAT UNTIL 创建图形任务终止   DO WHILE 出现与数字仪的交互时     数字仪接口任务;     判断作图请求:     线:画线任务;     圆:画

您可能关注的文档

文档评论(0)

1243595614 + 关注
实名认证
文档贡献者

文档有任何问题,请私信留言,会第一时间解决。

版权声明书
用户编号:7043023136000000

1亿VIP精品文档

相关文档