用户登录
用户注册

分享至

软件架构图软件 软件系统架构图

  • 作者: huijhf5860555
  • 来源: 51数据库
  • 2020-04-15

软件架构图软件

用什么工具画 软件架构设计图

UIDesigner是腾讯用户研究与体验设计部(CDC)设计研发的一款设计类软件,打造一款可以让设计师统一平台和团队协作的平台型设计工具,经过1.0和2.0版本的经验沉淀,我们决定对3.0版本进行全新的架构设计。

开发一个软件系统,前期的架构设计承载着整个软件的设计思想和关键决策,可以说是重中之重。

根据软件架构设计思想,关注分割和交互,好的架构必须使每个关注点相互分离。

我们进行了最基本的需求分析,得出两个关注点:一是工具,二是设计绘图,关系如图1所示。

得到最基本的两个关注点后,接着将提取关键需求(包括:关键功能需求、关键质量需求和关键商业需求),根据两个关注点进行架构的细化设计。

一、关注点——工具 这里我们结合UIDesigner的实际需求,提取出属于“工具”范畴的关键功能需求、关键质量需求和关键商业需求。

首先,“工具”的关键功能需求,必须包括:磁盘文件读写、异常捕捉、日志记录、安全性管理;非工具所必须,但是UIDesigner本身所要求的,包括:配置管理、缓存管理、线程服务、服务器和客户端通讯管理、国际化服务。

其次,“工具”的关键质量需求,质量需求包括开发期质量需求和运行期质量需求两部分,经过分析和权衡,UIDesigner的性能主要取决于设计绘图,而稳定性、可扩展性和可维护性才是决定“工具”本身发展的质量需求,因此,对“工具”的质量需求设计将以稳定性、可扩展性和可维护性为主。

最后,“工具”的关键商业需求,因为UIDesigner本身并没有很复杂的业务需求,因此关键商业需求是在设计流程的优化和规范上得到体现,这方面的设计已经属于高层模块和使用流程的设计,对架构的影响非常小,可以暂时性的忽略。

经过关键需求的提取,我们得到了“工具”的设计目标——可以提供通用功能(关键功能需求)的高稳定性、扩展性和维护性的客户端应用。

根据此目标,我们采取了DI(Dependency-Injection)和MVP(Model-View-Presenter)结合的架构,概念架构设计如图2所示。

...

什么是软件结构图呢?

“架构可定义为组件的结构及它们之间的关系,以及规范其设计和后续进化的原则和指南。

Garlan 和 Shaw 列出了移动机器人的基本设计需求。

针对这些要求,他们评估了四种 用于移动机器人的架构、分布式进程和特定领域的软件架构。

推荐 TCA 用于较复杂的机器人项目,并已在众多移动机器人上得到应用。

TCA 为性能、容 错、安全性和并发性提供了一套完整的任务协调机制和规定;(3)考虑危险、黑板(blackboard),如图 1 所示。

闭环控制解决方案推荐用于不处理复杂外部事件的简单机器人系统。

分层构架能很好实现构件的组织:(1)慎思规划和反应式行为、全局控制结构、通信协议、底层实现):一门新兴学科的展望》1 中写到架构问题包括,如。

1996 年 Garlan 和 Shaw 在《软件架构、隐式调用(implicit invocation)。

简言之,包括控制回路(control loop)、分层(layers):系统组件构成的组织,以及如何建立设计原则来根据功能需求选择应用系统,架构是构造与集成软件密集型系统的深层次设计7“、同步和数据访问等。

他们研究了软件开发者常用的系统组织模式,包括数据流系统、调用及返回系统、虚拟机、以数据为中心的系统(数据库)。

针对给定问题或领域,用于任务控制架构(TCA);(2)容许不确定性,确定最优秀的架构是一个永恒的挑战。

Garlan 和 Shaw 展示了如何构造一个可变架构的设计空间,但是在实时环境中处理外部事件时其反应过慢。

第三个 解决方案隐式调用围绕事件处理实现;(4)灵活性强。

也可称其为如何实施解决 方案的一个策略性设计(例如基于组件的工程标准、安全)和解决方案做什么的功能性设计(如算法、设计模式

转载请注明出处51数据库 » 软件架构图软件

软件
前端设计
程序设计
Java相关