《软件工程》(第2版)第5章
软件工程导论 第五章总体设计

控制 耦合
耦合性
特征耦 合 公共 耦合 内容 耦合
高
28
注意!!
在软件设计中应该追求尽可能松散耦合的系统。
否则影响系统的可理解性、可测性、可靠性和可
维护性。
29
耦合程度强弱的区分
无耦合:如果两个模块中的每一个都能独立 地工作而不需要另一个模块的存在,那么它 们彼此完全独立,模块间无任何连接。
在可行性研究阶段,软件作为系统的一个完整 部件; 在需求分析期间,软件解法是使用在问题环境 内熟悉的方式描述的; 当由总体设计向详细设计过渡时,抽象的程度 也就随之减少; 最后,当源程序写出来以后,也就达到了抽象 的最低层。 20
5.2.3 逐步求精
定义:为了能集中精力解决主要问题而尽量推迟 对问题细节的考虑。 人类的认知过程遵守Miller法则:一个人在任何时 候都只能把注意力集中在(7±2)个知识块上。
6
3. 推荐最佳方案 • 综合分析对比各种合理方案的利弊,推荐 一个最佳的方案,并且为推荐的方案制定 详细的实现计划。 • 在使用部门的负责人也接受了分析员所推 荐的方案之后,将进入总体设计过程的下 一个重要阶段——结构设计。
7
4.功能分解 • 为确定软件结构,首先需要从实现角度把 复杂的功能进一步分解。结合算法描述仔 细分析数据流图中的每个处理,如果一个 处理的功能过分复杂,必须把它的功能适 当地分解成一系列比较简单的功能。
12
5.2 设计原理
5.2.1 模块化
模块化:把程序划分成独立命名且可独立访问的模块,每个 模块完成一个子功能,这些模块集成起来构成一个整体,可 以完成指定的功能以满足用户的需求。 模块是由边界元素限定的相邻程序元素的序列,而且有一个 总体标识符代表它。模块是构成程序的基本构件。 过程、函数、子程序和宏等,都可作为模块。 面向对象方法学中的对象是模块,对象内的方法(或称为服 务)也是模块。
软件工程第五章课后题

一、选择题
1.软件管理中,需要对软件进行配置,各阶段文档的管理属于()。
D
A.组织管理
B资源管理
C.计划管理
D.版本管理
2.软件开发的结构化方法中,常用数据字典技术,其中数据加工是
其组成内容之一,下述方法()是常采用编写加工说明的方法。
Ⅰ结构化语言Ⅱ判定树Ⅲ判定表
A.Ⅰ
B.Ⅱ
C.Ⅱ、Ⅲ
D.都是
3.在软件工程实施中,产生软件生命周期的概念是由()。
A.方法论所决定的
B.开发技术划分
C.软件开发规律
D.软件工程管理
二、填空题
1.软件计划包括和两个阶段。
2.软件概要设计的成果是。
3.软件的详细设计,也称模块设计。
它要求设计人员为每一个程序模块确定所使用的,,、输出数据等。
4.结构化分析方法是进行分析的方法。
三、解答题
1.什么是软件的可维护性?可维护性的度量的特性是什么?
2.提高可维护性的方法有哪些?
答案:
一、1.D 2.D 3.A
二、
1.总体设计(或概要设计)详细设计
2.软件设计说明书
3.算法数据结构接口细节和输入
4. 面向数据流
三、
1.软件的可维护性:软件能够被理解、校正、适应及增强功能的容易程度。
可维护性的度量的特性是:可理解性、可测试性、可修改性、可靠性、可移植性、可使用性和效率。
2.(1)建立明确的软件质量目标。
(2)利用先进的软件开发技术和工具。
(3)建立明确的质量保证工作。
(4)选择可维护的程序设计语言。
(5)改进程序文档。
软件工程导论(第5章)

