哈尔滨工业大学软件工程课件_第1页
哈尔滨工业大学软件工程课件_第2页
哈尔滨工业大学软件工程课件_第3页
哈尔滨工业大学软件工程课件_第4页
哈尔滨工业大学软件工程课件_第5页
已阅读5页,还剩45页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 哈尔滨工业大学哈尔滨工业大学 韩静萍2021-12-18继承 是在一个已存有的类的基础上建立一个新的类。并将已存在的类称为-基类或父类;新建立的类称为派生类或子类。继承基 类派 生 类 哈尔滨工业大学哈尔滨工业大学 韩静萍2021-12-18对象继承了类所有属性- 从类到对象的继承costdimensionweightlocationcolor类: furniturecostdimensionweightlocationcolor对象: chair 对象、类、继承 哈尔滨工业大学哈尔滨工业大学 韩静萍2021-12-18 对象 继承类的所有属性和操作costdimensionweightlo

2、cationcolor类: furnitureBuySellWeightmovecostdimensionweightlocationcolor对象: chableBuySellWeightmovecostdimensionweightlocationcolor对象: chairBuySellWeightmove 哈尔滨工业大学哈尔滨工业大学 韩静萍2021-12-18- 面向对象类的表示模式 类名: 操作: :属性: : 哈尔滨工业大学哈尔滨工业大学 韩静萍2021-12-18识别对象1、标识潜在对象 找出通过分析过程中的所有名词或名词短语并合并同义词。除去有动作含义的名词,使它们将被描述为

3、对象的操作。 标识规则如下:(1)、外部实体(2)、事物(3)、位置(7)、聚焦对象(5)、事件(6)、角色(4)、组织机构 哈尔滨工业大学哈尔滨工业大学 韩静萍2021-12-18二、面向对象的分析方法(OOA) Object Oriented Analysis OOA 的核心思想是利用OO的概念和方法对软件需求建造模型,以使用户需求逐步精确化、一致化、完全化。 为此, OOA的方法步骤为:识别对象属性及外部服务识别类及其结构定义对象之间的消息传递 哈尔滨工业大学哈尔滨工业大学 韩静萍2021-12-18潜在对象理由用户传感器控制面板系统(SafeHome System)传感器编号密码电话号

4、码传感器事件警报器角色或外部实体外部实体外部实体聚焦对象概念实体概念实体概念实体事件外部实体例如: 哈尔滨工业大学哈尔滨工业大学 韩静萍2021-12-182、筛选对象 筛选对象规则如下:(1)、具有记忆自身状态的能力(2)、有意义的操作(3)、多个属性(5)、公共操作(6)、必须的需求(4)、公共属性潜在对象理由用户传感器控制面板系统 )传感器编号密码电话号码传感器事件警报器角色或外部实体外部实体外部实体聚焦对象概念实体概念实体概念实体事件外部实体 哈尔滨工业大学哈尔滨工业大学 韩静萍2021-12-18 第四章第四章 软件设计基础软件设计基础 哈尔滨工业大学哈尔滨工业大学 韩静萍2021-

5、12-184.1 软件设计过程软件设计过程编码编码测试测试设计设计信息描述功能描述行为描述其他需求总体结构设计数据设计过程设计 程序模块集成并确认的软件- 软件开发阶段的信息流 哈尔滨工业大学哈尔滨工业大学 韩静萍2021-12-184.2 软件设计的任务和步骤软件设计的任务和步骤 哈尔滨工业大学哈尔滨工业大学 韩静萍2021-12-184.3 软件设计的方法软件设计的方法 哈尔滨工业大学哈尔滨工业大学 韩静萍2021-12-18一、模块化设计与信息隐藏- “模块“又称”构件”一般指用一个名字调用的一段程序4.4 软件设计基础软件设计基础 模块(module) 模块化设计(modular de

6、sign) 按适当的原则把软件划分为一个个较小的、相关而又相对独立的模块。 逻辑 功能 状态 哈尔滨工业大学哈尔滨工业大学 韩静萍2021-12-181、分解(decomposition) E(P1+P2)E(P1)+E(P2)设: C(x) 为复杂程度函数 E(x) 为决定解决问题x x所需的工作量(时间)函数 C(P1)C(P2) E(P1)E(P2)C(P1+P2)C(P1)+C(P2) Magical Number Seven,Plus or Minus Two,Some Limits on Our Capacity for Processing Information The Psy

