软件工程课件:5-第五讲(0).ppt

上传人(卖家):罗嗣辉 文档编号:2046084 上传时间:2022-01-21 格式:PPT 页数:53 大小:552.50KB
下载 相关 举报
软件工程课件:5-第五讲(0).ppt_第1页
第1页 / 共53页
软件工程课件:5-第五讲(0).ppt_第2页
第2页 / 共53页
软件工程课件:5-第五讲(0).ppt_第3页
第3页 / 共53页
软件工程课件:5-第五讲(0).ppt_第4页
第4页 / 共53页
软件工程课件:5-第五讲(0).ppt_第5页
第5页 / 共53页
点击查看更多>>
资源描述

1、毛新军毛新军 教授教授计算机科学与技术系计算机科学与技术系602教研室教研室 0731-(45)73649软件工程导论软件工程导论 之之Copyright Xinjun Mao软件设计基础软件设计基础21.软件设计任务和过程2.软件设计原则3.软件设计结果描述工具4.软件设计规格说明书及评审Copyright Xinjun Mao软件设计基础软件设计基础3n依据和基础 软件需求规格说明书SRS,描述了欲解决的问题(用户需求)。 What?n 任务 以SRS为基础设计出满足用户需求的软件(软件结构,),给出软件实现的解决方案,生成软件设计的规格说明书 How?Copyright Xinjun M

2、ao软件设计基础软件设计基础4n总体结构设计 设计和定义软件的整体实现框架,模块以及模块间关系 “黑盒子” 高层抽象、全局角度n 过程设计 模块内部细节 低抽象、局部角度n 数据设计 信息描述 数据结构 数据库,数据文件(配置文件),网络消息包Copyright Xinjun Mao软件设计基础软件设计基础5 设设计计 编编码码 信信息息描描述述 功功能能描描述述 行行为为描描述述 其其它它需需求求 数数据据设设计计 过过程程设设计计 总总体体结结构构设设计计 软软件件需需求求规规格格说说明明书书 软软件件设设计计规规格格说说明明书书 Copyright Xinjun Mao软件设计基础软件设

3、计基础6n什么是软件总体结构 确立了目标软件系统的整体实现框架:那些模块?每个模块的功能?他们间相互控制关系? 框架,各个模块是一个“黑盒子”n什么是模块 结构化:过程、函数n什么是模块间的关系 结构化:调用关系Copyright Xinjun Mao软件设计基础软件设计基础7 模模块块1 1 模模块块2 2 模模块块3 3 模模块块4 4 模模块块5 5 模模块块6 6 结构化结构化模块模块:过程、函数、关系关系:函数和过程调用Copyright Xinjun Mao软件设计基础软件设计基础8n把需求规格说明书中的各种信息描述转换为计算机可识别和处理的数据结构如表、数组n数据设计的内容: 数

4、据库设计(如库、表、字段、属性) 数据类型(如堆栈、队列等) 数据文件的设计(如配置文件) 通讯协议(如网络消息包)n总体结构设计和数据设计属于概要设计Copyright Xinjun Mao软件设计基础软件设计基础9n数据库n数据结构n通讯协议n数据文件n 模模块块1 1 模模块块2 2 模模块块3 3 模模块块4 4 模模块块5 5 模模块块6 6 数数据据库库 数数据据结结构构 数数据据文文件件 通通讯讯协协议议 概概要要设设计计 Copyright Xinjun Mao软件设计基础软件设计基础10n任务 描述每个模块内部的具体内容(算法、数据结构) 结构化:过程和函数内部算法n属于详细

5、设计Copyright Xinjun Mao软件设计基础软件设计基础11 内内部部算算法法和和数数据据结结构构 I In nt t n nL Le en n i if f ( (s st tr r 为为空空字字符符串串) ) t th he en n n nL Le en n = =0 0; ; e el ls se e 返返回回n nL Le en n; ; 模模块块1 1 模模块块2 2 模模块块3 3 模模块块4 4 模模块块5 5 模模块块6 6 数数据据库库 数数据据结结构构 数数据据文文件件 通通讯讯协协议议 概概要要设设计计 Copyright Xinjun Mao软件设计基础软

6、件设计基础121.软件设计任务和过程2.软件设计原则3.软件设计结果描述工具4.软件设计规格说明书及评审Copyright Xinjun Mao软件设计基础软件设计基础13n软件设计原则60年代后陆续提出,指导软件设计决策以开发高质量的软件系统 抽象 逐步求精 模块化 信息隐藏Copyright Xinjun Mao软件设计基础软件设计基础14n什么是抽象思想? 在认识事物、分析和解决问题的过程中,忽略那些与当前研究目标不相关的部分, 以便将注意力集中于与当前目标相关的方面n软件开发实际上就是一个从高层次抽象到低层次抽象逐步过渡的过程Copyright Xinjun Mao软件设计基础软件设计

