软件详细设计专题讲座.pptx

合集下载

软件设计概要讲义PPT(83张)

软件设计概要讲义PPT(83张)
自顶向下,逐步细化 软件结构(搭出一个大框架) 程序结构 结构图 模块化(模块化思想,把软件分成多个模块) 抽象(通过抽象完成模块之间对外的一个黑盒装置) 信息屏蔽和局部化 模块独立
三、软件设计的概念和原理
自顶向下,逐步细化将软件的体系结构按自顶向下方式,对各个层次的过程细节和数据细节逐层细化,直到用程序设计语言的语句能够实现为止,从而最后确立整个的体系结构。 软件结构 ①软件结构包括两部分。程序的模块结构和数据的结构。 ②软件的体系结构通过一个划分过程来完成。该划分过程从需求分析确立的目标系统的模型出发,对整个问题进行分割,使其每个部分用一个或几个软件成份加以解决,整个问题就解决了。
项目经理
负责分配设计任务,追踪设计阶段进度,在项目组内协调设计过程中所需资源,参与设计文档的同行评审
系统分析员
完成相关的设计任务,编写设计文档,修改设计评审中发现的问题
项目组开发人员代表
参与设计文档的同行评审
其他项目经理
参与设计文档的同行评审
其他项目系统分析员
参与设计文档的同行评审
质量保证员
检查设计过程及设计阶段产生的文档,跟踪发现的问题的解决情况
一、软件设计的目标和任务
1、目标 系统结构设计定义软件系统各主要成份之间的关系。 过程设计。把结构成份转换成软件的过程性描述。
开发阶段的信息流
把需求翻译成文档
2、软件设计的任务 概要设计(系统设计),将软件需求转化为数据结构和软件的系统结构。概要设计由技术总监,部门经理和项目经理来做的,有可能会加一两个核心程序员。
二维画图又分为以下CASE,案例,任务的集合
(2)数据抽象 在不同层次上描述数据对象的细节,定义与该数据对象相关的操作。 例如,在CAD软件中,定义一个叫做drawing绘图的数据对象。可将drawing规定为一个抽象数据类型,定义它的内部细节为:

第六讲-软件工程详细设计方法课件

第六讲-软件工程详细设计方法课件

二、详细设计的方法
n 采用自顶向下、逐步求精的程序设计方法 n 使用三种基本控制结构构造程序
(顺序、选择、重复) n 主程序员的组织形式
结构化程序设计技术是一种设计程序的技 术,它采用自顶向下逐步求精的设计方法 和单入口单出口的控制结构,并且只包含 顺序、选择和循环三种控制结构。
详细设计的方法
n 使用结构程序设计技术的好处: n 1)提高软件开发工程的成功率和生产率; n 2)系统有清晰的层次结构,容易阅读理解; n 3)单入口单出口的控制结构,容易诊断纠正; n 4)模块化可以使得软件可以重用;
PAD图的符号
PAD图的例子
PAD图
nPAD图的实例见p191页
n特点 : 结构清晰 , 支持结构化的程 计方法,有利于自动生成程序。
例子:
n 输入三个正整数作为边长,判断该三条边 构成的三角形是等边、等腰还是一般三角 形。请画出该程序的流程图、 N-S图、 PAD 图。
例子:
n
例子:
n
例子:
2. N-S图
nN-S图是由Nassi和Shneiderman提出 的一种符合结构化程序设计原则的图 形描述工具。也叫盒图。
N-S图
N-S图特点
(1)功能域(即某一个特定控制结构的作用域)有 明确的规定,并且可以很直观地从N-S图上看出 来; (2)它的控制转移不能任意规定,必须遵守结构化 程序设计的要求;
n
思考:
n 在数据A(1)~A(n)中求最大数和次大数.。
n 在数据A(1)~A(n)中求前m个最大的数。
4. 判定表
n当算法中包含多重条件选择时,用程 序流程图、 N-S图或PAD都不能清晰地 描述。用判定表确可以清晰表达复杂 条件与应做动作之间的关系。

