软件工程(第五版)(张海潘编著)第6章 详细设计(6学时)

Software Engineering
6.2.2 设计过程
用户界面设计是一个迭代的过程:
先创建设计模型,再用原型实现这个设计模型, 并由用户试用和评估,然后根据用户意见进行修改。
为了支持上述迭代过程,各种用于界面设计和 原型开发的软件工具应运而生。这些工具被称为用 户界面工具箱或用户界面开发系统,例如基于C++ 的Visual C++、基于JAVA的JBuilder、Eclipse。
用判定表可以清楚地表示与上述每种条件组合相对 应的计算行李费的算法,如表6.1(见书118页)所示。
所有可能做的 动作 与每种条件组合 相对应的动作
Software Engineering
6.3.5 判定树
判定表虽然能清晰地表示复杂的条件组合与应做的 动作之间的对应关系,但其含义却不是一眼就能看出 来的。 判定树是判定表的变种,也能清晰地表示复杂的条 件组合与应做的动作之间的对应关系。判定树的优点 在于,它的形式简单到不需任何说明,一眼就可以看 出其含义。图6.7是和表6.1等价的判定树。
数据结构既影响程序的结构又影响程序的处理过 程,面向数据结构的设计方法的最终目标是得出对程 序处理过程的描述。这种方法最适合于在详细设计阶 段使用,也就是说,在完成了软件结构设计之后,可 以使用面向数据结构的方法来设计每个模块的处理过 程。

Jackson方法

Warnier方法
Jackson方法核心是按输入输出 以及内部存储信息的数据结构进行 设计,把数据结构的描述变换为对 程序结构的描述。
Software Engineering
第六章 详细设计
1 2
结构程序设计
人机界面设计
过程设计的工具 面向数据结构的设计方法 程序复杂度的定量度量
Software Engineering
3
4 5
6.1 结构程序设计
结构程序设计的经典定义如下所述: “如果一个程序的代码块仅仅通过顺序、选择和循 环这3种基本控制结构进行连接,并且每个代码块只有 一个入口和一个出口,则称这个程序是结构化的。” 因此,下述的结构程序设计的定义可能更全面一些:


缺点
表示选择或重复结构时,选择条件或循环结束
条件不能直接在图上表示出来,影响了图的表 达能力, 不易直接把图翻译成程序
Software Engineering
6.4.2 改进的Jackson图
A A S(i)
Jackson图和描绘软件结构的层次图形式相当类似, B C D Bº Cº Dº 但是含义却很不相同,即, 层次图中的一个方框通常代表一个模块; 顺序结构 选择结构 Jackson 图即使在描绘程序结构时,一个方框也并不 代表一个模块,通常一个方框只代表几个语句。 层次图表现的是调用关系,通常一个模块除了调用下 A 级模块外,还完成其他操作; Jackson图表现的是组成关系,也就是说,一个方框 I(i) 中包括的操作仅仅由它下层框中的那些操作组成。
Software Engineering
6.2.3 人机界面设计指南
用户界面设计主要依靠设计者的经验。总结众多 设计者的经验得出的设计指南,有助于设计者设计 出友好、高效的人机界面。下面介绍3类人机界面设 计指南。
1、一般交互指南 2、信息显示指南 3、数据输入指南
一般交互指南涉及信息 显示、数据输入和系统整 可以用多种不同方式 用户的大部分时间用在选择 体控制,因此,这类指南 “显示”信息:用文字、 命令、键入数据和向系统提供 是全局性的,忽略它们将 图形和声音;按位臵、 输入。在许多应用系统中,键 承担较大风险。 移动和大小;使用颜色、 盘仍然是主要的输入介质,但 分辨率和省略。 是,鼠标、数字化仪和语音识 别系统正迅速地成为重要的输 入手段。
(3) 很容易确定局部和全程数据的作用域。
(4) 很容易表现嵌套关系,也可以表示模块的层次结 构。
Software Engineering
图6.4给出了结构化控制结构的盒图表示,也给出 了调用子程序的盒图表示方法。
盒图没有箭头,因此不允许随意转 移控制。坚持使用盒图作为详细设计 的工具,可以使程序员逐步养成用结 构化的方式思考问题和解决问题的习 惯。
Software Engineering
【例】仓库里存放了多种零件(P1,P2,…),每 个零件的每次变动(收到或发出)都有卡片作 出记录。库存管理系统每月根据这些卡片打印 一张月报表,如下图所示。假定卡片已按零件 分组,即将同一零件的卡片放在一起。
月报表
表头
零件名 P1
P2
增减数量 +204
-1200 +451 …
Software Engineering
6.3 过程设计的工具
6.3.1 程序流程图
从20世纪40年代末到70年代中期,程序流程图一 直是软件设计的主要工具。它的主要优点是对控制流 程的描绘很直观,便于初学者掌握。由于程序流程图 历史悠久,为最广泛的人所熟悉,尽管它有种种缺点, 许多人建议停止使用它,但至今仍在广泛使用着。不 过总的趋势是越来越多的人不再使用程序流程图了。 程序流程图的主要缺点如下:
T x>0 F
f(x)=-1
输出f(x)
Software Engineering
6.3.4 判定表
当算法中包含多重嵌套的条件选择时,用程序流程 图、盒图、PAD图或后面即将介绍的过程设计语言 (PDL)都不易清楚地描述。然而判定表却能够清晰地表 示复杂的条件组合与应做的动作之间的对应关系。
Software Engineering
Software Engineering
6.4.1 Jackson图(Jackson Diagram)
Jackson方法把问题分解为由三种基本结构形式表示 A 的各部分的层次结构。