7、基础15形体形体衣着衣着性格性格抽象抽象外表外表Copyright Xinjun Mao软件设计基础软件设计基础16n 什么是逐步求精思想? 对一个事物的认识是一个从高层次抽象向低层次抽象逐步转化和过渡的过程, 首先一般性、抽象的,然后才是具体和详细的Copyright Xinjun Mao软件设计基础软件设计基础17逐步求精逐步求精外表外表形体形体衣着衣着性格性格头发头发脸形脸形领带领带抽象抽象Copyright Xinjun Mao软件设计基础软件设计基础18n软件开发的抽象和逐步求精 软件的设计过程应当是在不同的抽象级别上, 逐步求精寻求问题基于计算机解的过程n计算机软件的二种不同类型的

8、抽象 过程抽象(计算) 数据抽象(表示)Copyright Xinjun Mao软件设计基础软件设计基础19n什么是过程抽象 把完成一个特定功能的动作序列抽象为一个函数名和参数表(模块) 例子: 计算字符串的长度, 比较字符串n int Comare (CString, CString)n int GetLength(Cstring ) Copyright Xinjun Mao软件设计基础软件设计基础20n什么是数据抽象 把诸多数据对象的定义(描述)抽象为一个数据类型名,以后可通过该数据类型名来定义多个具有相同性质的数据对象 例子n1, 2, 3 Integern软件工程书,人工智能书 书 类

9、Copyright Xinjun Mao软件设计基础软件设计基础21n抽象1.用问题域本身的语言来描述问题及其解 CAD图形软件包可画各种直线和曲线,能完成所有几何图形的计算。图形设计的结果存于图形文件中,图形文件可是几何的、正文的和其他各种设计信息Copyright Xinjun Mao软件设计基础软件设计基础22n抽象2.总体结构层次上的抽象 图形软件包软件任务 图形用户界面 创建二维图形任务 显示图形任务 管理图形文件任务 End 图形软件包Copyright Xinjun Mao软件设计基础软件设计基础23n抽象. 过程层次抽象(以管理图形文件任务为例)Procedure 管理图形文件

10、任务If OpenFile Then询问打开的文件名打开文件显示文件内容Else if SaveFile Then询问存储文件名存储文件End if End ProcedureCopyright Xinjun Mao软件设计基础软件设计基础24n 什么是模块化思想? 把软件划分为一组具有相对独立功能的部件,每个部件称为一个模块,当把所有的模块组装一起时,便可获得满足用户需求的软件系统 模块化体现了“分而治之”的问题分析和解决方法 模模块块1 1 模模块块2 2 模模块块3 3 模模块块 4 4 模模块块5 5 模模块块6 6 Copyright Xinjun Mao软件设计基础软件设计基础25

11、 模模块块总总数数 最最小小成成本本区区 软软件件总总耗耗费费 用用于于接接口口的的开开销销 成成本本/每每个个模模块块 成成本本或或工工作作量量 n如何设计模块使得软件开发成本最小? 软件设计准则: 信息隐藏、高内聚度、低耦合度Copyright Xinjun Mao软件设计基础软件设计基础26n什么是内聚度 指该模块内各成分间彼此结合的紧密程度n内聚度分类 偶然性内聚: 模块内各成分为完成一组功能而结合在一起,关系松散 逻辑性内聚: 模块完成的诸任务逻辑上相关 时间性内聚: 模块内诸任务必须在同一时间段内执行 过程性内聚: 模块内各成分相关且必须按特定次序执行 通讯性内聚: 模块内各成分对

12、数据结构的同一区域操作 顺序性内聚: 模块内各成分与同一功能相关且顺序执行 功能性内聚: 模块内各成分是一整体,完成单个功能Copyright Xinjun Mao软件设计基础软件设计基础27n什么是耦合度 模块间的相关程度,越低越好n耦合度分类 非直接耦合: 二个模块都不依赖对方而独立存在 数据耦合: 二个模块通过参数交换信息且仅限于数据 控制耦合: 二个模块通过参数交换信息包含控制信息 特征耦合: 介于数据耦合和控制耦合之间 外部耦合: 二个模块与同一外部环境相关联(文件等) 公共耦合: 模块间通过全局数据环境相互作用 内容耦合: 一个模块使用另一模块内的数据和控制信息,或者直接转移到另一

13、模块内执行Copyright Xinjun Mao软件设计基础软件设计基础28n什么是信息隐藏 模块应该设计得使其所含的信息(过程和数据)对那些不需要这些信息的模块不可访问,模块之间仅仅交换那些为完成系统功能所必需交换的信息n例子 int nGetLen(char string) int i, iLen; . Copyright Xinjun Mao软件设计基础软件设计基础29n优点 模块的独立性更好 支持模块的并行开发(设计和编码) 便于测试和维护,减少错误向外传播 便于增加新的功能Copyright Xinjun Mao软件设计基础软件设计基础301.软件设计任务和过程2.软件设计原则3.