7、chological Review,1956 G.A. Miller奇妙的数字 7+2,人类信息处理能力的限度 哈尔滨工业大学哈尔滨工业大学 韩静萍2021-12-18C(P1+P2)C(P1)+C(P2)E(P1+P2)E(P1)+E(P2)软件工程基本定理最小成本区M模块成本接口成本总成本软件开发工作量 模块数 哈尔滨工业大学哈尔滨工业大学 韩静萍2021-12-18 每个模块的实现细节对于其他模块来说是隐藏的。 也就是说,模块中所包含的信息是不允许其他不需要 这些信息的模块使用的。 2、信息隐藏(information hiding)栈stack置空栈 makenull进栈 push退栈

8、 pop 哈尔滨工业大学哈尔滨工业大学 韩静萍2021-12-183、模块的独立性(module independence) 模块的独立性是指软件系统中每个模块只模块的独立性是指软件系统中每个模块只涉及软件要求的具体的子功能,而和软件系统涉及软件要求的具体的子功能,而和软件系统中其他模块的接口是简单的。中其他模块的接口是简单的。 哈尔滨工业大学哈尔滨工业大学 韩静萍2021-12-18(1)、内聚(Cohesion)低功能内聚信息内聚通信内聚过程内聚时间内聚逻辑内聚巧合性内聚 高强弱 内聚性模块独立性 哈尔滨工业大学哈尔滨工业大学 韩静萍2021-12-18 偶然性内聚偶然性内聚 M STOR

9、E RECN() TO N READ MASTRE FILE ADD 1 TO X 。 。 ABC 当模块内各部之间没有联系,或者即使有联系,这种联系也很松散。则称这种模块为巧合内聚模块。 哈尔滨工业大学哈尔滨工业大学 韩静萍2021-12-18 逻辑性内聚逻辑性内聚 这种模块是把几种功能组合在一起,每次调用时,则由传递给模块的判定参数来确定该模块应执行哪一种功能。 调用模块判定读一个记录写一个记录被调用模块 哈尔滨工业大学哈尔滨工业大学 韩静萍2021-12-18SXYZWABCDSXYZW ABCD 哈尔滨工业大学哈尔滨工业大学 韩静萍2021-12-18 信息性内聚信息性内聚 这种模块能

10、完成多个功能,各个功能都在同一数据结构上操作,每一项功能有一个唯一的入口点。 符符 号号 表表 查找登录删除修改 哈尔滨工业大学哈尔滨工业大学 韩静萍2021-12-18 功能性内聚功能性内聚 如果一个模块内所有成分都完成一个功能则称这样的模块为功能模块。 主控模块录入查询打印低功能内聚信息内聚通信内聚过程内聚时间内聚逻辑内聚巧合性内聚 高强弱 内聚性模块独立性 哈尔滨工业大学哈尔滨工业大学 韩静萍2021-12-18(2)、耦合 耦合性是程序结构中各个模块之间相互关联的度量它取决于各个模块之间接口的复杂程度、调用模块的方式以及那些信息通过接口。低非直接非直接耦合耦合数据数据耦合耦合标记标记耦

11、合耦合控制耦合外部耦合公共耦合内容耦合 高弱 强耦合性模块独立性 哈尔滨工业大学哈尔滨工业大学 韩静萍2021-12-18 公共耦合公共耦合 允许一组模块访问同一全局性的数据结构。全局全局数据区数据区ABCDEFB、C、E 为公共耦合 哈尔滨工业大学哈尔滨工业大学 韩静萍2021-12-18 控制耦合控制耦合 如果一个模块通过传送开关、标志、名字 等控制信息,明显地控制选择另一模块的功能 就是控制耦合。A 模块flagf1Bf2fn 哈尔滨工业大学哈尔滨工业大学 韩静萍2021-12-18 以上给出了 7种耦合类型,这只是从耦合 的机制上所做的分类,按耦合的强弱程度的排 列只是相对的关系。但它

12、给设计人员在设计程 序结构时提供了一决策准则。实际上,开始时 两个模块之间的耦合不只是一种类型,而是多 种类型的混合。这就要求设计人员按照实际情 况进行分析、比较和分析,逐步加以改进,以 提高模块的独立性。 哈尔滨工业大学哈尔滨工业大学 韩静萍2021-12-184.5 结构化设计方法结构化设计方法( (SD- Structured Design) ) 结构化设计方法是基于模块化、自顶向模块化、自顶向下细化、结构化程序设计下细化、结构化程序设计等程序设计技术基础发展起来的。 它所提供的方法和原则,主要是用来指导软件的概要设计。它还提供了一种 “结构图” 的描述工具,是专门用来描述软件的总体结构

