第四讲 软件体系结构描述(一) 刘玮 2017/3/20.

Slides:



Advertisements
Similar presentations
說 劍 《莊子‧雜篇》─ 第 一 組 賴泊錞 謝孟儒 張維真 羅苡芸
Advertisements

第六 章数据库访问页 6.1 数据访问页视图 6.2 创建数据访问页 6.3 编辑数据访问页 6.4 查看数据访问页 退出.
6 Copyright © Oracle Corporation, All rights reserved. 维护控制文件.
第三章 数据类型和数据操作 对海量数据进行有效的处理、存储和管理 3.1 数据类型 数据源 数据量 数据结构
管理信息系统 第10章 UML和统一软件开发过程.
基于解释性语言的手机跨平台架构 Sloan Yi. Qt MTK.
第三篇 组织工作.
普通高等教育“十一五”国家级规划教材 信息系统分析与设计 刘腾红 孙细明 主编 科 学 出 版 社.
全国计算机等级考试 二级基础知识 第二章 程序设计基础.
在PHP和MYSQL中实现完美的中文显示
施耐德电气(中国)投资有限公司 运动控制部技术经理 李幼涵 高级工程师
Hadoop I/O By ShiChaojie.
石振莲 软件学院 可视化建模与UML 石振莲 软件学院
SVN的基本概念 柳峰
第二讲 搭建Java Web开发环境 主讲人:孙娜
面向对象建模技术 软件工程系 林 琳.
R in Enterprise Environment 企业环境中的R
UML工具 --8种优秀的UML工具.
如何寫工程計畫書 臺北市童軍會考驗委員會 高級考驗營 版.
6.4 Notification 通知栏.
存储系统.
SOA – Experiment 3: Web Services Composition Challenge
UML及软件建模 主讲人 :李 唯 1.
软件设计工具 Software design tool
管理信息结构SMI.
SQL Injection.
第11章:一些著名开源软件介绍 第12章:服务安装和配置 本章教学目标: 了解当前一些应用最广泛的开源软件项目 搭建一个网站服务器
Visual Studio Team System 简介
第一单元 初识C程序与C程序开发平台搭建 ---观其大略
第十章 IDL访问数据库 10.1 数据库与数据库访问 1、数据库 数据库中数据的组织由低到高分为四级:字段、记录、表、数据库四种。
UML介绍.
第17章 网站发布.
任务1 UML概述 任务2 UML静态建模 任务3 UML动态建模
第二章 Java语言基础.
单元测试工具XUnit 任课老师:黄武 下午2时20分 25.
数据挖掘工具性能比较.
PaPaPa项目架构 By:Listen 我在这.
DevDays ’99 The aim of this mission is knowledge..
宁波市高校慕课联盟课程 与 进行交互 Linux 系统管理.
实验1 信息系统分析与设计工具安装.
程序设计工具实习 Software Program Tool
SOA – Experiment 2: Query Classification Web Service
编程作业3:网页正文抽取 (10分).
C++语言程序设计 C++语言程序设计 第七章 类与对象 第十一组 C++语言程序设计.
解决变化问题的自底向上 流程建模方法 严志民 徐玮.
内容摘要 ■ 课程概述 ■ 教学安排 ■ 什么是操作系统? ■ 为什么学习操作系统? ■ 如何学习操作系统? ■ 操作系统实例
C语言程序设计 主讲教师:陆幼利.
EBNF与操作语义 请用扩展的 BNF 描述 javascript语言里语句的结构;并用操作语义的方法描述对应的语义规则
简单介绍 用C++实现简单的模板数据结构 ArrayList(数组, 类似std::vector)
第四章 团队音乐会序幕: 团队协作平台的快速创建
VisComposer 2019/4/17.
项目二:HTML语言基础.
UML组件图与部署图 【学习目标】  ·什么是组件图 ·什么是部署图 ·如何建模组件图与部署图.
本节内容 Win32 API中的宽字符 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群 : 联系电话:
JSP实用教程 清华大学出版社 第2章 JSP运行环境和开发环境 教学目标 教学重点 教学过程 2019年5月7日.
iSIGHT 基本培训 使用 Excel的栅栏问题
第八章 总线技术 8.1 概述 8.2 局部总线 8.3 系统总线 8.4 通信总线.
Chapter 18 使用GRASP的对象设计示例.
Visual Basic程序设计 第13章 访问数据库
魏新宇 MATLAB/Simulink 与控制系统仿真 魏新宇
OpenStack vs CloudStack
GIS基本功能 数据存储 与管理 数据采集 数据处理 与编辑 空间查询 空间查询 GIS能做什么? 与分析 叠加分析 缓冲区分析 网络分析
UML世界的构成 《UML面向对象建模基础》.
基于列存储的RDF数据管理 朱敏
C++语言程序设计 C++语言程序设计 第一章 C++语言概述 第十一组 C++语言程序设计.
本节内容 动态链接库 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群 : 联系电话:
ATM自动取款机系统 一、 需求分析 二、系统用例模型 三、系统动态模型 四、创建系统包图 五、系统类模型 六、系统部署.
本节内容 进程 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群 : 联系电话:
UML建模案例库之 图书管理系统建模实例.
学习数据结构的意义 (C语言版) 《数据结构》在线开放课程 主讲人:李刚
Presentation transcript:

第四讲 软件体系结构描述(一) 刘玮 2017/3/20

大纲 标准建模语言UML 体系结构和UML 基于UML的B/S构架描述

UML 简介 统一建模语言UML(Unified Modeling Language)是一种绘制软件蓝图的标准语言。 它是一种富有表达力的语言,使用图形和文字来传递信息,可以描述开发所需要的各种视图。

UML能为我们做什么 UML可以做软件需求分析 UML可以做软件开发设计

UML的发展和工具 UML 1.0是在1997年完成 UML 2.0是在2004年完成 UML还在不断的完善和发展中 Rational Rose MagicDraw PowerDesigner MS Visio ArgoUML StarUML

UML概要 模型元素 关系 扩展的机制 图表

模型元素 结构元素 类,接口,协作,用例,活动类,构件 行为元素 交互, 状态机 组元素 包, 子系统 其它元素 符号

关系 依赖 关联 一般化 实现

扩展机制(1) 构造型(套用类型) 构造型用双尖括号内的文字字符串表示 构造型的信息内容和形式与已存在的基本模型元素相同,但是含义和使用不同 如《元类》 例如,商业建模领域的建模者希望将商业对象和商业过程作为特殊的建模元素区别开来,这些元素的使用在特定的开发过程中是不同的。

扩展机制(2) 标记值(特征值) 约束(对象约束语言 , OCL) 标记值是一个标记字符串和一个值字符串—存储着有关元素的一些信息 标记是建模者想要记录的一些特性的名字,而值是给定元素的特性的值。 约束(对象约束语言 , OCL) 约束是用文字表达式表示的语义限制 约束可以表示不能用 UML 表示法来表示的约束和关系 约束用大括弧内的字符串表达式表示。 约束可以附加在表元素、依赖关系,或注释上 O(1)是常数时间

模型,视图,和图表 模型是对 一个系统 从详细观 察的角 度的 描述 State Diagrams 类图 Use Case Diagrams 用例图 State Diagrams 对象图 Use Case Diagrams 时序图 Scenario Diagrams 协作图 State Diagrams 组件图 模型 Scenario Diagrams 状态图 Component Diagrams 分布图 活动图

图表 图表是模型的视图 在UML中,有九种标准图表 提供了系统的局部详细描述; 和别的视图保持语义一致; 静态视图: 用例图, 类图,对象图,构件图, 部署图 动态视图: 时序图,协作图,状态图,活动图

用例图 捕获系统中用户能够看见的功能 在开发过程的早期创建 目的: 由分析人和领域专家开发 详细说明系统的表达含义; 捕获系统的需求; 验证系统的体系结构; 驱动实现和生成测试用例。 由分析人和领域专家开发

用例图实例(1)

用例图实例(2) 超市信息管理系统总体用例图

类图 捕获系统的词汇表 类图表示不同的实体(人、事物和数据)之间的关系;换句话说,它显示了系统的静态结构。 目的 系统中的名字和模型概念 详细描述协作关系 由分析人员、设计人员和代码实现人员开发

类图实例

对象图 捕获实例和连接 在分析和设计阶段创建 目的 举例说明数据/对象结构 详细描述瞬态图 由分析人员、设计人员和代码实现人员开发

对象图

包图 包图能将复杂系统拆分成多个简单的系统。 包 依赖 Name

包图实例(1) A D E F G C B

包图实例(2) b a b.a a.A b.b.D b.b.E b.a.F b.a.G a.C a.B b.b

构件图 一般来说,软件组件就是一个实际文件,可以是源代码文件、二进制代码文件和可执行文件等 可以用来显示编译、链接或执行时构件之间的依赖关系 作为体系结构规范的一部分实现 目的 组织源代码 构造一个可执行的发布版本 指定物理数据库 由集成人员和程序人员创建

