软件详细设计专题讲座

合集下载
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

进程&系统自 重启
动态进程
未知进程
静态进程
基本进程
开发视图样例五
数据库专用平台
CIM数据库编辑服务
GDA数据库通用访问接口 传播函数
ORACLE数据库
数据 文件
数据 文件
数据 文件
监控
防误
内存数据库
前置
开发视图样例六
数据处理
分布网络对象管理

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




线路状态机
number(10) varchar2(32) varchar2(64) number(10) varchar2(32)
f_dispatcher
c_dispatcherid number(10)
c_dispatcher
varchar2(32)
c_dispatcherdesc varchar2(64)
责、交互等。 主要元素:系统、子系统、功能模块、子功能
模块、接口 用途:开发组织划分,成本/进度评估
逻辑视图样例一
系统框架图
防误
操作界面
历史数据 查询
监控
历史数据 查询
操作界面
WEB浏览
报表系统
监控五防一体化系统
图形管理 前置通讯 系统诊断维护 打印管理 权限管理
基于IEC61970CIM/CIS的数据库中间件平台 通用平台(基于扩展CORBA核心中间件)

根据操作票和被控设备的操作属性进行倒闸操作






电动设备操作(远方操作)

五防解锁成功后自动切换到监控
手动设备操作(就地操作)




始 终
中止操作?
中止
自 动

不中止

最 顶
没结束

操作结束?
中止操作


结束


操作结束
切换到监控系统
数据视图
面向对象:数据架构师/开发相关人员 视角:系统数据模型以及数据存储/存取方式 主要元素:
面向对象:性能优化/开发相关人员 视角:系统运行时线程/进程的情况 主要元素:系统进程/线程以及处理队列等 用途:指导系统进程/线程分布
进程视图样例
hisWrite
EAsave
关系数据库
scadaUpd
hisStat
hisDel
hisBak
rhmd
scadaSave RECServer LmtServer SSMServer PDRServer scadaServer CtrlServer

摄像机
防误系统
监控系统
遥视系统
WEB服务器
防火墙
MIS系统
WEB子系统
部署视图样例二
监监 控 监防控 控 误主 系 系机统 1统
请求五防判断、 遥控解闭锁
监控 监 监防控 控 误主系 系 机2统 统
传输适配器
交换机
遥 遥遥控 控 控闭闭 闭 锁装 锁 锁置装 装置 置
保 保 保护 护 护测测 测 控装控 控 置 装 装置 置
c_dispaddtime date
c_dispmodifytime date
c_dispatcherpwd varchar2(32)
c_dispgroupid number(10)
c_dispstations varchar2(256)
c_dispstation_nos varchar2(128)
f_disppermission
c_disp_id c_dispatcherid c_roleid c_hostname c_disp_scn
number(10) number(10) number(10) varchar2(32) number(10)
f_role
c_roleid number(10) c_rolename varchar2(32) c_roledesc varchar2(64) c_login number(10) c_modify number(10) c_operate varchar2(128) c_aopmask number(10)
软件架构的实际意义
做正确的架构 正确的表达架构 让别人能遵守架构
软件架构视图
单一的视图无法完整的表达架构,因此需要具备完整 的视图集。
软件架构视图是从特定的视角出发,专注于该视角系 统的结构、模块划分、基本组件职责和主要控制流。
软件架构视图的四要素:
图示化主要元素和元素之间的关系。 具有明确的图例、定义和说明元素。 每个元素具备明确的接口和行为规范。
数据处理服务器 数据保存服务器 追忆处理服务器 限值加载服务器
库更新服务器
SCADA数据处理子系统
WEB浏览子系统 PAS应用子系统 监控人机交互界面 控制服务器
SCADA关系数据库
主内存库
数据库 通讯服务
备内存库
防误子系统
前置通讯子系统
远程终端设备
逻辑视图样例五




统 结
防误关系数据库