11
5.1.2 选取若干个合理的方案
至少选取低成本、中等成本和高成本三种方案。
每种方案准备四份资料:
系统流程图; 组成系统的物理元素清单; 成本/效益分析; 实现这个系统的进度计划。
12
5.1.3 推荐最佳方案
分析员应该综合分析对比各种合理方案的利
弊,推荐一个最佳的方案,并且为推荐的方 案制定详细的实现计划。
发出较高质量的软件系统。
7
第一部分:设计过程 第二部分:设计原理 第三部分:启发原则 第四部分:软件结构图 第五部分:面向数据流的设计方法
8
5.1 设 计 过 程
总体设计过程通常由两个主要阶段组成: 系统设计:确定系统的具体实现方案。 结构设计:确定软件结构。 9个步骤: ① 设想供选择的方案 ② 选取合理的方案 ③ 推荐最佳方案 ④ 功能分解 ⑤ 设计软件结构 ⑥ 设计数据库 ⑦ 制定测试计划 ⑧ 书写文档 ⑨ 审查和复审
和理解; 可以使软件容易测试和调试,因而有助于提高软 件的可靠性; 能够提高软件的可修改性; 有助于软件开发工程的组织管理。
32
模块化五条标准
模块可分解性
把问题分解为子问题 模块可组装性 可复用 模块可理解性 无需参考其他模块,易于构造和修改 模块连续性 微小修改只导致对个别模块 模块保护性 异常影响局限在模块内部
“隐蔽”意味着模块彼此间仅仅交换那些为了完成系统功能而 必须交换的信息。 “局部化”是指把一些关系密切的软件元素物理地放得彼此靠 近。局部化有助于实现信息隐蔽。
设计和确定模块时,使得一个模块内包含的信息(过程和 数据)对于不需要这些信息的模块来说,是不能访问的。 模块内部的数据与过程,应该对不需要了解这些数据与过 程的模块隐藏起来。只有那些为了完成软件的总体功能而 必需在模块间交换的信息,才允许在模块间进行传递。
软件工程概述-第5章 结构化需求分析

实体 属性 联系
用矩形表示,矩形内写 明实体名
用椭圆形表示,并用无 向边将其与对应实体连 接起来
用菱形表示,并用无向 边分别与有关实体连接 起来,同时在无向边旁 标上联系的类型。
E-R 图表示图示 例 2-1 中的例子
练习
例:简单的学生选课系统:
(1)学生 属性有学号,姓名, 性别,年龄,所在系
x
1.1
1.2
1.3
1
3
2
2.1 2.3
2.2
1.1 1.3
目录
1
5.1结构化分析
2
5.2数据流图
3
5.3数据字典
4
5.4 实体关系图
5
5.5 状态转换图
数据流图
数据流图(Data Flow Diagram,DFD)是描述系统中数据 流程的图形工具,它描述了将系统的逻辑输入转换为逻辑输出 所需的加工处理过程。
(2)课程 属性有课程号,课程 名称,先修课程号,学分
实体之间的联系:
一个学生可同时选修多门 课程,而一门课程可以同时被 若干学生选修。用成绩来表示 某个学生学习某门课程的成绩 。
分解:对于一个复杂的系统,为了将复杂性降 低到可以掌握的程度,可以把大问题分解成若 干小问题,然后分别解决。
抽象:分解可以分层进行,即先考虑问题最本 质的属性,暂把细节略去,以后再逐层添加细 节,直至涉及到最详细的内容,这种用最本质 的属性表示一个系统的方法就是“抽象”
结构化分析
结构化分析方法基本思想 “分解”和“抽象”
取值范围:数据项的取值范围,例如,职工年龄 的取值范围定义为18至60岁,表示为18..60。
初始值:数据项的初始值,例如,为了操作简便, 软件定义借书日期的初始值默认为系统的当前日 期。
软件工程实用教程(2版)-第2、3、4、5章-习题与参考答案(人民邮电大学出版社 郭宁主编)