《软件设计》课件

《软件设计》课件
灰盒测试
灰盒测试是介于黑盒测试和白盒测试之间的一种测试方法,它关注软 件的内部结构和外部功能,旨在发现潜在的问题和缺陷。
单元测试、集成测试、系统测试、验收测试
这些是常见的软件测试阶段,每个阶段都有不同的测试目标和测试方 法。
软件维护的概念与分类
软件维护定义
软件维护是指在软件交付后对其进行修改、完 善、升级和管理的过程。
软件设计的重要性
总结词
软件设计在软件开发过程中起着至关重要的作用,它决定了软件的质量、可维护性、可扩展性和用户 体验。
详细描述
软件设计是软件开发过程中不可或缺的一环,它决定了软件的质量和性能。一个好的软件设计可以提 高软件的可维护性和可扩展性,使软件更加健壮和灵活。同时,一个优秀的软件设计还能够提升用户 体验,使软件更加易用和友好。
软件架构的评估
评估指标
评估软件架构的指标包括可维护性、 可扩展性、性能、安全性和成本等。 这些指标应根据具体的业务需求和技 术环境进行权衡和取舍。
评估方法
评估软件架构的方法包括结构分析、 行为分析、质量属性分析和成本效益 分析等。评估方法应根据评估指标和 实际情况进行选择和应用。
04
数据库设计
数据库设计的概念
数据库设计是指根据特定应用的需求 ,制定出满足这些需求的数据库结构 的过程。
它包括对数据模型、表、视图、索引 、存储过程和触发器等的规划与实现 。
数据库设计的需求分析
需求分析是数据库设计的第一步,它要求对应用需求进行深入理解,并转化为对数据库的具体要求。
这一阶段需要收集和分析数据,确定数据类型、数据量、数据之间的关系以及数据操作频率等。
可以采用定性和定量评估方法, 如用户调查、专家评审、眼动实 验等。

《软件工程》教学CH3软件的系统设计详细设计PPT课件

《软件工程》教学CH3软件的系统设计详细设计PPT课件
详细设计的任务具体主要有如下五点。
(1) 确定每个模块的具体算法。
(2) 确定每个模块的内部数据结构及数据库的物理结构。
(3) 确定模块接口的具体细节。(即确定模块接口的详细 信息,包括模块之间的接口信息、模块与系统外部的接口信息 及用户界面等。)
(4) 为每个模块设计一组测试用例。
(5) 编写文档,参加复审。
由于N-S图中没有流程线,不可能随意转移控制,因而表 达出的程序结构必然符合结构化程序设计的思想,有利于培养 软件设计人员的良好设计风格。但当所描述的程序嵌套层次较 多时,不仅影响可读性而且不易修改。
IF条件
CASE条件
S1
T
F
值1 值2 … 值n
S2
S1
S2
CASE 1 CASE 2 部分 部分
这三种基本结构就可以实现任何单入口单出口的程序。但为了使用方便, 还允许有DO_UNTIL和DO_CASE两种控制结构。有时为了提前从循环 中跳出,还允许有BREAK结构。我们称只允许使用三种基本结构的为 经 典 的 结 构 化 程 序 设 计 ; 除 三 种 基 本 结 构 外 , 还 可 用 DO_UNTIL 和 DO_CASE的为扩展的结构程序设计;若再加上BREAK则称为修正的结
END FOR ② WHILE结构
WHILE 条件 循环体S
ENDWHILE
输入/输出语句 ① 输入语句:
GET(输入变量表) ② 输出语句:
PUT(输出变量表) 模块调用语句
CALL 模块名(参数)
5)判定表:当算法中包含多重嵌套的条件选择时使 用。表示复杂的条件组合与相应的动作适宜。
例3-1 行李问题。P55
(2) 程序流程图难以描述逐步求精的过程,容易导致程序员过早考 虑程序的控制流程,而忽略程序全局结构的设计。

软件工程第六章软件详细设计PPT课件