防误数据服务器
f_hosts
f_privs
c_host_id c_host_name c_host_desc c_host_stations c_host_station_nos
number(10) varchar2(32) varchar2(64) varchar2(256) varchar2(128)
c_privs_id c_privs_name c_privs_desc c_privs_pos c_privs_class
接口
接口
接口
接口 接口
存票 票打印 接口 接口
启动操作界面 输入密码 图形开票 开始开票 开票结束 传票
传票成功
密码错误
暂存/典型/预存 存票成功
操作票打印 打印成功
场景视图样例二
接受操作命令
系统启动、登录, 切换至防误系统
开倒闸操作票
多任务并行操作
操作票模拟预演

传操作票,进入

倒闸操作




防误数据处理子系统
主内存库
数据库 通讯服务
监控系统
防误人机交互界面
备内存库
前置通讯子系统
远程终端设备
开发视图
面向对象:开发相关人员/测试人员 视角:系统如何开发实现 主要元素:描述系统的层、分区、包、框架、
系统通用服务、业务通用服务、类和接口、系 统平台和相关基础框架 用途:指导开发设计和开发实现
EAServer avcServer protServer antiServer
主内存库 主内存库 主内存库 主内存库
主内存库
commServer
dbcsd
备内存库 备内存库 备内存库 备内存库 备内存库 commpath
ea_replica ead_rep scadaDup
scadaServer -rep antiServer -rep protServer -rep avcServer -rep commServer -rep
数据编辑服务 统一数据编辑工具
逻辑视图样例三
数据编 辑工具


通讯服务器


主内存库

链路扫描器

通讯规约库


设备对象库
远程终端设备
调试界面
数据库 通讯服务
通讯服务器 备内存库
链路监控
链路扫描器
通讯规约库
设备对象库
后台 服务
远程终端设备
链路监控
后台 服务
监 控 子 系 统 结 构 图
逻辑视图样例四
RAC模式
数据视图样例二
100/1000
Βιβλιοθήκη Baidu
HUB/SWITCH
共享SCSI总线
数据库服务器
数据库服务器 磁盘阵列
HA模式
数据视图样例三
100/1000 HUB/SWITCH
数据库服务器
数据库服务器 100/1000 共享磁盘
数据视图样例四 DataGuard模式
100/1000
日志发送
HUB/SWITCH
nomsd
Procmd nmlad
delsd
场景视图
也称用例视图 面向对象:设计和开发人员 视角:囊括了架构上最重要的场景(最典型或
最有风险)及其非功能性需求,通过这些场景 的实现,阐明了架构的广度或众多架构元素的 运行方式。
场景视图样例一
操作员
弹出登录窗 密码校验 图形开票 操作项生成 开票结束 传票
设计的原理和设计决策信息。。
常见软件架构视图
1. 逻辑视图 2. 开发视图 3. 部署视图 4. 进程视图 5. 场景视图 6. 数据视图 7. 实现视图
”4+1”模式
逻辑视图
开发视图
场景视图
进程视图
部署视图
逻辑视图
面向对象:客户/用户/开发组织管理者。 视角:系统的功能元素,以及它们的接口、职
BSJ DBMS
YKHJ YKTJ
遥控合闸 遥控分闸
部署视图样例四
监监 监 控五控 控防系 主 系机统 统
传输适配器
遥 遥遥控 控 控闭闭 闭锁装 锁 锁置装 装置 置
控制电源
BSJ DBMS
交换机
保 保保护 护 护测测 测 控装控 控置 装 装置 置
YKHJ YKTJ
遥控合闸 遥控分闸
进程视图
系统的核心实体模型以及相应的数据存储模型和存 储方式
系统的数据存储相关策略 系统核心的数据流
数据视图样例一
f_workgroup
c_workgroupid number(10) c_workgroupname varchar2(32) c_workgroupdesc varchar2(64)
设计金字塔
价值观 设计原则 设计模式 设计的实现
可维护性 可复用性
性能
开闭原则 单一性原则
具体采用哪 种设计模式
设计语言 设计思想
关注软件维护成本
软件系统维护工作量所占比重超乎想象!!!
COST(total)=
COST(develop)+COST(maintain)
COST(maintain)=
控制电源
BSJ DBMS
YKHJ YKTJ
遥控合闸 遥控分闸
传输适配器
部署视图样例三
监 监五控 防 控主系 系 机 统 统
请求五防判断、 遥控解闭锁
监 监 监控控 控主机系 系统 统
遥 遥遥控 控 控闭闭 闭锁装 锁 锁置装 装置 置
交换机
保 保保护 护 护测测 测 控装控 控置 装 装置 置
控制电源