《软件工程实用教程》第2、3、4、5章习题与参考答案第2章软件生存周期及开发模型1.简述什么是软件生存周期?根据国家标准《计算机软件开发规范》,软件生存周期主要包括哪几个阶段?答案要点:软件生存周期是指软件产品从功能确定、设计、开发成功、投入使用,并在使用中不断修改、完善,直至被新的软件所替代,而停止该软件使用的全过程。
国家标准GB8566-1988《计算机软件开发规范》将软件生命周期划分为几个阶段:可行性研究、项目计划、需求分析、总体设计、详细设计、编码实现(包括单元测试)、集成测试、确认测试、系统运行和维护。
这几个阶段又可以归纳为3个大的阶段,即软件定义阶段,软件开发阶段和软件运行维护阶段。
2.瀑布模型有哪些特点?对于里程碑,你有哪些认识?答案要点:瀑布模型是一种基于里程碑的阶段过程模型,它所提供的里程碑式的工作流程,为软件项目按规程管理提供了便利。
例如,按阶段制定项目计划,分阶段进行成本核算,进行阶段性的评审等。
这为提高软件产品质量提供了有效保证。
瀑布模型的特点:•阶段性:前一阶段工作完成以后,后一阶段工作才能开始,前一阶段的输出文档是后一阶段的输入文档。
•阶段评审:在每一阶段工作完成后都要进行评审,以便尽早发现问题,避免后期的返工,如果评审不合格,则不开始下一阶段的工作。
•文档管理:在每阶段都规定了要完成的文档,没有完成文档,就认为没有完成该阶段的任务。
3.试说明原型模型的两种实现方案各有什么特点?各适用于什么情况?答案要点:原型模型在软件分析、设计阶段的应用,用来解决用户对软件系统在需求分析上的模糊认识。
将模拟的手段引入需求分析的初期阶段,通过建立原型缩短用户与分析人员之间的距离。
快速原型方法具有以下一些特点。
•快速原型是用来获取用户需求的,或是用来试探某种设计是否有效。
一旦需求或设计确定下来,原型就将被抛弃。
因此快速原型要求快速构建、容易修改,以节约原型创建成本,加速开发速度。
快速原型往往采用软件生成工具来创建,例如,4GL语言。
软件工程 第5章软件详细设计

