软件工程课件第07章.ppt

上传人:s****8 文档编号:68964111 上传时间:2022-12-30 格式:PPT 页数:54 大小:438.50KB
返回 下载 相关 举报
软件工程课件第07章.ppt_第1页
第1页 / 共54页
软件工程课件第07章.ppt_第2页
第2页 / 共54页
点击查看更多>>
资源描述

《软件工程课件第07章.ppt》由会员分享,可在线阅读,更多相关《软件工程课件第07章.ppt(54页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、软件工程软件工程主编 曹哲 高诚 中国水利水电出版社BeiHuaZLL ZhangLingling 是后续开发步骤及软件维护工作的基础。是后续开发步骤及软件维护工作的基础。如果没有设计,只能建立一个不稳定的系统如果没有设计,只能建立一个不稳定的系统结构结构 软软 件件 设设 计:计:BeiHuaZLL ZhangLingling软软 件件 工工 程程第第第第 7 7 7 7 章章章章 软软软软 件件件件 设设设设 计计计计 基基基基 础础础础概概 念念基本概念基本概念基本概念基本概念设计设计设计设计过程过程过程过程设计设计设计设计工具工具工具工具说明说明说明说明与评审与评审与评审与评审BeiH

2、uaZLL ZhangLingling7.1.1 7.1.1 软件设计过程软件设计过程TextText技技术术角角度度与与管管理理角角度度详细设计详细设计概要设计概要设计过程设计过程设计数据设计数据设计结构设计结构设计概要设计概要设计概要设计概要设计根据需求确定软件和数据的总体根据需求确定软件和数据的总体框架框架详细设计详细设计详细设计详细设计将将“概设概设”结果进一步精化结果进一步精化成算法表示和数据结构成算法表示和数据结构结构设计结构设计结构设计结构设计确定程序各主要部件之间的关系确定程序各主要部件之间的关系数据设计数据设计数据设计数据设计把信息描述转换为实现软件所把信息描述转换为实现软件

3、所要求的数据结构要求的数据结构过程设计过程设计过程设计过程设计完成每一部件的过程化描述完成每一部件的过程化描述BeiHuaZLL ZhangLingling7.1.2 7.1.2 抽象与逐步求精抽象与逐步求精抽抽抽抽 象象象象抽出事务的本质特性而暂时不考虑它们抽出事务的本质特性而暂时不考虑它们的细节。的细节。是控制复杂性的基本策略是控制复杂性的基本策略。定义定义需求需求设计设计实现实现软件系统软件系统被描述为被描述为基于计算基于计算机的大系机的大系统的一个统的一个组成部分组成部分软件用问软件用问题域约定题域约定的习惯用的习惯用语表达语表达概要设计概要设计过渡到详过渡到详细设计时,细设计时,抽象

4、级再抽象级再一次降低一次降低编码完成编码完成后达到了后达到了抽象的最抽象的最低级低级过程抽象过程抽象过程抽象过程抽象把完成一个特定功能的动作序列抽象为把完成一个特定功能的动作序列抽象为一个过程名和参数表一个过程名和参数表数据抽象数据抽象数据抽象数据抽象把一个数据对象的定义(或描述)抽象把一个数据对象的定义(或描述)抽象为一个数据类型名为一个数据类型名BeiHuaZLL ZhangLingling抽象1:该CAD软件系统配有与绘图员进行可视化通信的图形界面,能用鼠标代替绘图工具画各种直线和曲线;能完成所有几何计算以及所有截面视图和辅助视图的设计。图形设计的结果保存在图形文件中,图形文件可以包含几

5、何的、正文的和其他各种补充设计信息。例例7.1 7.1 考虑适用于低级考虑适用于低级CADCAD的图形软件包的图形软件包CAD软软件任务件任务创建二创建二维图形维图形管理图管理图形文件形文件用户用户界面界面显示图形显示图形任务任务抽象抽象2:CAD软件任务;软件任务;用户界面子任务;用户界面子任务;创建二维图形子任务;创建二维图形子任务;显示图形子任务;显示图形子任务;管理图形文件子任务;管理图形文件子任务;end CAD.抽象抽象3(仅以(仅以“创建二维图形任务创建二维图形任务”为例)为例)PROCEDURE创建二维图形 REPEAT UNTIL END REPETITION;END PRO

6、CEDURE.;DO WHILE 数字仪接口任务;数字仪接口任务;判断作图请求;判断作图请求;线:画线任务;线:画线任务;圆:画圆任务;圆:画圆任务;END;DO WHILE 键盘接口任务;键盘接口任务;选择分析或计算;选择分析或计算;辅助视图:辅助视图任务;辅助视图:辅助视图任务;截面视图:截面视图任务;截面视图:截面视图任务;END;BeiHuaZLL ZhangLingling数据对象:TYPE drawing IS STRUCTURE DEFINED number IS STRING LENTH(12);geometry DEFINED notes IS STRING LENTH(25

7、6);bom DEFINED END drawing TYPE;数据抽象数据抽象 blueprint IS INSTANCE OF drawing;或或 schematic IS INSTANCE OF drawing;BeiHuaZLL ZhangLingling 逐步求精逐步求精逐步求精逐步求精逐步求精逐步求精为了能集中精力解决主要问题主要问题而尽量推迟对问题细节问题细节的考虑抽象求精BeiHuaZLL ZhangLingling7.1.3 7.1.3 模块化与信息隐藏模块化与信息隐藏模块模块理论理论依据依据理想的理想的属性属性大小大小I/O、功能,程序、数据、功能,程序、数据程序、程序段

8、、子程序程序、程序段、子程序程序、程序段、子程序程序、程序段、子程序一个功能、易理解、独立一个功能、易理解、独立一个功能、易理解、独立一个功能、易理解、独立例:库存管理系统的模块划分例:库存管理系统的模块划分例:库存管理系统的模块划分例:库存管理系统的模块划分事务接收模块事务接收模块事务接收模块事务接收模块更新库存清单更新库存清单更新库存清单更新库存清单订货处理订货处理订货处理订货处理生成报表生成报表生成报表生成报表例:人事管理系统例:人事管理系统例:人事管理系统例:人事管理系统输入职工档案职工档案管理系统生成职工档案报表系统最小成本最小成本区域区域MO软件总成本软件总成本用于接口的成本用于接

9、口的成本每个模块成本之和每个模块成本之和模块总数模块总数成本或成本或工作量工作量信息隐藏信息隐藏内聚度内聚度耦合度耦合度分分分分 治治治治 法法法法:C(P1+P2)C(P1)+C(P2)C(P1+P2)C(P1)+C(P2)E(P1+P2)E(P1)+E(P2E(P1+P2)E(P1)+E(P2BeiHuaZLL ZhangLingling信息隐藏信息隐藏模块内所含信息对那些不需要这些信息的模块模块内所含信息对那些不需要这些信息的模块不可不可访问访问,每个模块只完成,每个模块只完成一个一个相对相对独立独立的特定的特定功能功能。模块独立性模块独立性(Module independence)好设

10、计的关键:每个模块完成一个相对独立的子功能,一个相对独立的子功能,并且与其它模块间的接口简单模块间的接口简单。独立性的度量:独立性的度量:耦合耦合(Coupling)&(Coupling)&内聚内聚(Cohesion)(Cohesion)BeiHuaZLL ZhangLingling低级内聚度(低级内聚度(3个)个)一个模块内各成分为完成一组功能而组合在一个模块内各成分为完成一组功能而组合在一起,它们相互之间即使有关系,也很松散一起,它们相互之间即使有关系,也很松散。1逻辑逻辑一个模块完成的诸任务逻辑上相关一个模块完成的诸任务逻辑上相关 2偶然偶然如果一个模块包含的诸任务必须在同一时间段如果一

11、个模块包含的诸任务必须在同一时间段内执行。内执行。例如一个初始化模块3时间时间A:Read inputsfrom diskfrom tapefrom BeiHuaZLL ZhangLingling中级内聚度(中级内聚度(2个)个)模块内成分彼此相关,并且必须模块内成分彼此相关,并且必须按特定的次序执行按特定的次序执行4过程过程模块中各成分都将对数据结构的模块中各成分都将对数据结构的同一区域进行操作同一区域进行操作5通信通信模块模块A从文件从文件FILE读出数据读出数据1.由数据产生报表一由数据产生报表一2.由数据产生报表二由数据产生报表二循环体计算累积事务记录累积销售额累积订货量enter d

12、atacheck datamanipulate dataBeiHuaZLL ZhangLingling高级级内聚度(高级级内聚度(2个)个)模块内的各处理成分均与同一功能相关,模块内的各处理成分均与同一功能相关,且这些处理必须顺序执行且这些处理必须顺序执行6顺序顺序模块内所有成分形成一个整体,模块内所有成分形成一个整体,完成单个功能完成单个功能7功能功能1.输入系数输入系数2.求方程的根求方程的根3.打印方程的根打印方程的根求求一元二次方程一元二次方程根的模块根的模块BeiHuaZLL ZhangLingling七种七种“内聚内聚模块模块”的性能比的性能比较较形式形式评价评价可修可修改性改性可

13、读性可读性黑箱程度黑箱程度通用性通用性偶然偶然最坏最坏最坏最坏最坏最坏黑箱黑箱好好逻辑逻辑最坏最坏最坏最坏不好不好不完全黑不完全黑好好时间时间不好不好不好不好中中不完全黑不完全黑中中过程过程中中中中中中半透明半透明不好不好通信通信中中中中中中半透明半透明不好不好顺序顺序好好好好好好透明透明最坏最坏功能功能好好好好好好透明透明最坏最坏BeiHuaZLL ZhangLingling模块间的耦合模块间的耦合 耦合:耦合:表示一个软件结构内各个模块之间的互连程度,尽量选用松散耦合的系统1.非直接耦合:非直接耦合:两个模块中任一个,都不依赖于对方能独立工作两个模块中任一个,都不依赖于对方能独立工作1.1

14、.非直接耦合非直接耦合 -2.2.数据耦合数据耦合2.数据数据耦合耦合两个模块间通过参数交换信两个模块间通过参数交换信息,息,而信息仅限于数据而信息仅限于数据开发货单开发货单开发货单开发货单计算金额计算金额计算金额计算金额单价单价单价单价数量数量数量数量金额金额金额金额Great deal of dependenceIndependentHighly coupled Loosely coupledUncoupled BeiHuaZLL ZhangLingling3.3.特征特征耦合耦合计算水费和电费计算水费和电费计算水费计算水费计算电费计算电费住户详情住户详情水费水费住户详情住户详情电费电费计

15、算水量和电费计算水量和电费计算水费计算水费计算电费计算电费水费水费电费电费电费电费本月用水量本月用水量本月用电量本月用电量 住户详情数据结构中包括:住户详情数据结构中包括:“本月用水量本月用水量”、“本月用电量本月用电量”。“特征特征耦合耦合”图可改进图可改进“数据数据耦合耦合”图图如果两个模块都与同一个数据结构有关,则为特征耦合。BeiHuaZLL ZhangLingling4.当模块当模块A向模块向模块B所传递的信息控制了所传递的信息控制了B的内部的内部逻辑。逻辑。获得库存记录获得库存记录获得库存记录获得库存记录检索库存记录检索库存记录检索库存记录检索库存记录库存编号库存编号库存编号库存编

16、号库存量库存量库存量库存量打印打印打印打印“无此库存记录无此库存记录无此库存记录无此库存记录”错误信息错误信息错误信息错误信息4 4.控制控制耦合耦合-5.-5.外部耦合外部耦合5.若干模块均与同一个外部环境关联。若干模块均与同一个外部环境关联。如:I/O、格式、通信协议BeiHuaZLL ZhangLingling 6.6.公共公共耦合耦合-7.-7.内容内容耦合耦合(病态病态耦耦合合)6.如果两个模块都和同一个公共数据域有关如果两个模块都和同一个公共数据域有关ABC公用数据7.7.一个模块和另一个模块的内部属性有关一个模块和另一个模块的内部属性有关 (运行程序和内部数据运行程序和内部数据)

17、。如:一个模块使用另一个模块内部的数据或控制信息;一个模块直接转移到另一个模块。模块模块A中中TRC:模块模块B中中GO TO TRCBeiHuaZLL ZhangLingling设计模块时,应以数据设计模块时,应以数据设计模块时,应以数据设计模块时,应以数据耦合耦合为主,辅以特征为主,辅以特征为主,辅以特征为主,辅以特征耦合耦合与控制与控制与控制与控制耦合耦合,消除公共消除公共消除公共消除公共耦合耦合和内容和内容和内容和内容耦合耦合。七种七种“耦合模块耦合模块”的性能比的性能比较较耦合方式耦合方式对连锁反对连锁反应的影响应的影响可修改性可修改性可读性可读性通用性通用性非直接非直接弱弱好好好好

18、好好数据数据弱弱好好好好好好特征特征弱弱中中中中中中控制控制中中不好不好不好不好不好不好外部外部中中不好不好不好不好不好不好公共公共强强不好不好最坏最坏最坏最坏内容内容最强最强最坏最坏最坏最坏最坏最坏BeiHuaZLL ZhangLingling耦合、内聚与模块独立性的关系耦合、内聚与模块独立性的关系BeiHuaZLL ZhangLingling7.1.4 软件总体结构设计(software architecture)目标:模块化的程序结构、明确各模块之间的控制目标:模块化的程序结构、明确各模块之间的控制关系、说明程序的输入输出数据流、进一步协调程关系、说明程序的输入输出数据流、进一步协调程序

19、结构和数据结构。序结构和数据结构。软件软件结构组成结构组成系统中所有系统中所有过程性部件过程性部件(即模块即模块)构成的构成的层次结构层次结构(即程序结构即程序结构)对应于对应于程序结构的程序结构的输入输出输入输出数据结构数据结构BeiHuaZLL ZhangLingling结构设计原则BeiHuaZLL ZhangLingling结构设计原则2.模块规模适中:过大不易理解;太小则接口开销过大。注意分解后不应降低模块的独立性。1.提高模块独立性提高模块独立性2.争取低耦合、高内聚(增加内聚争取低耦合、高内聚(增加内聚 减少耦合)减少耦合)BeiHuaZLL ZhangLingling 深度=分

20、层的层数。过大表示分工过细。宽度=同一层上模块数的最大值。过大表示系统复杂度大。3.选择适当的深度、宽度、扇出和扇入选择适当的深度、宽度、扇出和扇入 BeiHuaZLL ZhangLingling 扇出=一个模块直接调用控制的模块数。3 fan-out 9AA的扇出的扇出AA的扇入的扇入 扇入扇入=直接调用该模块直接调用该模块的模块数的模块数在不破坏独立性的前提下,在不破坏独立性的前提下,fan-in 大大的比较好。的比较好。BeiHuaZLL ZhangLingling4、作用域在控制域内 控制域MACBM的控制域为的控制域为 M,A,B,C 作用域:作用域:M中的一个判定所影响的模块。中的

21、一个判定所影响的模块。例如:例如:A:if then goto B1 B:B1:作用域在控制域内作用域在控制域内A:if then goto M1 M:M1:goto C1 作用域超出了控制域作用域超出了控制域上例中上例中A的作用超出了控制域。改进方法之一,可以的作用超出了控制域。改进方法之一,可以把把A中的中的 if 移到移到M中;方法之二,可以把中;方法之二,可以把C移到移到A下面。下面。BeiHuaZLL ZhangLingling5、降低接口的复杂程度:接口复杂可能表明模块的独立性差。6、单出单入,避免内容耦合。7、模块功能可预测 相同输入必产生相同输出。反例:模块中使用全局变量或静态

22、变量,则可能导致不可预测。BeiHuaZLL ZhangLingling7.2 软件过程设计技术和工具 7.2.1 结构化程序设计 结构化结构化结构化结构化结构化结构化程序设计程序设计程序设计程序设计程序设计程序设计是程序设计技术,它采用自顶向下逐步求精是程序设计技术,它采用自顶向下逐步求精的设计方法和单入口单出口的控制构件。的设计方法和单入口单出口的控制构件。结结结结构构构构化化化化设设设设计计计计图图图图形形形形表表表表示示示示法法法法盒图盒图盒图盒图流程图流程图流程图流程图判定树判定树判定树判定树判定表判定表判定表判定表BeiHuaZLL ZhangLingling7.2.2 图形表示法

23、1流程图(也称为程序框图)是最常用的一种表示法,“顺序”、“分支”和“循环”三个基本控制构件用流程图表达的形式如图8-2-1所示。F第二个任务第二个任务顺序结构顺序结构then部分部分else部分部分dowhile循环循环第一个任务第一个任务T分支条件分支条件Ifthenelse结构结构循环条件循环条件循环体循环体TF图图8-2-1 流程图构件流程图构件 BeiHuaZLL ZhangLingling7.2.2 图形表示法2盒图也称为N-S图或Chapin图。这种表达方式取消了流程线,它强迫程序员以结构化方式思考和解决问题。第一个任务第一个任务第二个任务第二个任务第三个任务第三个任务顺序结构顺

24、序结构else部分部分then部分部分条件条件FTif-then-else结构结构do-while部分部分循环条件循环条件循环结构循环结构图图8-2-3 盒图的构件盒图的构件BeiHuaZLL ZhangLingling7.2.3 判定表与判定树判定表由四部分组成:左上部列出所有条件左下部列出所有可能的动作右上部所有可能的条件组合(矩阵)右下部条件组合与动作之间的对应关系用于:条件复杂,根据这些条件的组合选择动作用于:条件复杂,根据这些条件的组合选择动作判定表的每一列可解释为一条处理规则判定表的每一列可解释为一条处理规则BeiHuaZLL ZhangLingling7.2.3 判定表与判定树【

25、例7.2】问题处理描述:耗电记费系统可以采用固定价格收费、浮动价格收费和其他方式收费三种方式。若采用固定价格方式收费,对每月耗电100kWh以下的用户只征收最低标准费,超过100kWh的用户按价格表A收费;若采用浮动价格方式收费,则每月耗电100kWh以下的用户按价格A收费,超过100kWh的用户按价格B收费。BeiHuaZLL ZhangLingling表71 判定表规 则12345 固定价格方式 浮动价格方式 耗电100kW.h 耗电100kW.h TFTFTFFTFTTFFTFTFF 收取最低标准费 按价格表A收费 按价格表B收费 其他处理 条件条件动作动作BeiHuaZLL Zhang

26、Lingling【例7.2】判定树 耗电100kWh 收取最低标准费 固定方式 耗电100kWh 按价格表A收费 耗电100kWh 按价格表A收费耗电收费 浮动方式 耗电100kWh 按价格表B收费 其他方式 其他处理图8-2-5 用判定树表示计算耗电收费的算法 BeiHuaZLL ZhangLingling7.2.3 判定表与判定树判定树的优点:形式简单,直观明了,易于掌握。判定树的缺点:存在着数据冗余的问题,相同的数据元素往往要重复多次,而且越接近树的叶端重复的次数越多。判定树要求对条件进行层次划分,若条件所处层次不对,可能会导致增加判定树的复杂性。BeiHuaZLL ZhangLingl

27、ing7.2.4 过程设计语言(PDL)PDL(Procedure Design Language)也称为结构英语或伪码,是所有正文形式的过程设计工具的统称。PDL经常表现为一种“混杂”的形式,允许自然语言(如英语)的词汇与某种结构化程序设计语言(如Pascal、C、Ada等)的语法结构交织在一起BeiHuaZLL ZhangLingling7.2.4 过程设计语言(PDL)PDL应具有下述特点:1关键字采用固定语法并支持结构化构件、数据说明机制和模块化;2处理部分采用自然语言描述;3允许说明简单(标量、数组等)和复杂(链表、树等)的数据结构;4子程序的定义与调用规则不受具体接口方式的影响。B

28、eiHuaZLL ZhangLingling7.2.4 过程设计语言(PDL)考察一个PDL的原型,它可以建立在任意一个通用的结构化程序设计语言之上。基本成分包括:子程序定义、界面描述、数据说明、块结构、分支结构、循环结构和I/O结构。数据说明的形式为:TYPE IS 其中:局部变量或全局变量;某个特定关键字(例如,SCALAR,ARRAY,LIST,STRING,STRUTURE等);说明此处定义的变量在该过程或整个程序中应如何使用。BeiHuaZLL ZhangLingling7.2.4 过程设计语言(PDL)可进行抽象数据类型的定义,例如:TYPE table_1 IS INSTACE

29、OF symbol_table 而symbol_table在另一处已定义如下:TYPE symbol_table IS STRUCTURE DEFINEDBeiHuaZLL ZhangLingling7.2.4 过程设计语言(PDL)该PDL的块结构描述一个过程元素,即一个块内的所有语句将作为一个整体执行,形式为 BEGIN END该PDL的分支结构有if-then-else和case两种形式,分别为 IF THEN ELSE ENDIFBeiHuaZLL ZhangLingling7.2.4 过程设计语言(PDL)CASE OF WHEN SELECT WHEN SELECT WHEN SE

30、LECT DEFAULT:ENDCASEBeiHuaZLL ZhangLingling7.2.4 过程设计语言(PDL)循环结构包括三类,表达形式分别为:DO WHILE ENDWHILEREPEAT UNTIL ENDREPEATDOFOR =ENDFORBeiHuaZLL ZhangLingling7.2.4 过程设计语言(PDL)此PDL还提供了NEXT和EXIT两种语句:EXIT语句,退出本层循环;NEXT语句强迫本次循环结束,新一轮循环开始。在该PDL中,子程序说明为:PROCEDURE INTERFACE END 其中属性表指明该子程序的引用特性(比如,是INTERNAL还是EXT

31、ERNAL模式)和其他依赖于实现(即程序设计语言)的特性。BeiHuaZLL ZhangLingling7.2.4 过程设计语言(PDL)输入/输出说明部分常用的形式有 READ/WRITE TO 或 ASK ANSWER 后一种形式多用于人机交互部分的设计。BeiHuaZLL ZhangLingling7.3 设计规格说明与评审软件设计阶段的输出主要是设计规格说明书:第一节:描述与设计活动有关的各个方面,该节中许多信息取自系统规格说明书和系统定义阶段产生的其他文档。第二节:具体指明引用信息的出处。第三节:设计描述,是概要设计的产物,此时设计由信息驱动,即软件总体结构主要受数据流程、数据结构的

32、影响,需求分析时产生的DFD或其他某种形式的数据表示将在这一节中进一步精化,用于确定软件结构。当信息流程确定后,界面亦可作为整个软件的一部分进行描述。BeiHuaZLL ZhangLingling7.3 设计规格说明与评审第四、五两节是概要设计向详细设计过渡后形成的。第四节:模块指软件中可单独编址的部件,如函数和过程,最初用自然语言描述它们的功能,随后采用某种过程设计工具将这些自然语言描述转换为结构化描述。第五节:主要描述数据组织结构,包括辅存的文件结构、全局数据(例如FORTRAN公共区)的赋值以及这些文件与全局数据的交叉访问关系。BeiHuaZLL ZhangLingling7.3 设计规

33、格说明与评审第六节:是与需求规格说明书的交叉访问表,根据交叉访问表可断定设计是否满足所有需求,这对于完成某个具体需求的模块来说十分重要。第七节:是测试的初步计划。一旦软件结构和模块间界面确定下来之后,即可制定模块单元测试和联调的计划。某些场合,要求同时开发测试规格说明书与设计规格说明书,此时第七节可从设计规格说明书中删去。第八节:将逐条说明各种限制和造成的影响。第九、十两节:包括若干辅助数据,如从其他文档中节选的算法描述、候选的过程、表格化数据和其他相关信息,这些信息是对设计的一种特殊注释最后开发一基本操作规格说明或安装手册作为附录。BeiHuaZLL ZhangLingling设计规格说明书

34、示例.作用范围 A.系统目标 B.硬件、软件和人机界面 C.主要的系统功能 D.外部数据库定义 E.主要的设计约束和限制.文档 A.现有的软件文档 B.系统文档 C.卖主(硬件的和软件的)的有关文档 D.技术参考书BeiHuaZLL ZhangLingling设计规格说明书示例.设计描述 A.数据描述 1.数据流复审 2.数据结构复审 B.导出的程序结构 C.结构之间的界面BeiHuaZLL ZhangLingling设计规格说明书示例.模块描述;针对每个模块给出 A.处理过程陈述 B.接口描述 C.设计语言(或其他形式)描述 D.引用的模块 E.数据组织 F.注释BeiHuaZLL Zhan

35、gLingling设计规格说明书示例.文件结构及全局数据 A.外部文件结构 1.逻辑结构 2.逻辑记录描述 3.访问方式 B.全局数据 C.文件与数据的交叉访问表.需求交叉访问矩阵BeiHuaZLL ZhangLingling设计规格说明书示例.测试准备 A.测试指南 B.集成策略 C.特殊考虑.装配 A.特殊的程序覆盖要求 B.转换方面的考虑.特别注释.附录BeiHuaZLL ZhangLingling设计规格说明的评审为了确保文档的质量,还必须对设计文档进行评审。评审的目的在于及早发现设计中的缺陷和错误。评审包括软件总体结构、数据结构、结构之间的界面以及模块过程细节四个方面,重点考虑:软件

36、结构能否满足需求?结构的形态是否合理?层次是否清晰?模块的划分是否遵循模块化和信息隐蔽的思想?系统的人机界面、各模块的接口以及出错处理是否恰当?模块的设计能否满足功能与性能要求?选择的算法与数据结构是否合理,能否适应编程语言,等等。BeiHuaZLL ZhangLingling设计规格说明的评审评审分正式与非正式的两种方式。正式评审除软件开发人员外,还邀请用户代表和领域专家参加,通常采用答辩形式,与会者有备而来(即提前审阅了文档),设计人员在对设计方案详细说明后,答复与会者的问题并记下各种重要的评审意见。非正式评审多少有些同行切磋的性质,不拘时间,不拘形式。需求阶段使用的“走查”法同样适用于设计评审,此时由一名设计人员带领到会的同事逐行审阅文档,记录发现的问题。评审应对事不对人,防止把评审变为质询或辩论。最后,对评审中提出的问题应详细记录。评审结束前,还应对本次评审做出结论。BeiHuaZLL ZhangLingling

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 生活常识

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