顺序结构

选择结构
顺序结构的数据由一个或多个 数据元素组成,每个元素按确定 次序出现一次。 B C D 选择结构的数据包含两个或多个 A由B、C、D 3个元素顺序组成 数据元素,每次使用这个数据时按 选择数据用 一定条件从这些数据元素中选择一 A “o‖表示 个。
表示各种条件组合 的一个矩阵 下面以行李托运费的算法为例说明判定表的组织方法。 列出所有 条件 : 假设某航空公司规定
乘客可以免费托运重量不超过30kg的行李。
当行李重量超过30kg时 对头等舱的国内乘客超重部分每公斤收费4元
判定表能够简洁而又无歧义地描述 对其他舱的国内乘客超重部分每公斤收费 6元 处理规则。当把判定表和布尔代数结 合起来使用时,可以对判定表进行校 对外国乘客超重部分每公斤收费比国内乘客多一倍 验或化简。但是,判定表并不适于作 为一种通用的设计工具。 对残疾乘客超重部分每公斤收费比正常乘客少一半。
Software Engineering
(1) 程序流程图本质上不是逐步求精的好工具,它诱 使程序员过早地考虑程序的控制流程,而不去考虑程 序的全局结构。
(2) 程序流程图中用箭头代表控制流,因此程序员不 受任何约束,可以完全不顾结构程序设计的精神,随 意转移控制。 (3) 程序流程图不易表示数据结构。
B* 重复结构
Software Engineering
6.4.3 Jackson结构设计方法
*有直接因果关系,程序可
以同时处理的数据单元。 Jackson结构设计方法分为以下几步: *对于重复的数据单元,重 复的次序和次数完全相同 画出输入、输出数据结构的Jackson 图 才算有对应关系。

找输入—输出数据结构的对应关系 对应关系 以输出数据结构为基础导出程序结构

输入输出有对应关系的数据单元 –– 合画一个 处理框
如果这对数据单元在输入和输出 输入数据结构中余下的数据单元 –– 各画一个



列出所有操作、条件
用伪码表示程序
数据结构中所处的层次不同,则它 们合画的处理框与它们之中在数据 输出数据结构中余下的数据单元 –– 各画一个 结构图中层次低的那个对应。
Software Engineering
闰年判断: 满足以下两个条件之一的年份为闰年: ①能被4整除,不能被100整除的年份是闰年; ②能被400整除的年份是闰年;
Software Engineering
例:求一组数中的最大值
Software Engineering
Input x f(x)=1
Software Engineering
例:求一组数中的最大值
Declare int array A
Get(Array A)
MAX=A(1) For i=2 To N If MAX<A(i) Set MAX=A(i)
EndIf
EndFor Put(MAX)
Software Engineering
6.4 面向数据结构的设计方法