14、软件设计结果描述工具4.软件设计规格说明书及评审Copyright Xinjun Mao软件设计基础软件设计基础31n软件总体设计的任务n耦合度和内聚度是判断总体设计好坏主要标准n结构化软件总体结构的表示工具 层次图 HIPO图 结构图n面向对象软件总体结构的表示工具 类图Copyright Xinjun Mao软件设计基础软件设计基础32Copyright Xinjun Mao软件设计基础软件设计基础33 书名书名 I 根据书名查根据书名查询书的详细询书的详细信息信息 P 书的详细书的详细信息信息 O 根据书名查询书的详细信息根据书名查询书的详细信息 nHIPO图 = 层次图 + 输入/处理

15、/输出n采用IPO图方式说明层次图中各模块的处理功能Copyright Xinjun Mao软件设计基础软件设计基础34n结构图 层次图 调用信息Copyright Xinjun Mao软件设计基础软件设计基础35n为SRS中定义的数据对象进行组织和设计 数据的组织 外部数据库的设计 相关文件的安排 数据类型的设计Copyright Xinjun Mao软件设计基础软件设计基础36n一个配置文件的设计(acd.ini)SystemSocketPortNo = 800; /the port no of the listening socketDSN = data; /the data sourc

16、e nameLogFileName = system.log; /the system log file nameCopyright Xinjun Mao软件设计基础软件设计基础37n数据库中读者信息表的设计(TReader)1. Id char10 key unique not null2. name char10 not null 3. type int not null4. department int not null5. birthdate dateCopyright Xinjun Mao软件设计基础软件设计基础38n过程设计的任务n涉及二个方面的问题: 如何进行过程设计技术和原则

17、如何描述过程设计的内容-表示方法或者描述语言Copyright Xinjun Mao软件设计基础软件设计基础39n结构化过程设计主要思想 自顶向下、逐步求精的设计方法和单入口单出口的控制结构 结构化设计的基本控制结构: 顺序,分枝,循环 用三种基本结构可构造任何单入口单出口程序n优点 确保软件具有良好的结构Copyright Xinjun Mao软件设计基础软件设计基础40 a b x 1 x 2 d c e X 3 0 tr u e tr u e tr u e f a ls e f a ls e f a ls e n流程图Copyright Xinjun Mao软件设计基础软件设计基础41

18、循循环环条条件件 do-while 部部分分 Repeat 部部分分 循循环环条条件件 任任务务 任任务务 任任务务 顺顺序序 F 条条件件 T Else then 部部分分 部部分分 选选择择 循循环环 Copyright Xinjun Mao软件设计基础软件设计基础42 a b F X1 T F X2 T e d c X3 Copyright Xinjun Mao软件设计基础软件设计基础43Copyright Xinjun Mao软件设计基础软件设计基础44n以正文形式表示软件设计信息的表示工具 关键字语法:定义模块内部控制结构和数据结构 自然语言的形式:灵活自由表示模块内工作流程 数据结

19、构的说明手段:说明简单和复杂的数据结构 模块的定义和调用描述:接口描述n优点 可作为注释插入到源程序中, 简便,易于自动处理Copyright Xinjun Mao软件设计基础软件设计基础45Integer nGetLen(char s1)int nLen;if s1为空 then nLen = 0end if返回nLen;Copyright Xinjun Mao软件设计基础软件设计基础46n表示工具的好坏主要看:表示能力强弱、简便、易于理解等 模块化:支持模块化的软件开发并提供接口描述机制 整体简洁:易学、易用、易于理解 便于编辑, 机器可读性 可维护性 强制结构化:有助于得到好的软件设计

20、自动产生报告 数据结构的表示Copyright Xinjun Mao软件设计基础软件设计基础471.软件设计任务和过程2.软件设计原则3.软件设计结果描述工具4.软件设计规格说明书及评审Copyright Xinjun Mao软件设计基础软件设计基础48n软件设计规格说明书的主要内容1. 软件总体结构描述2. 模块描述 处理过程描述, 接口描述, 数据描述3. 数据设计描述 全局数据, 全局数据库 , 外部文件结构和组织Copyright Xinjun Mao软件设计基础软件设计基础49n评审目的 尽早发现软件设计中的缺陷和错误,以确保软件设计的质量 判断软件设计规格说明书是否规范n评审内容

21、总体结构 数据结构 接口 模块内部过程细节 文档结构Copyright Xinjun Mao软件设计基础软件设计基础50n软件设计是否满足用户需求n软件设计结构的形态是否合理n层次是否清晰n模块划分是否合理,是否遵循模块化设计原则n规范化和标准化Copyright Xinjun Mao软件设计基础软件设计基础511. 软件设计任务、过程和原则2. 软件设计的描述工具 软件总体设计 数据设计 过程设计3. 设计规格说明书及评审Copyright Xinjun Mao软件设计基础软件设计基础52n你认为一个好的软件应具备那些特征?从软件开发角度, 如何得到具有这些特征的软件系统?n软件设计的好坏直接影响软件的质量,如何理解这句话?Copyright Xinjun Mao软件设计基础软件设计基础53Practice, Practice, and Practice

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 大学
版权提示 | 免责声明

1,本文(软件工程课件:5-第五讲(0).ppt)为本站会员(罗嗣辉)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!


侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|