第5章例题分析与解答作者:不详来源:2006年9月1日发表评论进入社区一、填空题1.结构化程序设计方法的要点是使用___三种基本控制_____结构,自顶向下、逐步求精地构造算法或程序。
2.为了产生结构化的流程图,应由三种基本控制结构顺序组合或__完全嵌套___而成。
3.结构化程序设计方法提倡开发人员的组织形式是___主程序组_____。
4.PAD图是一种由左向右展开的二维树型结构,图中的竖线为程序的____层次线____。
5.在Jackson方法中解决结构冲突的具体办法是引入__中间数据结构或中间文件______。
二、选择题1.详细设计与概要设计衔接的图形工具是( B )。
A.DFD图B.SC图C.PAD图D.程序流程图2.结构化程序设计主要强调的是( C)。
A.程序的效率B.程序的执行速度C.程序的易读性D.程序的规模3.详细设计的任务是确定每个模块的( A)。
A.算法B.功能C.调用关系D.输入输出数据4.Jackson方法实现从( A )导出(C )。
A.数据结构B.数据流图C.程序结构D.软件模块层次结构5.在软件详细设计过程中不采用的描述工具是( D )。
A.判定表B.IPO图C.PAD图D.DFD图三、应用题一个正文文件由若干个记录组成,每个记录是一个字符串。
要求统计每个记录中空格字符的个数及文件中空格字符的总个数。
要求输出数据格式是每复制一行字符串之后,另起一行印出上一行字符串空格字符的个数,最后一行印出空格字符总个数。
答案:一、填空题1.三种基本控制结构2.完整嵌套3.主程序员组4.层次线5.中间数据结构或中间文件二、选择题1.B2.C3.A4.AC5.D三、应用题图5-1图5-2<>第5章自测题及参考答案作者:不详来源:2006年9月1日发表评论进入社区一、名词解释1.结构化程序设计2.PAD3.PDL4.结构冲突5.对应关系二、填空题1.结构化程序设计方法使用___三种基本控制结构___构造程序。
软件工程 第五章(总结和课后习题)
出:分析类[完成];4、对包进行分析: 输入:系统体系结构描述[分析]、分析 包[概述]输出:分析类[完成]。 � (18)创建系统的分析模型,一般应进 行体系结构分析、用况分析、类的分析 以及包的分析 4 项活动。 � (19)用况分析[分析]的目标:1、标识 那些在用况事件流执行中所需要的分析 类和对象;2、将用况的行为,分布到参 与交互的各个分析对象;3、捕获用况细 化上的特定需求。 � (20)用况分析[分析]开展的活动包括: 1、标识分析类,标识在细化一个用况中 所需要的实体类、控制类和边界类,给 出它们的名字、责任、属性和关系;2、 描述分析(类)对象之间的交互,通常 使用交互图来描述。 � (21)类的分析[分析]的目标:1、标识 并维护分析类的责任;2、基于它们在用 况细化中的角色,标识并维护分析类的 属性和关系;3、捕获分析类细化中的特 定需求。 � (22)类的分析[分析] 开展的活动包 括:1、标识责任;2、标识属性;3 标识 关联与聚合; � (23)需求分析模型对以后开发工作的 影响?1、对设计中子系统的影响。分析 包一般将影响设计子系统的结构;2、对 设计类的影响。分析包可以作为类设计 时的规格说明;3、对用况细化[设计]的 影响。用况细分[分析]对用况细化[设计] 有两方面影响,一个是它们有乃至于为 用况创建更精确的规格说明,另一个是 当对用况进行设计时,用况细化[分析] 可作为其输入。 (24)需求获取模型与需求分析模型之
第五章 RUP
[概述];输出:子系统[完成]、接口[完 成]。 � (29)用况的设计包括以下任务:1、标 识参与用况细化的设计类;2、标识参与 用况细化的子系统的接口。 � (30)类的设计包括以下任务:1、概括 描述设计类;2、标识操作;3、标识属 性;4、标识关联、聚合;5、标识泛化; 6、描述方法; � � � (31)RUP 设计的突出优点:P165 页 (32)RUP 的设计系统生成构件;对构件进行测试,进行 集成测试和连接;把可执行的构件映射 到部署模型。 � (34)RUP 实现包括以下活动:1、实现 模型;2、实现子系统;3、实现模型视 角下的体系结构描述;4、实现类; � � (35)RUP 测试包括内部测试、中间测试 和最终测试。 (36)RUP 测试的主要活动:1、计划测 试;2、设计测试;3、实现测试;4、执 行集成测试;5、执行系统测试;6、评 价测试。
软件工程 第5章--UML
UML的定义
UML定义有两个主要组成部分:语义和表示法。 语义用自然语言描述,表示法定义了UML的可 视化标准表示符号,这决定了UML是一种可视 化的建模语言。 在语义上,模型是元模型的实例。UML定义给 出了语法结构的精确定义。 使用UML时,要从不同的角度观察系统,为此 定义了概念“视图(View)‖。视图是对系统的模 型在某方面的投影,注重于系统的某个方面。
独立于过程
系统建模语言,独立于开发过程。
9
容易掌握使用 概念明确,建模表示法简洁明了,图形结 构清晰,容易掌握使用。 着重学习三个方面的主要内容: (1) UML的基本模型元素 (2) 组织模型元素的规则 (3) UML语言的公共机制 与程序设计语言的关系 用Java,C++ 等编程语言可实现一个系统。 一些CASE工具可以根据 UML所建立的系 统模型来产生Java、C++ 等代码框架。
31
UML事物 — 注释事物
11) Note(注释)
依附于一个元素或一组元素之上,对其进
行约束或解释的简单符号。没有语义影响。
See policy8-5-96.doc for details about these algorithms.
CashAccount presentValue()
32
15
UML定义 9 种图,表达UML中的 5 种视图,各 视图在静态和动态方面表示系统模型。
结构 视图 静态 方面
动态 方面
行为 视图 同左
实现 视图 构件图
环境 视图 部署图
同左
用例 视图 用例图
同左
类图 对象图
顺序图 同左 顺序图 合作图 (注重 合作图 状态图 进程、 状态图 活动图 线程) 活动图
《软件工程(第二版)》 第五章
5.2.4 模块独立性
模块的独立性是软件质量的关键: (1)模块化程度较高的软件容易开发; (2)模块化程度较高的软件也比较容易测试和维护。 模块的独立性的度量标准:耦合和内聚。
1、耦合 耦合:软件结构中各个模块之间相互关联程度的度量。
常见的耦合:
(1)非直接耦合 (2)数据耦合 (3)标记耦合 (4)控制耦合 (5)公共耦合 (6)内容耦合 设计原则:尽量使用数据耦合,少用控制耦合,限制公 共耦合的范围,避免使用内容耦合。
这个不等式表明:单独解决问题 P1 和 P2 所需的工作 量之和,比把 P1 和 P2 合起来作为一个问题来解决时所需 的工作量要少。 这种“分而治之”的思想提供了模块化的根据:把复 杂的问题分解成许多容易解决的小问题,原来的问题也 就容易解决了。
模块化和软件成本的关系
软件总成本 最小成本区 M 接口成本
5.5.1 数据流图的类型 5.5.2 设计步骤 5.5.3 变换设计 5.5.4 事务设计 5.5.5 设计的后处理
需求分析阶段得出的数据流图是总体设计的根 本出发点。 通常,选取的这些方案中至少应包括低成本、 中成本和高成本的三种方案类型。 对每个合理方案要提供以下几方面资料: (1)系统流程图; (2)数据字典; (3)成本/效益分析; (4)实现这个系统的进度计划。
5.1.2 推荐最佳方案
分析员从合理方案中选择一个最佳方案向用户 推荐,并为推荐的方案制定详细的实现计划。 对于分析员推荐的最佳方案,用户和有关专家 应该认真审查。如果确认该方案确实符合用户的需 要,并且在现有条件下完全能够实现,则应该提请 使用部门负责人进一步审批。在使用部门负责人也 接受了分析员所推荐的方案之后,方可进入总体设 计过程的下一步工作,即结构设计阶段。
软件工程 编译原理 第五章 自顶向下的语法分析方法
例:文法G(E):
E→TE E→+TE | T→FT PROCEDURE F; T→*FT | IF SYM=‘i’ THEN ADVANCE F→(E) | i ELSE 对应的递归下降子程序为: IF SYM=‘(’ THEN
其中不以P开头。
可以把P的规则等价地改写为如下的非直接左递归 形式: 左递归变 P→P 右递归 P→P|
一般而言,假定P关于的全部产生式是 P→P1 | P2 | … | Pm | 1 | 2|…|n 其中,每个都不等于,每个都不以P开头 那么,消除P的直接左递归性就是把这些规则改写 成:
第5章 自顶向下的语法分析方法
语法分析的作用是识别由词法分析给出 的单词符号序列是否是给定文法的正确句 子(程序)。 目前语法分析常用的方法有: 1、自顶向下(自上而下)分析 2、自底向上(自下而上)分析
5.3非LL(1)文法到LL(1)文法的等价转换
确定的自顶向下分析要求给定语言的文法必
须是 LL(1)形式。然而,不一定每个语言都是 LL(1)文法,对一个语言的非LL(1)文法是否能变
换为等价的LL(1)形式以及如何变换是我们讨论
的主要问题。由LL(1)文法的定义可知若文法中 含有左递归或含有左公共因子,则该文法肯定不 是LL(1)文法,因而,我们设法消除文法中的左 递归,提取左公共因子对文法进行等价变换。
1、提取公共左因子
若文法中含有形如:A→αβ|αγ的产生式,这导 致了对相同左部的产生式其右部的FIRST集相交, 也就是 SELECT(A→αβ)∩SELECT(A→αγ) ≠ φ ,不满足 LL(1)文法的充分必要条件。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
IF-THEN-ELSE结构:
IF 条件 处理1 ELSE 处理2 ENDIF
IF-THEN结构:
IF 条件 处理1 NDIF
《软件工程(第2版)》陆惠恩主编
15
CASE结构: CASE 条件 OF CASE(1) 处理1 CASE(2) 处理2 … CASE(n) 处理n 3。循环结构 FOR循环结构: FOR i=1 TO n 循环体 END FOR WHILE循环结构: WHILE 条件 循环体 ENDWHILE UNTIL循环结构: REPEAT 循环体 UNTIL条件 《软件工程(第2版)》陆惠恩主编
《软件工程(第2版)》陆惠恩主编
例5.6 用判定树表示旅游价格优惠规定。 某旅行社根据旅游淡季、 旺季及是否团体订票, 确定旅游票价的折扣率。 具体规定如下:人数在 20人以上的属团体,20 人以下的是散客。每年 的4-5月、7-8月、10月 为旅游旺季,其余为旅 游淡季。旅游旺季,团 体票优惠5℅,散客不优 惠。旅游淡季,团体票 优惠30℅,散客优惠 20℅。用判定表表示旅 游订票的优惠规定。
《软件工程(第2版)》陆惠恩主编
12
例5.5 用判定表表示旅游票价的优惠规定。
某旅行社根据旅游淡季、 旺季及是否团体订票, 确定旅游票价的折扣率。 具体规定如下:人数在 20人以上的属团体,20 人以下的是散客。每年 的4-5月、7-8月、10月 为旅游旺季,其余为旅 游淡季。旅游旺季,团 体票优惠5℅,散客不优 惠。旅游淡季,团体票 优惠30℅,散客优惠 20℅。用判定表表示旅 游订票的优惠规定。 13
《软件工程(第2版)》陆惠恩主编
1
5.1 过程设计
过程设计的任务是设计软件结构中每个模块功 能的实现算法。 传统的软件工程方法学采用结构化设计技术完 成软件设计。 结构化设计建立在自顶向下设计、逐步求精方 法和数据流分析等原则基础上。 结构化设计只用三种基本控制结构:顺序结构、 条件结构和循环结构。 过程设计就是用顺序、选择和循环三种结构的 有限次组合或嵌套,描述模块功能的实现算法。 过程设计阶段的工具:流程图、N_S图、问题 分析图(PAD图)、判定表、判定树、过 顺序、选择、循环。
《软件工程(第2版)》陆惠恩主编
6
5.1.2 盒图 盒图是Nassi和Shneiderman提出的,又称N_S图。 1. 盒图的符号
《软件工程(第2版)》陆惠恩主编
7
【例5.1】将下述含有GOTO语句的用程序流程图,改为N_S图。
《软件工程(第2版)》陆惠恩主编
24
《软件工程》陆惠恩主编
5.6详细设计文档与复审 5.3.1 详细设计说明书 5.3.2 操作手册编写提示 5.3.3 详细设计的复审 用下列形式之一完成:
设计者和设计组的另一成员一起进行静态检查; 由检查小组进行较正式的软件结构设计检查; 由检查小组进行正式的设计检查,对软件设计质 量给出评价。
5.3.1 代码设计原则
19
5.3.2 代码种类 1. 顺序码 2. 信息块码 3. 归组分类码 见表5.3 归组代码示例 4. 助记码 5. 数字式字符码 6. 组合码
《软件工程(第2版)》陆惠恩主编
20
表5.3 归组代码示例
信息
哲学 宗教 社会科学 100 200 300
代码
《软件工程(第2版)》陆惠恩主编
26
习题5
5.下面是用PDL写出的程序,请画出对应的 PAD图和N_S图。 While C do If A>0 then A1 else A2 endif If B>0 then B1 If C>0 then C1 else C2 endif Else B2 Endif B3 Endwhile
第5章 详细设计
详细设计的主要任务是确定每个模块的执行过程, 也称过程设计。详细设计阶段还有些其他的任务。 本章主要内容: 过程设计:过程设计的图形工具有: 流程图、N_S图、PAD图、判定表、判定树、过程设 计语言(PDL)等。 用户界面设计 数据代码设计 数据输入、输出设计 数据安全设计 详细设计文档与复审 本章重点: 过程设计及工具 用户界面设计
8
【例5.2】学生成绩管理系统的 N-S 图。
《软件工程(第2版)》陆惠恩主编
9
5.1.3 PAD 图
基本符号
《软件工程(第2版)》陆惠恩主编
10
【例5.4】学生成绩管理系统的 PAD 图
《软件工程(第2版)》陆惠恩主编
11
5.1.4 判定表
1. 判定表的组成 左上部列出所有条件。 左下部列出所有可能做的工作。 右上部每一列表示各种条件的一种可能组合,所有列 表示条件组合的全部可能情况。 右下部的每一列是和每一种条件组合所对应的应做的 工作。 2. 判定表中的符号 右上部用“T”表示条件成立,用“F”表示条件不成 立,空白表示条件成立与否不影响。 右下部画“X”表示做该行左边列出的那项工作,空白 表示不做该项工作。
《软件工程(第2版)》陆惠恩主编
2
5.1 过程设计
5.1.1 流程图 1. 流程图的分类 (1)数据流程图 (2)程序流程图 (3)系统流程图 (4)程序网络图 (5)系统资源图
《软件工程(第2版)》陆惠恩主编
3
2. 流程图符号
《软件工程(第2版)》陆惠恩主编
4
3. 流程图使用约定
《软件工程(第2版)》陆惠恩主编
《软件工程(第2版)》陆惠恩主编
14
5.1.6 过程设计语言
过程设计语言(Program Design Language,简称 PDL),也称伪码, 是一种混杂语言,说明某种结构化的程序设计语言的语法形式。 用PDL表示的程序结构: 1 顺序结构 处理1 处理2 … 处理3 2 选择结构
《软件工程(第2版)》陆惠恩主编
18
5.3 代码设计
1. 代码的定义和作用 代码是为了对数据进行识别、分类、排序等 操作所使用的数字、文字或符号。 2. 代码的性质
1、标准化:国际标准、国家标准、部颁标准 或习惯标准 2、 惟一性 3、可扩充性 4、 简单性 5、 规范化 6、 适应性
《软件工程(第2版)》陆惠恩主编
《软件工程(第2版)》陆惠恩主编
25
第5章小结
用户界面设计的质量直接影响用户对软件产品的 评价,应对用户界面设计给以足够的重视。 过程设计应在数据设计、概要设计、接口设计完 成之后进行,是详细设计阶段应完成的主要任务。 详细设计阶段使用的工具: 流程图、N_S图、PAD图、 判定表、判定树、过程设计语言(PDL)等,读者 应当熟练掌握这些工具。
•
• •
16
4. 模块定义和调用
模块定义
PROCEDURE 模块名(参数) … RETURE
模块调用
CALL模块名(参数) 数据定义 DECLARE 类型 变量名,… 其中,类型可以有:字符、整型、实型、双精度、 指针、数组及结构等类型。 5. 输入或输出 GET(输入变量表) PUT(输出变量表)
《软件工程(第2版)》陆惠恩主编
27
《软件工程(第2版)》陆惠恩主编
17
5.2 用户界面设计
5.2.1 用户界面设计问题 1. 系统响应时间 2. 用户帮助设施 3. 出错信息处理 4.命令交互 5.2.2 用户界面设计过程 用户界面设计是一个迭代的过程,一般步骤如下: 先设计和实现用户界面原型。 用户试用该原型,向设计者提出对界面的评价。 设计者根据用户的意见修改设计并实现下一级原型。 不断进行下去,直到用户满意为止。 5.2.3 用户界面设计的基本原则 (1)可靠性 (2)简单性 (3)易学习性和易使用性 (4)立即反馈性 5.2.4 用户界面设计指南 1.一般交互 2. 信息显示 3. 数据输入
法律
商法 公司法 股份公司法 合股公司法
《软件工程(第2版)》陆惠恩主编
320
325 3252 32524 32525 21
5.3.3代码设计方法
基本步骤如下: 1. 确定编码对象 2. 明确编码目的 3. 确定代码的个数 4. 确定代码使用范围和使用期限 5. 确定代码体系和代码位数 6. 确定编码规则 7. 编写代码 8. 编写代码词典
《软件工程(第2版)》陆惠恩主编
22
5.4 数据输入输出设计
5.4.1 输入设计 5.4.2 输出设计
《软件工程》陆惠恩主编
23
5.5 数据安全设计
软件系统发生的安全事故类型。 数据安全控制方法: 1.检查数据的正确性、完整性 2.检查用户使用权限 3.系统运行日志 4.监督检查违规行为 5.加密 6.数据安全受破坏时的措施