重复结构
重复结构的数据,根据使用时的 Bº Cº Dº 条件由一个数据元素出现零次或多 根据条件A是B或C或D中的某一个 次构成。
A
重复数据用“*” 表示
B*
Software Engineering A由B出现N次(N≥0)组成
Jackson方法的特点

优点

便于表示层次结构,结构的自顶向下分解 直观,可读性好 既能表示数据结构,也能表示程序结构
Software Engineering
6.3.2 盒图(N-S图)
出于要有一种不允许违背结构程序设计精神的图 形工具的考虑,Nassi和Shneiderman提出了盒图,又 称为N-S图。它有下述特点: (1) 功能域(即,一个特定控制结构的作用域)明确, 可以从盒图上一眼就看出来。 (2) 不可能任意转移控制。
Software Engineering
合集下载

[工学]软件工程导论 张海藩第5版第6章

[工学]软件工程导论 张海藩第5版第6章
21
6.2.3 人机界面设计指南
总结众多设计者的经验得出的设计指南, 有助于设计者设计出友好、高效的人机界面。 下面介绍3类人机界面设计指南。 1. 一般交互指南 一般交互指南涉及信息显示、数据输入 和系统整体控制,因此,这类指南是全局性 的,忽略它们将承担较大风险。下面讲述一 般交互指南。
22
(1) 保持一致性。应该为人机界面中的菜单选择、 命令输入、数据显示以及众多的其他功能,使用一 致的格式。 (2) 提供有意义的反馈。应向用户提供视觉的和听 觉的反馈,以保证在用户和系统之间建立双向通信。 (3) 在执行有较大破坏性的动作之前要求用户确认。 如果用户要删除一个文件,或覆盖一些重要信息, 或终止一个程序的运行,应该给出“您是否确实 要……”的信息,以请求用户确认他的命令。 (4) 允许取消绝大多数操作。UNDO或REVERSE功 能曾经使众多终端用户避免了大量时间浪费。每个 交互式系统都应该能方便地取消已完成的操作。
27
3. 数据输入指南
用户的大部分时间用在选择命令、键入数据 和向系统提供输入。在许多应用系统中,键盘仍然 是主要的输入介质,但是,鼠标、数字化仪和语音 识别系统正迅速地成为重要的输入手段。下面是关 于数据输入的设计指南。 (1) 尽量减少用户的输入动作。最重要的是减少击 键次数,这可以用下列方法实现:用鼠标从预定义 的一组输入中选一个;用“滑动标尺”在给定的值 域中指定输入值;利用宏把一次击键转变成更复杂 的输入数据集合。
10
6.2.1 设计问题
一、 4个设计问题
在设计人机界面的过程中,几乎总会遇到下述 4个问题:系统响应时间、用户帮助设施、出错信 息处理和命令交互。不幸的是,许多设计者直到设 计过程后期才开始考虑这些问题,这样做往往导致 出现不必要的设计反复、项目延期和用户产生挫折 感。最好在设计初期就把这些问题作为重要的设计 问题来考虑,这时修改比较容易,代价也低。下面 讨论这4个设计问题。

软件工程课件第5章-总体设计(第六版)(张海潘编著)

软件工程课件第5章-总体设计(第六版)(张海潘编著)

如果两个模块彼此间传递的信息中有控制信 息,这种耦合称为控制耦合。
A Flag B Flag
f1
f2
„
fn
评价:

控制耦合往往是多余的,把模块适当分解之后
通常可以用数据耦合代替它。(如何分解?)

被调用的模块需知道调用模块的内部结构和逻
辑,降低了重用的可能性 。
(4) 特征耦合(stamp coupling)
由两个主要阶段组成: 系统设计阶段,确定系统的具体实现方案


设想供选择的方案 选取合理的方案 推荐最佳方案


结构设计阶段,确定软件结构
功能分解 设计软件结构 设计数据库

制定测试计划 书写文档 审查和复审
典型的总体设计过程包括下述9个步骤:
1. 设想供选择的方案

根据需求分析阶段得出的数据流图考虑各种可能 的实现方案,力求从中选出最佳方案。 从前一步得到的一系列供选择的方案中选取若干 个合理的方案。对每个合理的方案分析员都应该 准备下列4份资料:
C(P1+P2)>C(P1)+C(P2)

综上所述,得到下面的不等式 E(P1+P2)>E(P1)+E(P2)

