第3章软件工程概要设计和详细设计.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第 三 章 一、软件设计阶段的任务与目标 3.2 软件体系结构设计 模块化降低软件复杂度的简单证明 模块独立性(module independence) 1. 耦合性(Coupling) 模块分解的一个目标是使块间联系尽可能小,达到这个目标可通过以下措施。 ⑴ 每个模块应采用过程语句(或函数)等间接调用等方式调用其它模块。 ⑵ 模块间传送的参数为数据型。 ⑶ 模块间公用的信息(如参数等)尽量少。 耦合性的几种类型 (2)公共耦合(Common Coupling)   若干模块通过全局的数据环境相互作用, 全局数据环境中可能含有全局变量、公用区、内存公共复盖区、任何存储介质上的文件、物理设备等。  (3)控制耦合(Control Coupling)   传递的信息含有控制信息。控制耦合通常会增加系统的复杂性,适当分解模块可望消除控制耦合。 (4)复合耦合(Stamp Coupling)-标记耦合   两模块间传递的参数是复合的数据结构 (5)数据耦合(Data Coupling)   两模块通过参数交换信息,信息仅限于数据。 2. 内聚性(cohesion) 3. 信息隐蔽 3.4 结构化设计方法 实例:银行贷款文件管理 (MFUP) 实例:银行贷款文件管理 (MFUP) 需求分析结果 — DFD 图 将DFD图转换为模块结构图 3.6 面向对象的设计方法 作业 1、2、4、7、9、10 结构化流程图(N-S图) a b 条 件 1 T F Case Xi, i=2,3,4 X2 X3 X4 当条件3成立 条 件 2 直到条件4成立 直 到 条 件 成立 c d e f g h i j 顺序结构 选择结构 多分支选择结构 先判定型循环结构 后判定型循环结构 F T T F PAD图—问题分析图(problem Analysis Diagram) 是一种结构化图,其基本控制结构如下: 条件 then部分 else部分 选择结构 T F 任务1 任务2 任务3 顺序结构 WHILE型条件 循环体 先判定型循环结构 UNTIL型条件 循环体 后判定型循环结构 控 制 变 量 任务1 任务2 任务n 多分支选择结构 值 1 值 2 值 n PAD图 例1:对数组X进行排序。 “自顶而下,逐步求精” J:=h k:=h+1,n J:=k H:=1,n-1 排好第h个X [h] W:=X[h] X[h]:=X[J] X[J]:=w 1、循环一次,排好一个X[h] 排好第H个X [h] 找 X[J]= MAX(X[h]…X[n]) 交换 X[J] 和 X[h] 2、细化 X[k] X[J] (a) (b) (b) (a) 3、连接各图,构成完整的PAD图 H:=1,n-1 H:=1,n-1 H:=1,n-1 H:=1,n-1 H:=1,n-1 OOD(Object-Oriented Design)是面向对象方法在软件设计阶段应用与扩展的结果。是将OOA所创建的分析模型转换为设计模型,解决如何做的问题。 分析模型与设计模型的描述方式具有一致性,只是从不同角度来描述系统。 分为静态模型和动态模型两类。 OrderLine Quantity:Integer isSatisfied 1 * 1 * 1 * Customer name address CreditRating() Order dataReceived isPrepaid number:String dispatch() close() Personal Customer creditCard Corporate Customer contactName creditRating creditLimit remind() billForMonth() Employee Product 0..1 +LineItem 类 图 :Meeting Administrtiona :Meeting :Meeting Administrtiona DefineMeeting(meeting) [IsMeetingExisted=.T.]3:Fail(MeetingExisted) 2:{new(meeting)} 顺序图 电梯的状态表示 状态图 On first floor Go up (floor) Moving up do/moving to floor Go up (floor) Idle timer=0 do/increase timer arrived

文档评论(0)

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

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

1亿VIP精品文档

相关文档