博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
UML和模式应用学习笔记(6)——系统顺序图、系统操作和层
阅读量:4837 次
发布时间:2019-06-11

本文共 1119 字,大约阅读时间需要 3 分钟。

  系统顺序图(SSD)并非是UML中的顺序图,是为阐述与所讨论系统相关的输入和输出事件而快速、简单地创建的制品。

  系统顺序图表示的是,对于用例的一个特定场景,外部参与者产生的事件,其顺序和系统之内的时间。所有的系统被视为黑盒。此图强调的是从参与者到系统的跨越系统边界的事件。

  准则:应为每个用例的主成功场景,以及频繁发生的或者复杂的替代场景绘制SSD。

  为什么要绘制SSD呢?

  软件设计中一个有趣且有用的问题是:我们系统中会发生什么事件?为什么?因为我们必须为处理和响应这些事件(来自于鼠标、键盘、和其他系统---)来设计软件。基本上,软件系统要对以下三种事件进行响应:1)来自于参与者(人或计算机)的外部事件,2)时间事件,3)错误或异常(通常来源于外部)。因此,需要准确的知道,什么是外部输入事件,即系统事件。

  SSD和用例之间的关系

  SSD展示了用例中一个场景的系统事件,因此它是从对用例的考察中产生的。下图 SSD由用例导出,表示了一个场景。

 

  下面就谈谈系统操作

  什么是系统操作?可以为系统操作定义操作契约,系统操作是作为黑盒构件的系统在其公共接口中提供的操作。这里解释一下操作契约。操作契约包括以下部分:

  • 操作:操作的名称和参数。
  • 交差引用:会发生此操作的用例。
  • 前置条件:执行操作之前,对系统或领域模型对象状态的重要假设。这些假设比较重要,应该告诉读者。
  • 后置条件:最重要的部分。完成操作后,领域模型对象的状态。

  什么是逻辑架构和层

  逻辑架构(logical architecture)是软件类的宏观组织结构,它将软件类组织为包(或命名空间)、子系统和层等。之所以称其为逻辑架构,是因为并未决定如何在不同的操作系统进程或网络中物理的计算机上对这些元素进行部署。

  层(layer)是对类、包或子系统的甚为粗粒度的分组,具有对系统主要方面加以内聚的职责。同时、层按照较高层(例如UI层)可以调用较低层的服务,而反之则不然的方式组织。

  OO系统中通常包括的层有:

  • 用户界面
  • 应用逻辑和领域对象——表示领域概念的软件对象
  • 技术服务——提供支持性技术服务的常用对象和子系统,例如数据库接口或错误日志。

  SSD描述了系统操作,但是隐藏了特定的UI对象。然而,捕获系统操作请求的对象通常是系统UI层的对象。设计良好的分层架构支持高内聚和关系分离,UI层对象将从UI层向领域层转发请求以进行处理。

  从UI层发送到领域层的消息将是SSD中所描述的消息。

转载于:https://www.cnblogs.com/Daywei/archive/2011/08/03/2126064.html

你可能感兴趣的文章
scrapy install
查看>>
android 开发 View _13 绘制图片与BitmapShader位图的图像渲染器
查看>>
[bzoj2131]免费的馅饼 树状数组优化dp
查看>>
CreateMutex()参数报错问题
查看>>
Linux三剑客-常用命令
查看>>
Excel的列数以数字格式查看
查看>>
unity 2d 和 NGUI layer
查看>>
Sublime Text shift+ctrl妙用、Sublime Text快捷组合键大全
查看>>
spring security中当前用户信息
查看>>
[中国寒龙出品]VB程序设计视频第十四课,更多请关注我们的官博。
查看>>
LinuxMint 17.1 Cinnamon桌面窗口焦点bug
查看>>
PHP函数
查看>>
缩点 CF893C Rumor
查看>>
Spring详解篇之 AOP面向切面编程
查看>>
COMP0037 Coursework
查看>>
Spring Framework 5.x 学习专栏
查看>>
Linux 磁盘挂载和mount共享
查看>>
云计算开发教程,云计算能干什么?
查看>>
利用”+“、”-“JS字符串类型与数字类型转换
查看>>
【剑指offer面试题4】替换空格%20和清除空格
查看>>