软件工程第六章软件详细设计PPT课件
一种类自然语言。结构化语言语法结构包括内外两层。 内部语法则比较灵活,可以使用数据字典中定义过的 词汇、易于理解的一些名词、运算符和关系符;外层 语法具有较固定的格式,设定一组符号如IF、THEN、 ELSE、DO WHILE…ENDWHILE、DO CASE…ENDCASE等,用于描述顺序、选择和重复 的控制结构。
3
6.1详细设计任务
6.1.1 详细设计的基本任务 1.数据结构设计 前面的需求分析、总体设计阶段,确定的 概念性的数据类型,要进行确切的定义。这一 部分的设计内容一般比较多,所以大多数采用 小型数据库辅助的方法。
4
2.物理设计 对数据库进行物理设计,即确定数据库的
物理结构。物理结构主要指数据库的存储记录 格式、存储记录安排和存储方法,这些都依赖 于具体所使用的数据库系统。
要评审。
10
6.1.2 详细设计方法
1.采用自顶向下、逐步求精的程序设计方法 在详细设计中,虽然处于“具体”设计阶段,但
在设计某个复杂的模块内部处理过程时,仍可以采用 逐步求精的方法。可以将其分解为若干个模块来实现, 降低处理细节的复杂度。
11
2.使用三种基本控制结构构造程序 设计时,如果对一个模块处理过程细化中,开始是模 糊的,可以用下面三种方式以模糊过程进行分解:
5
3.算法设计 在总体设计的结构完成后,结构各个环节
的实现是多解的。着就需要用系统设计与分析 的技术来描述。可以用某种图形、表格、语言 等工具将每个模块处理过程的详细算法描述出 来。
6
4.界面设计 用户界面的设计现在显得比较重要,可以
采用字符用户界面设计,图形用户界面和多媒 体人机界面设计。这就要结合具体的系统来处 理。
以上三种逻辑表达工具各有所长和不足,归纳 起来可以得出下列结论:

软件工程_6_详细设计.pptx

软件工程_6_详细设计.pptx

3. 出错信息处理
交互式系统的出错信息或警告信息,应该具有下 述属性:
(1) 信息应该使用用户可以理解的术语描述问题; (2) 信息应该提供有助于从错误中恢复的建设性 意见; (3) 信息应该指出错误可能导致哪些负面后果(例 如,破坏数据文件); (4) 信息应该伴随着听觉上或视觉上的提示,强 化出现异常; (5) 信息不能带有指责用户的内容。 当确实出现了问题的时候,有效的出错信息能提 高交互式系统的质量,减轻用户的挫折感。
直接影响用户对软件产品的评价,从而影响软 件产品的竞争力和寿命。
人机界面目前所占的工作量越来越大。
6.2.1 设计问题
在设计人机界面常会遇到下述4个问题: 系统响应时间 用户帮助设施 出错信息处理 命令交互
上述问题,最好在设计初期作为重要的设计问题 来考虑,这时修改比较容易,代价也低。
1. 系统响应时间
第6章 详细设计
6.1 结构程序设计 6.2 人机界面设计 6.3 过程设计的工具 6.4 面向数据结构的设计方法 6.5 程序复杂程度的定量度量 6.6 小结及作业
6.1 结构程序设计
结构程序设计的经典定义:“如果一个程序的 代码块仅仅通过顺序、选择和循环这3种基本控 制结构进行连接,并且每个代码块只有一个入口 和一个出口,则称这个程序是结构化的。”
6.3.2 盒图(N-S图)
6.3.2 盒图(N-S图)
出于要有一种不允许违背结构程序设计精神的 图 形 工 具 的 考 虑 , Nassi 和 Shneiderman 提 出 了 盒 图,又称为N-S图。它有下述特点:
(1) 功能域(即,一个特定控制结构的作用域) 明确,可以从盒图上一眼就看出来。
2. 用户帮助设施
几乎交互式系统的每个用户都需要帮助,大多数 现代软件都提供联机帮助设施,这使得用户无须离 开用户界面就能解决自己的问题。