每个程序都相 应地有一个最 适当的模块数 目M,使得系 统的开发成本 最小。
模块化和软件成本
模块化的作用:

采用模块化原理可以使软件结构清晰,不仅容 易设计也容易阅读和理解。

模块化使软件容易测试和调试,因而有助于提 高软件的可靠性。
一个公司的销售管理系统判别输入定货输入进货修改库存统计分析处理定货记录定单开提货发票读入数据生成统计表开进货票据销售管理系统读入数据键盘输入开提货发票判别处理定货输入进货进货统计定货输入定货修改库存开进货票据记录定单统计分析生成统计表根据储蓄系统的数据流图利用面向数据流的设计方法设计其软件结构复查基本系统模型利息清单密码存单存款单取款单事务接收事务处理存款处理取款业务员储户储户存款信息确定输入流和输出流的边界从而孤立出变换中心5

软件工程导论(第五版) 第六章

软件工程导论(第五版) 第六章

•经典的结构程序设计:只允许使用顺序、
IF_THEN_ELSE选择和DO_WHILE循环;
扩展的结构程序设计:除了三种基本控制结构, 还使用DO_CASE和DO_UNTIL循环;
修正的结构程序设计:除了三种基本控制结构 和两种扩充结构,还使用BREAK等结构。
6.1.1 结构化程序
6.1.1.1 控制结构 • 流程图通常由三种结点组成: •1)函数结点 • 如果一个结点有一个入口线和
行李重量w30行李重量w30国内乘客外国乘客头等舱其他舱头等舱其他舱残疾乘客正常乘客残疾乘客正常乘客残疾乘客正常乘客残疾乘客正常乘客w302w304w303w306w304w308w306w3012免费图67用判定树表示计算行李费的算法636pdl2可以使用普通的正文编辑程序或文字处理系统来完成pdl的书写和编辑工作
•定义7:由基本程序的一个固定的基集合构造出的复合
程序,称为结构化程序。
6.1.2 结构化定理 •结构化定理:任一正规程序都可以函数等价于
一 个 由基 集 合 {顺 序 , If-else-then,While-do} 产生的结构化程序。
• 实际上,只要能证明可以将任一正规程序转
换成等价的结构化程序就可以证明这个结构化 定理。
123456789 TTTTFFFF TFTFTFTF FFTTFFTT
TFFFFFFFF
×
×
×
×
×
×
×
×
×
•6.3.5 判定树
• 判定树是判定表的变种。
行李重量
国内乘客
头等舱 其他舱
残疾乘客
正常乘客 残疾乘客 正常乘客
(W-30)×2 (W-30)×4 (W-30)×3 (W-30)×6

(完整版)《软件工程导论》第五版张海藩编著总结

(完整版)《软件工程导论》第五版张海藩编著总结

总结重点:❖∙Unit1❖∙软件危机包含两方面的问题:一是如何开发软件,怎样满足人们对软件日益增长的需求?二是如何维护软件,使它们持久地满足人们的要求。

❖∙软件工程学定义:把软件当作一种工业产品,采用工程学的原理来管理和组织软件的开发和维护,称为软件工程。

❖∙软件是指程序、数据和文档三者共同构成的配置。

❖∙包含与数据处理系统操作有关的程序、规程、规则以及相关文档的智力创作称为软件。

文档是描述程序开发过程的,是智力创作的真实记录,是创作活动的历史档案和结晶。

❖∙软件的描述性定义:软件由计算机程序,数据结构和文档组成。

❖∙软件质量定义为“与软件产品满足规定的和隐含的需求能力有关的特征和特性的全体”具体来说: 1)软件产品中能满足给定需求的性质和特性的总体;2)软件具有所期望的各种属性的组合程度。

❖∙将软件质量属性划分为六个特性(功能性、可靠性、易用性、效率、维护性和可移植性),这六个属性是面向用户的观点——面向管理的观点,且是定性描述的。

❖∙软件质量度量体系:内部度量可用于开发阶段的非执行软件产品,外部度量只能在生存周期过程中的测试阶段和任何运行阶段使用。

❖∙软件工程项目的基本目标:(1)低成本;(2)满足功能要求;(3)高性能;(4)易移植;(5)易维护。

❖∙软件工程方法学就是要从技术和管理上提供如何去设计和维护软件。