O

R

B


O

R

B



客户方
服务方
开发视图样例三
复制数据库技术架构
数据操作 数据复制管理
客户应用 数据操作 数据复制请求
数据复制服务队列
数据复制处理
Cache
主内存库
备内存库
开发视图样例四
进程和服务管理
数据库生成器
进程配置文件
进程数据库
进程管理 服务进程
进程监控进程
进程管理API
网络对象管理 软件包
软件详细设计
讲座
主讲人:
内容
第一部分:软件架构 第二部分:软件设计
第一部分
软件架构
内容
需求/架构/设计关系
招标文件
计划和架构 设计阶段
发现评审
需求分析 架构设计 概要设计
架构评审
详细设计
软件架构定义
什么是架构?如果你问五个不同的人,可能会得到五 种不同的答案。
很多人都试图给“架构”下定义,而这些定义本身却 很难统一。
部署视图样例一
以太网 以太网
大屏幕或 模拟屏
报表 工作站
NTP 卫星钟
打印机 等外设
视频联动
以太网
电脑 钥匙
监控/防误主机
遥控闭锁 控制器
通讯总控 单元
物理隔离
遥视主机 以太网
锁具
系统总线
以太网/RS485
视频
服务器

遥控闭锁继电器
控制电源
YKBSJ
DBMS

测控单元 YKHJ
遥控合闸 YKTJ
遥控分闸
开发视图样例一
Client
远程过程调用
Server
远程过程调用
复制数据库技术 分布式对象管理
节点通信管理 通信路径管理
通 用 平 台
ORB core
复制数据库技术 分布式对象管理
节点通信管理 通信路径管理
操作系统封装层
操作系统封装层
各种操作系统 各种硬件
各种操作系统 各种硬件
开发视图样例二 对象请求代理ORB




通讯扫描模块

生数


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



终端
部署视图
也称物理视图 面向对象:系统集成商/系统运维人员 视角:系统逻辑组件到物理节点的物理部署、
节点之间的物理网络配置 主要元素:物理节点以及节点的通讯 用途:指导系统采购以及网络、节点布局
监控机 数据库服务器
数据库服务器
总结
架构设计以多视图的模式呈现 多视图的目的是为了指导不同的团队思维和实
现 多视图是分而治之的 多视图可以并行 多视图可以组合
第二部分
软件设计
内容
内容
1. 软件设计金字塔 2. 软件设计的价值观 3. 优秀设计遵循的原则 4. 破窗效应和技术债务 5. 代码的坏味道 6. 重构技术
软件架构是一种无法以简单的一维方式进行说明的复 杂实体。
软件架构(software architecture)是一系列相关 的架构视图,用于指导大型软件系统各个方面的设计。
多重软件架构视图之所以必不可少,是因为各类型人 员(用户、开发人员、测试人员、维护人员、操作人 员)需要从各自的角度理解和使用架构。
Solaris UNIX HP-UX UNIX Tru64 UNIX AIX UNIX Windows Linux
Sun
HP
IBM
PC
逻辑视图样例二 软件结构图
图形文件
防误界面
监控界面
GDA
防误服务器
前置服务器
监控服务器







映射

HIS
防误实时库
前置实时库
监控实时库
监控数据表 防误数据表 ORACLE数据库
相关文档
最新文档