软件工程--软件详细设计 ppt课件

软件工程--软件详细设计  ppt课件

3
PPT课件
2.物理设计 对数据库进行物理设计,即确定数据库的 物理结构。物理结构主要指数据库的存储记录 格式、存储记录安排和存储方法,这些都依赖 于具体所使用的数据库系统。
4
PPT课件
3.算法设计 在总体设计的结构完成后,结构各个环节 的实现是多解的。着就需要用系统设计与分析 的技术来描述。可以用某种图形、表格、语言 等工具将每个模块处理过程的详细算法描述出 来。
24
PPT课件
3、汇点 如果一个结点有两个和一个出口线,而且它不执 行任何运算,那么称为汇点, 图6--5( a)所示。由多 个入口线汇集到一点的情形可以用多个汇点的联结表 示。
25
图6--5 流程图中汇点表示
PPT课件

6.3.2三种基本控制结构 流程图在描述程序控制结构时的优点是直 观清晰、易于使用。 图6--6为流程图的三种基本控制结构。
20
PPT课件

上述三种描述加工逻辑的工具各有优缺点,对 于顺序执行和循环执行的动作,用结构化语言 描述;对于存在多个条件复杂组合的判断问题, 用判定表和判定树。
21
PPT课件
6.3结构化程序设计

6.3.1 结点

在软件工程中,用流程图程序描述客观存在的事物 特性。体现为描述程序控制结构和和指令执行情况, 这种对程序结构的控制的流程图程序是一个有向图。 图的基本元素是函数结点、谓词结点和汇点三种结 点。
[定理4] :若允许增加辅助变量、或增加额外计算、 或改变程序的执行顺序,问题解的任何算法都可以 表示为结构化构造。 图6—14(a)所示的结构化流程图中有10个元 素。是一个非结构化流程图程序。因为,它的两个 选择结构出现重合,造成了程序段D有两个入口, 一个出口,破坏了单入口单出口这项结构化原则。

软件工程详细设计PPT课件

软件工程详细设计PPT课件
(8) totalsum=totalsum+sum; (9) 读入字符串 (10) sum:=0; (11) totalsum=0;(12) pointer=1;
(13) pointer=pointer+1。 条件:I(1) 文件结束;I(2) 字符串结束;
S(3) 字符是空格。
41
图5.11 把操作和条件分配 a
i=0
N
i<9
Y
j=i+1
N
j < 10
Y
N
a[i] > a[j]
Y
a[i] a[j]
j ++
i ++
输出:a 结束
4
Y
b = b -a
开始
输入m,n a=m;b=n
a<>b?
Y
a<b?
N N
a=a-b
输出:a
结束
5
“辗转相截(减)法” 原理:
GCD( X , Y ) =
25
5.4.1 Jackson图
(1) 顺序结构 顺序结构的数据由一个或多个数据元素组成,每个元素按确定次序出现一次。
图5.5是表示顺序结构的Jackson图的一个例子。
26
图5.5 A由B、C、D 3个元素顺序组成
27
(2) 选择结构 选择结构的数据包含两个或多个数据元素,每次使用这个数据时按一定条件
42
统计空格seq 打开文件 读入字符串
totalsum∶=0 程序体iter until文件结束
处理字符串seq 印字符串seq 印出字符串 印字符串end sum∶=0 pointer∶=1
分析字符串iter until字符串结束 分析字符select字符是空格

软件工程详细设计【通用】.ppt

软件工程详细设计【通用】.ppt
第六章 详细设计
(Program Design)
精心整理
1
主要内容
详细设计的目标和任务(理解) 详细设计工具(应用) 程序复杂性的定量度量(理解) 人机界面设计(自学)
精心整理
2
软 件 定 义