❖∙软件开发方法:面向数据流(约旦)方法、面向数据结构方法、面向对象方法。

❖∙结构程序设计是进行以模块功能和处理过程设计为主的详细设计的基本原则。

它的主要观点是采用自顶向下、逐步求精的程序设计方法;使用三种基本控制结构构造程序,任何程序都可由顺序、选择、循环三种基本控制结构构造。

❖∙用来辅助软件开发、运行、维护、管理、支持等过程中活动的软件称为软件工具(CASE)。

❖∙软件生存周期定义:软件产品从形成概念开始,经过开发、使用和维护,直到最后不再使用的整个过程。

各阶段的任务彼此间尽可能的相对独立,同一阶段内各项任务的性质尽可能的相同。

《软件工程导论》张海潘 第五版 清华 课后答案

《软件工程导论》张海潘 第五版 清华 课后答案
学会倾听与表达 在团队中,要学会倾听他人的意 见和建议,清晰表达自己的观点 和想法。 注重团队协作与分工 积极参与团队协作,明确分工与 责任,共同完成项目任务。 建立有效沟通机制 建立有效的沟通机制,如定期会 议、在线协作工具等,以便团队 成员之间的信息交流与共享。
WATCHING
THANKS FOR
实践应用:软件测试与质量保证
测试计划制定
根据软件需求和测试目标,制定详 细的测试计划,包括测试范围、测 试方法、测试资源以及测试进度等 方面的内容。
测试用例设计与执行
根据测试计划设计有效的测试用例, 并严格按照测试用例执行测试过程, 以确保软件的质量和稳定性。
缺陷管理与回归测试
建立缺陷管理机制,对测试过程中 发现的缺陷进行跟踪和管理,并进 行回归测试以确保缺陷得到修复并
软件工程的概念及基本原则
软件工程是一门研究计算机软件开发、维护和管理的科学。其基本原则包括强调需求分析、采用合 适的设计方法、实行严格的测试和维护等。
软件生命周期及各阶段任务
软件生命周期包括需求分析、设计、编码、测试和维护等阶段。各阶段的主要任务分别是明确用户 需求、设计系统结构、编写程序代码、测试软件功能和修复漏洞等。
案例分析三
某移动APP产品的敏捷开发实践。该案例以 敏捷开发方法为基础,介绍了产品迭代规划、 用户故事编写、任务分解以及站会等敏捷实 践活动的应用,对于理解敏捷开发方法的精 髓和实施具有很好的启示作用。
实践应用:软件开发项目管理
项目计划制定
根据项目需求和目标,制定详细的项目计划,包括任务分解、 资源分配、进度安排以及风险管理等方面的内容。
不再出现。
质量评估与改进
通过质量评估活动对软件的质量进 行全面评估,并根据评估结果制定 相应的质量改进措施,以提高软件

软件工程导论面向对象方法学引论第六张海潘编著分析PPT学习教案

软件工程导论面向对象方法学引论第六张海潘编著分析PPT学习教案
对象响应消息时,按照消息模式找出与之匹配的 方法,并执行该方法。
第11页/共79页
2、对象的定义
从动态角度或对象的实现机制来看,对象是一台自动机来
模拟: 具有内部状态S,操作fi(i=1,2,…,n),且与操作fi对应
的状态转换函数为gi(I=1,2,…,n)的一个对象。
输入fi , X
状态 S
第20页/共79页
7、继承 继(承,In是h子e类ri自ta动n地c共e)享基类中定义的数据和
方法的机制。
类A A的操作 A的变量
A的实例a1 类A
A的实例变量
类B:A的子类 从A的继承特性
B的操作 B的变量
B的实例b1 类B
继承来的A的实例变量
B的实例变量
图9.4 实现继承机制的原理
第21页/共79页
按键来操作; 按下“Play(放音)”键,则录音带正向转动,通过喇叭放出录音带中
记录的歌曲或其他声音; 按下“Record(录音)”键,则录音带正向转动,在录音带中录下新
的音响;
完成放音、录音的各种功能的电子线路被装在录音机的外壳中,人 们无须了解这些电子线路的工作原理就可以随心所欲地使用录音机 。
继承举例
第22页/共79页
8、多态性(Polymorphism)
多态性,指子类对象可以象父类对象那样使用,同样 的消息既可以发送给父类对象,也可以发送给子类对象。
即不同等级的类,可以公用一个方法的名字。不同层 次中的每个类却各自按自己的需要来实现这个行为。
第23页/共79页
9、重载(Overloading)
使用对象的时候,只能通过对象与外界的界面来 操作;
操作时,只需知道该操作的名字和所需要的参数 ,不需要知道这些操作是如何实现的;

