《软件工程》-面向过程的软件设计方法.docx

《软件工程》-面向过程的软件设计方法.docx

  1. 1、本文档共20页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
? ? 《软件工程》-面向过程的软件设计方法 ? ? 【前言】 软件设计的目标和任务 软件设计基础 模块独立性 结构化设计方法 数据设计和文件设计、过程设计 【内容】 1.软件设计的目标和任务 根据用信息域表示的软件需求,以及功能和性能需求,进行 数据设计:数据结构定义 系统结构设计:软件的系统各主要成分之间的关系 过程设计:结构成分转换为软件过程性描述。 2.软件设计任务分类 (1)从工程管理的角度来看,软件设计分两步完成: 概要设计:总体设计,将软件的需求转换为数据结构和软件的系统结构 详细设计:过程设计,过程细化,得到软件的详细的数据结构和算法。 (2)从管理观点的角度来看,软件设计分两步完成:概要设计、详细设计 (3)从技术观点的角度来看,软件设计分三步完成:数据设计、系统结构设计、过程设计 3.软件设计过程 制定规范 软件系统结构的总体设计 处理方式设计 数据结构设计 可靠性设计 编写概要设计阶段的文档 概要设计评审 4.软件设计基础 (1)自顶向下,逐步细化 将软件的体系结构按自顶向下方式,对各个层次的过程细节和数据细节逐层细化。 (2)软件结构 软件结构包括两部分:程序的模块结构和数据的结构 (3)程序结构 (4)结构图(S-C图) 结构图反映程序中模块之间的层次调用关系和联系。 a.模块 b.模块的调用关系和接口 c.模块之间的信息传递 d.表示模块A有条件地调用另一个模块B。 菱形:A有条件调用B,弧形:A循环调用C和D。 (5)模块化 能够把一个大而复杂的软件系统划分成易于理解的比较单纯的模块结构。 (6)抽象化 a.模块抽象 软件系统进行模块设计时,可有不同的抽象层次。 抽象层次1:用问题所处环境的术语来描述这个软件; 抽象层次2:任务需求的描述; 抽象层次3:程序过程的表示。以2-D(二维)绘图生成任务为例。 b.数据抽象 在不同层次上描述数据对象的细节,定义与该数据对象相关的操作。 (7)信息隐蔽 是指划分模块或定义层次时,若模块内的数据发生变化,要尽量不影响到其他模块或是少影响。 5.模块独立性 划分模块的独立性 是指软件系统中每个模块只涉及软件要求的具体的子功能。 模块一般具有如下三个基本属性: 功能:描述该模块实现什么功能 逻辑:描述模块内部怎么做 状态:该模块使用时的环境和条件 模块独立性一般采用两个准则度量模块独立性。 即模块间耦合和模块内聚. (1)模块间耦合 a.非直接耦合(Nondirect Coupling) 如果两个模块之间没有直接关系,这就是非直接耦合。 b.数据耦合(Data Coupling) 如果一个模块访问另一个模块时,彼此之间是通过简单数据参数(不是控制参数、公共数据结构或外部变量)来交换输入、输出信息的,则称这种耦合为数据耦合。 c.标记耦合(Stamp Coupling) 如果一组模块通过参数表传递记录信息,就是标记耦合。 d.控制耦合(Control Coupling) 如果一个模块通过传送开关、标志、名字等控制信息,明显地控制选择另一模块的功能,就是控制耦合。 e.外部耦合(External Coupling) 一组模块都访问同一全局简单变量而不是同一全局数据结构,而且不是通过参数表传递该全局变量的信息,则称之为外部耦合。 f.公共耦合(Common Coupling) 若一组模块都访问同一个公共数据环境,则它们之间的耦合就称为公共耦合。 其中公共耦合有两种情况:松散公共耦合和紧密公共耦合。 g.内容耦合(Content Coupling) (2)模块内聚 a.功能内聚(Functional Cohesion) 一个模块中各个部分都是完成某一具体功能必不可少的组成部分,是不可分割的。 b.信息内聚(Informational Cohesion) 这种模块完成多个功能,各个功能都在同一数据结构上操作,每一项功能有一个唯一的入口点。 c.通信内聚(Communication Cohesion) 如果一个模块内各功能部分都使用了相同的输入数据,或产生了相同的输出数据,则称之为通信内聚模块。 d.过程内聚(Procedural Cohesion) 使用流程图作为工具设计程序时,把流程图的某一部分划出组成模块,就得到过程内聚模块。 e.时间内聚(Classical Cohesion) 时间内聚模块的各个功能的执行与时间有关,通常要求所有功能必须在同一时间段内执行。 f.逻辑内聚(Logical Cohesion) 这种模块把几种相关的功能组合在一起。 g.巧合内聚(Coincidental Cohesion) 巧合内聚模块内各部分之间没有联系,或者即使有联系,这种联系也很松散。 6.结构化设计方法 首先研究、分析和审查数据流图。 然后根据数据流图

文档评论(0)

科技之佳文库 + 关注
官方认证
内容提供者

科技赋能未来,创新改变生活!

版权声明书
用户编号:8131073104000017
认证主体重庆有云时代科技有限公司
IP属地浙江
统一社会信用代码/组织机构代码
9150010832176858X3

1亿VIP精品文档

相关文档