时期期ຫໍສະໝຸດ 维 护 时 期问题定义 可行性研究 需求分析
系统设计 系统实现
系统分析
总体设计 详细设计 编码和单元测试 综合测试
3
精心整理
3
1 详细设计的目标和任务
从软件开发的工程化观点来看,在 使用程序设计语言编制程序以前, 需要对所采用算法的逻辑关系进行 分析,设计出全部必要的过程细节, 并给予清晰的表达。这就是详细设 计的任务。
4
精心整理
4
基本任务
◦ 回答的关键问题:“怎样具体地实现这个 系统”。
◦ 主要任务是设计出程序的“蓝图”,供程 序员日后根据这个蓝图编写出实际的程序 代码。
判定表用于表示程序的静态 逻辑。
在判定表中的条件部分给出 所有的两分支判断的列表, 动作部分给出相应的处理。
27
精心整理
27
判定表能够清晰地表示复杂的条件组合与应做 的动作之间的对应关系,而其它的工具不易表 示。
一张判定表由四部分组成,左上部列出所有条 件,左下部是所有可能做的动作,右上部是表 示各种条件组合的一个矩阵,右下部是和每种 条件组合相对应的动作。
(1)使用PAD图设计的程序必然是结构化程 序。
(2)PAD图描绘的程序结构十分清晰。
(3)用PAD图表现程序逻辑,易读、易懂、 易记。
22
精心整理
22

软件设计(详细设计)PPT课件

软件设计(详细设计)PPT课件

Case条件
Case1 Case2 … Casen
AB
N
c.多分支结构
循环条件 Do-While
部分
d.当型循环结构
Do-Until 部分
循环条件
e.直到型循环结构
A f.调用子程序A
图3.4 盒图的基本符号
F A
盒图例子
T B C D
A:
Case 1234 E FGH
(3) PAD图
PAD(Problem Analysis Diagram)是问题分析图。 日立公司发明和推广(1973)。
实用软件工程
第三章 软件设计 (详细设计)
第3章 软 件 设 计 软件设计通常分为两个阶段:总体设计阶段和详
细设计阶段。 总体设计
详细设计
详细3设.1计软的件基设本计任的务基本任务
详细设计是总体设计的进一步的具体化,主 要确定每个模块的具体执行过程,故也称为过程 设计。其基本任务有: (1).为每个模块进行详细的算法设计。 (2).为模块内的数据结构进行设计。 (3).对数据库进行物理设计 。 (4).界面设计。 (5).编写文档 (6).评审
打开数据库 SQL查询语句赋值 通过记录集对象打开SQL语句设定的记录
Y 记录集末端?
N 记数变量加1,输出记录字段值及图像
转跳下一记录 关闭数据库链接对象、记录集对象,并释放资源
输出记录数和提示 结束
程序流程图的缺点: 1)程序流程图本质上不是逐步求精的好工具,它诱
使程序员过早地考虑程序的控制流程,而不去考 虑程序的全局结构。
5)可用于表示程序逻辑,也可用于描绘数据结构; 6)PAD图的符号支持自顶向下、逐步求精的方法。
2)程序流程图中用箭头代表控制流,因此程序员不 受任何约束,可以完全不顾结构程序设计的精神, 随பைடு நூலகம்转移控制。

软件工程第六章详细设计学生课件(完)

软件工程第六章详细设计学生课件(完)