软件工程导论-张海藩-第五版课后习题答案


多态
多态是指同一个操作作用于不 同的对象,可以产生不同的结 果。
UML建模语言简介
UML是一种用于对软件密集系统进行可视化建模 的统一建模语言。
UML通过统一的符号和工具,为软件开发人员提 供了一种通用的建模语言。
UML可以描述软件系统的静态结构和动态行为, 包括类图、时序图、用例图等。
面向对象分析、设计和实现过程
列表。
与用户确认需求列表,确保对用户需求有准确的理解。
03
需求规格说明书编写
01
编写详细的需求规格说明书,包括功能需求、性能需求、接 口需求等。
02
使用清晰、准确的语言描述需求,避免歧义和模糊性。
03
提供必要的图表、示例和数据,以便更好地理解和实现需求 。
需求变更管理
建立需求变更管理流 程,确保所有变更都 经过评估和批准。
及时通知相关干系人, 协商并处理变更请求, 确保项目顺利进行。
对变更进行影响分析, 评估变更对项目进度、 成本和质量的影响。
03 系统设计
总体设计原则与方法
模块化
将系统划分为若干个相对独立的模块, 每个模块具有特定的功能,模块之间 通过接口进行通信。
高内聚、低耦合
模块内部的功能应该高度相关,而模 块之间的依赖关系应该尽量减少。
要点二
软件评估技术
软件评估技术包括代码审查、走查、桌面检查等。代码审 查是一种正式的评估技术,由一组开发人员对源代码进行 详细检查以发现错误;走查是一种轻量级的评估技术,由 开发人员自行检查代码并记录下潜在的问题;桌面检查则 是一种非正式的评估技术,由评估人员通过查看文档和演 示来评价软件产品的质量。
THANKS FOR WATCHING
感谢您的观看

软件工程导论_张海藩_第五版课后习题答案


F3日前、时间
定时的生理信号 F6日志
P5 更新日志
D1患者日志 F6日志 P6 产生病情报告
10
E1 护士
13:07:42
F1要求报告
重庆工学院计算机科学与工程学院 李梁(liliang@)
P2 分析信号 E2 病人 F2生理信号 F2生理信号 F5安全范围
危及病人信息 D2患者安全范围
17
E1 储户
F1存款单 F7密码
P1 记录存款信息 F5存款信息 D1存款信息
P2 打印存单 F5存款信息 F3存单 E1 储户 F4利息
F7密码 F2取款单
F5存款信息 P3 核算密码
F4利息 F4利息 F6取款信息 P6 设置利率 P4 计算利息 F8储蓄利率
P5 打印利息清单 F8储蓄利率
5
作业及解答(第1-2章)
122629 6000 735,776,790(美元) 1-6 什么是软件过程?它与软件工程方法学有何关系? 软件过程是为了开发出高质量的软件产品所需完成的一系 列任务的框架,它规定了完成各项任务的工作步骤。 软件过程定义了运用技术方法的顺序、应该交付的文档资 料、为保证软件质量和协调软件变化必须采取的管理措施 ,以及标志完成了相应开发活动的里程碑。 软件过程是软件工程方法学的3个重要组成部分之一。
13:07:42
P6 产生病情报告 重庆工学院计算机科学与工程学院 李梁(liliang@)
12
作业及解答(第3章)
2-5 北京某高校可用的电话号码有以下几类:校内电话号 码由4位数字组成,第1位数字不是0;校外电话又分为本 市电话和外地电话两类,拨校外电话需先拨0,若是本市 电话则再接着拨8位数字(第1位不是0),若是外地电话则 拨3位区码再拨8位电话号码(第1位不是0)。 请用定义数据字典的方法,定义上述的电话号码。

软件工程-第六章-软件详细设计