构件图实例(1)

构件图实例(2) 动态链接库

部署图 捕获系统硬件的拓扑结构 配置图显示系统运行时刻的结构,显示系统不同的组件在何处物理地运行,以及它们将如何彼此通信 作为系统结构规范的一部分被创建 目的 描述组件的分布 标识系统性能瓶颈 由集成人员、网络工程师和系统工程师开发

部署图 老师在线答疑系统部署图

顺序图 捕获系统动态行为(面向时间的) 用来描述对象之间动态的交互关系,着重体现对象间消息传递的时间顺序。 顺序图存在两个轴:水平轴表示不同的对象,垂直轴表示时间。 顺序图中的对象用一个带有垂直虚线的矩形框表示,并标有对象名和类名。垂直虚线是对象的生命线,用于表示在某段时间内对象是存在的。对象间的通信通过在对象的生命线间画消息来表示。 目的 模型流程的控制 举例说明典型的脚本

顺序图 学生登陆系统顺序图

协作图 捕获系统动态行为(面向关联的) 协作图用于描述相互合作的对象间的交互关系和链接关系。 虽然顺序图和协作图都用来描述对象间的交互关系,但侧重点不一样。顺序图着重体现交互的时间顺序,协作则着重体现交互对象间的静态链接关系。 目的 模型流程控制 举例说明对象结构和控制的协调

协作图实例 学生登陆协作图

协作图实例(2)

状态图 捕获系统动态行为(面向事件的) 状态图表示某个实体所具有的不同状态和状态转移时的触发条件。 描述一个实体基于事件反应的动态行为 目的 对象生命周期模型 为起反作用的对象(用户接口、设备等)建模

状态图 复合状态

活动图 捕获动态行为(面向活动的) 是任何系统活动以及活动之间数据流或判断的可视表示 用来描述工作的流程,对并行的工作流程能很好的支持 目的 给商业工作流建模 给操作建模

活动图实例(1) 老师登陆系统

活动图实例(2)

UML中几个图的关系 活动图 状态图 用例图 类图(简单) 类图(复杂) 需求 顺序图 协作图

大纲 标准建模语言UML 体系结构和UML 基于UML的B/S构架描述

体系结构和UML 设计视图 实现视图 用例视图 过程视图 分布视图 类, 接口, 协作 组件 活动类 节点 用例 用例视图是其他视图的核心和基础,其他视图依靠用例视图中所描述的内容来构造; 活动类 节点 过程视图 分布视图

体系结构设计流程 选择一个脚本 标识主要的类和它们的责任 给类分配行为 子系统结构,层,定义接口 定义分配和并发性 实现体系结构原型 从用例开始测试 评估体系结构 用例图 设计视图 过程视图 实现视图 分布视图

逻辑应用体系结构 图形 图形 图形 用户 用户 用户 界面 界面 界面 商业 Relational 商业 对象 Database 对象 模型 关系 数据库 图形 用户 界面 商业 对象 模型 图形 用户 界面 商业 对象 模型 关系 数据库

大纲 标准建模语言UML 体系结构和UML 基于UML的B/S构架描述

基于UML的B/S构架描述 B/S模式回顾 UML对部件交互模式进行静态描述 UML对部件交互模式进行动态描述

B/S结构 B/S结构(Browser/Server结构)结构即浏览器和服务器结构。 特点  特点 用户可以通过WWW例览器去访问Internet上的文本、数据、图像、动画、视频点播和声音信息; 这些信息都是由许许多多的Web服务器产生的; 而每一个Web服务器又可以通过各种方式与数据库服务器连接,大量的数据实际存放在数据库服务器中。

部署图在B/S结构中的作用 它确定了一种有效的应用部署的规划组织方式 还可以作为一个模式在多个类似B/ S 系统上应用 HTTP和JDBC是通讯类型

B/S结构的部件和连接器—类图(1) 部件 连接器 客户浏览器部件 服务器部件 交互 应用服务器部件 数据库服务器部件 网络与浏览器连接器(服务器连接器)间的一对多关系 服务器与服务器连接器一对一关系 浏览器与浏览器连接器一对一关系 什么是连接器???

客户连接器/服务器连接器—类图(2) 客户连接器类图 服务器连接器类图

B/S结构的部件之间动态交互—协作图 浏览器/服务器的协作图

浏览器/服务器单线程的同步信息通信--协作图 《连接器》 单线程服务器连接器

本讲任务 设计“武汉旅游出行系统平台”的体系结构,并用UML进行描述。