数据显示界面设计
• 采用统一的标号、标准的缩写和预先定义好的颜色 • 仅显示与当前上下文有关的信息 • 相关的数据显示在一起
• • • •
避免因数据过于费解造成的用户烦恼 允许用户对可视环境进行维护,如放大、缩小图像 只显示有意义的出错信息 使用大小写、缩进和文本分组以帮助理解
6.3过程设计的工具
用判定表表示计算行李费的算法
6.3.5 判定树
实例1:风景区门票折扣量算法判定树 定票量<=20 —— 5% 定票量>20 —— 15% 定票量<=20 —— 20% 定票量>20 —— 30%
折扣量 算法
旅游时间 7-9,12 月 旅游时间 1-6,10-11月
练习:“基本奖金计算”的判定树 练习:用判定树计算行李费的算法
• • • • • • • • • • • 例:工资系统中的“计算应发工资” 这个加工在数据字典中的条目描述 数据加工名称:计算应发工资 加工编号:1.2 说明:根据职工的工资档案及本月奖金发放表数据计算每个职工的应发工资 输入数据流:奖金发放表及工资档案 输出数据流:应发工资表 加工逻辑:DO WHILE工资档案文件指针未指向文件尾 从工资档案中取出当前职工工资的各项基本数据进 行累加 在奖金发放表中按职工号查找到该职工的奖金数 对奖金数与工资基本数据的累计和进行求和得到 该职工的应发工资数 ENDDO
• •
6.6.4 判定表
• 实例1:某风景区门票预定价格折扣执行如下规定:在旅游季 节(7,8,9,12月),如订票量小于等于20张,折扣为5%; 订票量大于20张,折扣为15%;在非旅游季节,如订票量小于 等于20张,折扣为20%;订票量大于20张,折扣为30%。
旅游时间

关于软件的总体设计与详细设计.ppt

关于软件的总体设计与详细设计.ppt

2.1.4 总体设计中的模块划分
➢ 2.模块的内聚强度 ➢ 内聚按强度从低到高有以下几种类型: ➢ (1)偶然内聚 ➢ 如果一个模块的各成分之间毫无关系,则称为偶然内聚。 ➢ (2)逻辑内聚 ➢ 几个逻辑上相关的功能被放在同一模块中,则称为逻辑内聚。如一个
模块读取各种不同类型的外设输入,尽管逻辑内聚比偶然内聚合理一 些,但逻辑内聚的模块各成分在功能上并无关系,即使局部功能的修 改有时也会影响全局,因此对这类模块的修改也比较困难。 ➢ (3)时间内聚 ➢ 如果一个模块完成的功能必须在同一时间内执行(如系统初始化); 但这些功能只是因为时间因素关联在一起,则称为时间内聚;
2.1.4 总体设计中的模块划分
➢ 1.模块划分的策略 ➢ 一个大的软件系统的所有功能不可能都用一个模块来实现,人的处理
能力也限制了模块不能太大太复杂。将一个大的软件系统,用几个模 块来协作实现,每个模块实现一部分功能,保证每个功能都用相应的 模块来实现,将系统划分成模块就是把大的复杂的问题分解成许多容 易解决的小问题,这就是大事化小、分而治之的思想,是人类对待复 杂问题时采用的应对策略。 ➢ 究竟将系统划分成几个模块才好?哪些功能放在一个模块内较好?模 块间如何组合成系统?模块间的调用关系是什么样的?模块间传递的 信息及其结构如何?模块如何与用户界面相关?这些都是与模块划分 相关的问题,是模块划分必须解决的问题,是设计阶段的难点,模块 划分的好坏决定了系统设计的质量。不幸的是,虽然有许多指导如何 进行模块划分的原则方法,但模块划分最终还是依赖于设计者个人的 经验和能力,是设计者综合素质的体现。模块的好坏没有绝对的标准, 一般来说模块设计追求高内聚、低耦合。也就是选定一种体系结构, 能从宏观上将系统划分成多个高内聚、低耦合的模块。

软件工程课件:软件详细设计

软件工程课件:软件详细设计