软件工程-第六章-软件详细设计第六章软件详细设计1、引言本章描述了软件详细设计阶段的任务和目标,包括需求分析阶段后续的工作内容,以及软件详细设计的重要性和作用。

2、设计目标本节介绍软件详细设计的目标和要求,包括系统的性能、可靠性、可维护性等方面的要求。

2.1 性能目标描述系统在不同负载条件下的性能要求,包括响应时间、吞吐量等指标。

2.2 可靠性目标描述系统需要达到的可靠性要求,包括故障处理、容错机制等。

2.3 可维护性目标描述系统需要达到的可维护性要求,包括代码可读性、模块化、可重用性等。

3、系统结构设计本节介绍软件系统的整体结构设计,包括模块划分和模块之间的关系。

3.1 模块划分根据需求分析的功能模块进行划分,并对每个功能模块进行详细描述。

3.2 模块之间的关系描述每个模块之间的接口和依赖关系,包括数据传输、函数调用等。

4、数据结构设计本节介绍系统中使用到的数据结构,包括数据库设计、文件结构设计等。

4.1 数据库设计描述系统中所需的数据库的表结构、字段定义等。

4.2 文件结构设计描述系统中所需的文件的结构和格式。

5、界面设计本节介绍系统的用户界面设计,包括页面布局、交互方式等。

5.1 页面布局设计描述系统的页面布局和组件的排列方式。

5.2 交互方式设计描述用户与系统之间的交互方式,包括输入、输出等。

6、算法设计本节介绍系统中使用的算法和数据处理方法。

6.1 算法描述描述系统中使用的算法的原理和实现方式。

6.2 数据处理方法描述系统中对数据进行处理的方法和策略。

7、安全性设计本节介绍系统的安全性设计,包括用户身份验证、数据加密等。

7.1 用户身份验证描述系统中对用户身份进行验证的方法和过程。

7.2 数据加密描述系统中对敏感数据进行加密的方法和策略。

8、测试计划本节介绍软件详细设计阶段的测试计划和测试策略。

8.1 功能测试描述对每个功能模块进行的功能测试计划和测试用例。

8.2 性能测试描述对系统性能进行测试的计划和方法。

软件工程-第6章_详细设计(第五版)


3. 出错信息处理 出错信息和警告信息,是出现问题时交互式系 统给出的“坏消息”。 4. 命令交互 多数情况下,用户既可以从菜单中选择软件功 能,也可以通过键盘命令序列调用软件功能。 在理想的情况下,所有应用软件都有一致的命 令使用方法。
6.2.2 设计过程


用户界面设计是一个迭代的过程,也就是说, 通常先创建设计模型,再用原型实现这个设计 模型,并由用户试用和评估,然后根据用户意 见进行修改。 为了支持上述迭代过程,各种用于界面设计和 原型开发的软件工具应运而生。这些工具被称 为用户界面工具箱或用户界面开发系统。
PDL的特点: 关键字的固定语法,它提供了结构化控制结构、 数据说明和模块化的特点。 自然语言的自由语法,它描述处理特点。 数据说明的手段。应该既包括简单的数据结构, 又包括复杂的数据结构。 模块定义和调用的技术,应该提供各种接口描 述模式。
PDL的优点: 可以作为注释直接插在源程序中间。有助于保 持文档和程序的一致性,提高了文档的质量。 可以使用普通的正文编辑程序或文字处理系统, 很方便地完成PDL的书写和编辑工作。 已经有自动处理程序存在,而且可以自动由 PDL生成程序代码。 PDL的缺点: 不如图形工具形象直观,描述复杂的条件组合 与动作间的对应关系时,不如判定表清晰简单。

一张判定表由4部分组成: 左上部列出所有条件; 左下部是所有可能做的动作; 右上部是表示各种条件组合的一个矩阵; 右下部是和每种条件组合相对应的动作。
所有条件 条件组合矩阵 条件组合 对应的动作
所有动作
例题:

假设某航空公司规定,乘客可以免费托运重量 不超过30kg的行李。 当行李重量超过30kg时,对头等舱的国内乘客 超重部分每公斤收费4元,对其他舱的国内乘 客超重部分每公斤收费6元。 对外国乘客超重部分每公斤收费比国内乘客多 一倍,对残疾乘客超重部分每公斤收费比正常 乘客少一半。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
相关文档
最新文档