13、的。 哈尔滨工业大学哈尔滨工业大学 韩静萍2021-12-18 结构化设计属于面向数据流 的设计方法。 在软件的需求分析阶段,数据流是软件开发人员考虑问题的出发点和基础。数据流从系统的输入端向输出端,则要经历一系列的变换或处理。用来表现这个过程的数据流(DFD),实际上就是软件系统的逻辑模型。 面向数据流的设计要解决的任务,就是在上述需求分析的基础上,将DFD图 映射(Mapping)- 软件系统的结构。 换句话说,这类设计方法,允许把用 DFD图表示的系统逻辑模型,很方便地转换成对于软件结构的初始设计描述。 结构化设计方法中,软件的结构一律用 图来描述。 哈尔滨工业大学哈尔滨工业大学 韩静萍

14、2021-12-18结构化设计的目的 使程序的结构尽可能反映要解决的问题的结构结构化设计的任务 完成目标系统的系统结构图() 哈尔滨工业大学哈尔滨工业大学 韩静萍2021-12-18目标系统的DFDSC 图 - Structured Chart 该图常用来表示系统的软件结构。利用它可以清楚地表达软件结构中模块间的层次调用关系和模块之间的联系。 SD目标系统的SC 哈尔滨工业大学哈尔滨工业大学 韩静萍2021-12-18ASC 图中的主要内容图中的主要内容1、模块-在SC图中用矩形框表示,并用名字来标记它- 模块调用关系2、模块的调用关系和接口B调用模块调用模块A(查询学生)B(查找学生记录)数

15、据信号控制信号学号查找成功信号- 模块间接口的表示 哈尔滨工业大学哈尔滨工业大学 韩静萍2021-12-18产生最佳解产生最佳解得到好的输入得到好的输入计算最佳解计算最佳解输出结果输出结果读输入读输入编辑输入编辑输入好输入好输入解解原始输入原始输入编辑结果结果格式化结果格式化显示结果显示结果解格式化的解SC 图的一般格式图的一般格式 哈尔滨工业大学哈尔滨工业大学 韩静萍2021-12-181、在系统结构图中的模块一、典型的系统一、典型的系统结构形式结构形式原子模块: 在系统结构图中通常是指不能再分割的底层模块 完全因子分解系统 如果一个软件系统,它的全部实际加工 (即数据计算或处理)都是由底层

16、的原子模块来 完成,而其它所有非原子模块仅仅执行控制或 协调功能。 哈尔滨工业大学哈尔滨工业大学 韩静萍2021-12-18传入模块AA传入模块 从下属模块取得数据,进行某些处理,再将其结果 传给上级模块。在此,将它传送的数据流称为逻辑输入 数据流。 在系统结构图中有四种类型的模块:逻辑输入数据流成绩录入成绩录入 哈尔滨工业大学哈尔滨工业大学 韩静萍2021-12-18传出模块 从上级模块获得数据,进行某些处理,再将其结果 传给下属模块。在此,将它传送的数据流称为逻辑输出 数据流。 传出模块DD逻辑输出数据流成绩输出成绩输出 哈尔滨工业大学哈尔滨工业大学 韩静萍2021-12-18变换模块 也

17、叫加工模块。它是从上级模块获得数据,进行 特定的处理,将其转换为其他形式,再传回上级模块 它所加工的数据流叫做变换数据流。 变换模块CB变换数据流 哈尔滨工业大学哈尔滨工业大学 韩静萍2021-12-18协调模块 对所有下属模块进行协调和管理的模块。在一个 好的系统结构图中,协调模块应在较高层出现。协调模块YXYX 哈尔滨工业大学哈尔滨工业大学 韩静萍2021-12-182、典型的系统结构形式之一(变换型系统结构图)取得数据iaeo变换数据给出数据传入部分变换中心传出部分- 具有变换型数据流图 哈尔滨工业大学哈尔滨工业大学 韩静萍2021-12-18主模块C变换成D取得C给出D取得BB变换成C

18、D变换成E给出E取得AA变换成BAABBBCCDCDED取得数据CD变换数据给出数据协调模块变换模块传出模块- 具有变换型系统结构图DFD-SC 哈尔滨工业大学哈尔滨工业大学 韩静萍2021-12-183、典型的系统结构形式之二(事务型系统结构图)“事务” 引起、触发或启动某一动作或一串动作的任何数据、控制信号、事件或状态的变化。 由它接受一项事务,根据事务处理的特点和性质 选择分配一个适当的处理单元,然后给出结果。 哈尔滨工业大学哈尔滨工业大学 韩静萍2021-12-18输入- 事务型 数据流图ABCDEFGH中心变换输出逻辑输入物理输入逻辑输出物理输出 哈尔滨工业大学哈尔滨工业大学 韩静萍2021-12-18ABCDEFGHMT3逻辑输入逻辑输出CDCD,E,F- 事务型 数据流图(DFD)- 事务型 系统结构图(SC) 哈尔滨工业大学哈尔滨工业大学 韩静萍2021-12-18事务中心输入已分析的作业内部表示的作业结果- 事务型

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论