软件详细设计
当具有往解的方向更进一步细化的方法,且不断重复该 步骤即能解决问题,最终达到完全解,则应该采用循环的求 精技术(构造循环)。这时一定要弄清循环的初始条件、结束 条件和有限进展的每一步都是什么。
当问题的某步解法与前边高层次的某步解法具有相同性 质,只是某些参数不同时,可采用递归的求精技术。这时应 注意递归的参数变化规律以及递归出口。
软件详细设计
总体设计是详细设计的基础,必须经复查确认后才可以 开始详细设计。总体设计的重点是确定构成系统的模块及其 之间的联系,详细设计则是根据总体设计提供的文档,对各 模块给出详细的过程性描述及其他具体设计等。
在程序过程设计阶段,要决定各个模块的实现算法,并 精确地表达这些算法。表达程序处理过程的工具叫做详细设 计工具,也称作程序算法设计工具。它可以分为以下三类:
软件详细设计
4.2.1 黄金规则 1997年,Theo Mandel在其关于界面设计的著作中提出
了三条用于用户界面设计的“黄金规则”: • 置用户操作于控制之下; • 减少用户的记忆负担; • 保持界面一致。
软件详细设计
1.置用户操作于控制之下 (1) 以不强迫用户进入不必要的或不希望的动作的方式 来定义交互方式。交互模式是界面的当前状态。例如,用户 在字处理菜单中选择拼写检查,软件将转移到拼音检查模式。 如果用户在这种情况下又希望进行一些文本编辑,则没有理 由强迫用户停留在拼写检查模式,用户能够几乎不需做如何 动作就进入和退出该模式。
软件详细设计
(2) 提供灵活的交互方式。不同用户有不同的偏好,界 面中应该给用户提供不同的选择。例如,允许用户通过键盘 命令、鼠标移动、多触摸屏或语音识别命令等方式进行交互。
(3) 用户交互可以被中断和撤消。当陷入到一系列动作 之中时,用户应该能够中断动作序列去做某些其他事情。用 户应该能够“撤销”任何动作。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
设计的原理和设计决策信息。。
常见软件架构视图
1. 逻辑视图 2. 开发视图 3. 部署视图 4. 进程视图 5. 场景视图 6. 数据视图 7. 实现视图
”4+1”模式
逻辑视图
开发视图
场景视图
进程视图
部署视图
逻辑视图
面向对象:客户/用户/开发组织管理者。 视角:系统的功能元素,以及它们的接口、职




通讯扫描模块

生数


终端
据区 事项 缓冲
讯 规 约
原始数 据区
备 对 象
终端



终端
部署视图
也称物理视图 面向对象:系统集成商/系统运维人员 视角:系统逻辑组件到物理节点的物理部署、
节点之间的物理网络配置 主要元素:物理节点以及节点的通讯 用途:指导系统采购以及网络、节点布局
遥控合闸 遥控分闸
传输适配器
部署视图样例三
监 监五控 防 控主系 系 机 统 统
请求五防判断、 遥控解闭锁
监 监 监控控 控主机系 系统 统
遥 遥遥控 控 控闭闭 闭锁装 锁 锁置装 装置 置
交换机
保 保保护 护 护测测 测 控装控 控置 装 装置 置
控制电源
BSJ DBMS
YKHJ YKTJ
遥控合闸 遥控分闸
进程&系统自 重启
动态进程
未知进程
静态进程
基本进程
开发视图样例五
数据库专用平台
CIM数据库编辑服务
GDA数据库通用访问接口 传播函数
ORACLE数据库
数据 文件
数据 文件
数据 文件
监控
防误
内存数据库
前置
开发视图样例六
数据处理
分布网络对象管理

链路监控模块
置 子
数据传递 模块
路由模块




线路状态机
Solaris UNIX HP-UX UNIX Tru64 UNIX AIX UNIX Windows Linux
Sun
HP
IBM
PC
逻辑视图样例二 软件结构图
图形文件
防误界面
监控界面
GDA
防误服务器
前置服务器
监控服务器







映射

HIS
防误实时库
前置实时库
监控实时库
监控数据表 防误数据表 ORACLE数据库
软件架构的实际意义
做正确的架构 正确的表达架构 让别人能遵守架构
软件架构视图
单一的视图无法完整的表达架构,因此需要具备完整 的视图集。
软件架构视图是从特定的视角出发,专注于该视角系 统的结构、模块划分、基本组件职责和主要控制流。
软件架构视图的四要素:
图示化主要元素和元素之间的关系。 具有明确的图例、定义和说明元素。 每个元素具备明确的接口和行为规范。


O

R

B


O

R

B



客户方
服务方
开发视图样例三
复制数据库技术架构
数据操作 数据复制管理
客户应用 数据操作 数据复制请求
数据复制服务队列
数据复制处理
Cache
主内存库
备内存库
开发视图样例四
进程和服务管理
数据库生成器
进程配置文件
进程数据库
进程管理 服务进程
进程监控进程
进程管理API
网络对象管理 软件包
责、交互等。 主要元素:系统、子系统、功能模块、子功能
模块、接口 用途:开发组织划分,成本/进度评估
逻辑视图样例一
系统框架图
防误
操作界面
历史数据 查询
监控
历史数据 查询
操作界面
WEB浏览
报表系统
监控五防一体化系统
图形管理 前置通讯 系统诊断维护 打印管理 权限管理
基于IEC61970CIM/CIS的数据库中间件平台 通用平台(基于扩展CORBA核心中间件)
开发视图样例一
Client
远程过程调用
Server
远程过程调用
复制数据库技术 分布式对象管理
节点通信管理 通信路径管理
通 用 平 台
ORB core
复制数据库技术 分布式对象管理
节点通信管理 通信路径管理
操作系统封装层
操作系统封装层
各种操作系统 各种硬件
各种操作系统 各种硬件
开发视图样例二 对象请求代理ORB
软件架构是一种无法以简单的一维方式进行说明的复 杂实体。
软件架构(software architecture)是一系列相关 的架构视图,用于指导大型软件系统各个方面的设计。
多重软件架构视图之所以必不可少,是因为各类型人 员(用户、开发人员、测试人员、维护人员、操作人 员)需要从各自的角度理解和使用架构。
数据处理服务器 数据保存服务器 追忆处理服务器 限值加载服务器
库更新服务器
SCADA数据处理子系统
WEB浏览子系统 PAS应用子系统 监控人机交互界面 控制服务器
SCADA关系数据库
主内存库
数据库 通讯服务
备内存库
防误子系统
前置通讯子系统
远程终端设备
逻辑视图样例五




统 结
防误关系数据库


防误数据服务器
数据编辑服务 统一数据编辑工具
逻辑视图样例三
数据编 辑工具


通讯服务器


主内存库

链路扫描器

通讯规约库


设备对象库
远程终端设备
调试界面
数据库 通讯服务
通讯服务器 备内存库
链路监控
链路扫描器
通讯规约库
设备对象库
后台 服务
远程终端设备
链路监控
后台 服务
监 控 子 系 统 结 构 图
逻辑视图样例四
防误数据处理子系统
主内存库
数据库 通讯服务
监控系统
防误人机交互界面
备内存库
前置通讯子系统
远程终端设备
开发视图
面向对象:开发相关人员/测试人员 视角:系统如何开发实现 主要元素:描述系统的层、分区、包、框架、
系统通用服务、业务通用服务、类和接口、系 统平台和相关基础框架 用途:指导开发设计和开发实现
部署视图样例四
监监 监 控五控 控防系 主 系机统 统
传输适配器
遥 遥遥控 控 控闭闭 闭锁装 锁 锁置装 装置 置
控制电源
BSJ DBMS
交换机
保 保保护 护 护测测 测 控装控 控置 装 装置 置
YKHJ YKTJ
部署视图样例一
部署视图样例二
监监 控 监防控 控 误主 系 系机统 1统
请求五防判断、 遥控解闭锁
监控 监 监防控 控 误主系 系 机2统 统
传输适配器
交换机
遥 遥遥控 控 控闭闭 闭 锁装 锁 锁置装 装置 置
保 保 保护 护 护测测 测 控装控 控 置 装 装置 置
控制电源
BSJ DBMS
YKHJ YKTJ
软件详细设计
讲座
主讲人:
内容
第一部分:软件架构 第二部分:软件设计
第一部分
软件架构
内容
需求/架构/设计关系
招标文件
计划和架构 设计阶段
发现评审
需求分析 架构设计 概要设计
架构评审
详细设计
软件架构定义
什么是架构?如果你问五个不同的人,可能会得到五 种不同的答案。
很多人都试图给“架构”下定义,而这些定义本身却 很难统一。
相关文档
最新文档