展开全部

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

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

根据软件架构设计思想,关注分割和交互,好的架构必须使每个关注点相互分离。我们进行了最基本的需求分析,得出两个关注点:一是工具,二是设计绘图,关系如图1所示。

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

一、关注点——工具

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

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

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

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

经过关键需求的提取,我们得到了“工具”的设计目标——可以提供通用功能(关键功能需求)的高稳定性、扩展性和维护性的客户端应用。根据此目标,我们采取了DI(Dependency-Injection)和MVP(Model-View-Presenter)结合的架构,概念架构设计如图2所示。

软甲架构设计软件_用什么工具画 软件架构设计图相关推荐

  1. 软甲架构设计软件_大型软件架构设计

    前一篇说了原理,软件架构本质上是绘制一幅复杂素描所打的草稿,我还说,如果你罩得住,可以不需要这个草稿. 但这只是"理论上",我们写软件,基本上不是在写只有几千行的代码的小程序,而是 ...

  2. 软甲架构设计软件_软件架构设计

    导读 本文一文总结软件架构设计常用概念.原则与思想,包括面向对象六大原则,DID原则,ACID.CAP.BASE理论,中间层思想,缓存思想等. 面向对象设计六大原则 一 单一职责原则(SRP): 定义 ...

  3. 软甲架构设计软件_几种常用软件架构设计指南

    几种常用软件架构设计指南 软件架构( software architecture )是一系列相关的抽象模式,用于指导大型 软件系统各个方面的设计. 软件架构是一个系统的草图. 软件架构描述的对象是 直 ...

  4. 折纸折痕设计软件_折纸简介中的自适应设计

    折纸折痕设计软件 Lately Origami has been my go-to design tool for prototyping complex touch interactions. I' ...

  5. 个性签名设计软件_佩服!我用Python设计了一个签名软件

    临近年末,大家都忙着签发礼品,写的一手好的签名,会让大家更有成就感,今天,小安就带领大家来设计一个基于tkinter+爬虫的签名设计软件,方便大家设计签名. 要设计这款软件,就需要了解tkinter与 ...

  6. ug链轮设计软件_同为三维设计软件,solidworks与ug有何不同

    solidworks和ug都是三维设计软件,那就先跟我一起来了解一下这两款软件吧. 1.用途方面的差距: UG偏向于曲面.模具.数控制造,功能丰富. solidworks偏向于机械设计.钣金,目前国内 ...

  7. 引物设计软件_你的引物设计进行得如何了?这份PCR引物设计及软件使用技巧供你参考...

    点击蓝字 关注我们 自从1985年Karny Mullis发明了聚合酶链式反应以来,PCR技术已成为分子生物学研究中使用最多.最广泛的手段之一,而引物设计是PCR技术中至关重要的一环.使用不合适的PC ...

  8. 专门画像素图的软件_新世纪像素画设计软件,你值得一试!

    哟,大家好,我是骼灵桑桑哟.这一次的文章主角便是我们手机玩家最受欢迎的像素游戏之一"元气骑士".好!问题来了,为什么?这一次的文章我会提到元气骑士呢?而我这次文章的标题又为何取名为 ...

  9. 【软件架构】为杠杆(利用率)架构设计软件

    卡瓦尔康蒂:我在这里谈论的是如何利用软件架构.首先,我将在这里定义杠杆的含义.这是谷歌的定义.杠杆率是相对于你所做投资的深度,你可以获得的价值量.我们希望获得比您所做的投资更高的价值.在软件环境中,是 ...

最新文章

  1. Cloud Insight!StatsD 系监控产品新宠!
  2. w2k telnet port change
  3. c语言重新进入for循环,大佬们帮帮忙 帮我改改 怎样能在输入Y后 再次进行for循环...
  4. 全志线刷工具如何刷linux,全志 Allwinner V3S 开发环境搭建 (二)安装必要工具
  5. [html]请描述HTML元素的显示优先级
  6. 安装nrm,报错request@2.88.2: request has been deprecated, see https://github.com/request/request/issu
  7. 使用python解析C代码
  8. 《Kotlin项目实战开发》第5章 函数与函数式编程
  9. 云存储是否能拯救数据泛滥
  10. MATLAB学习笔记 :函数文件的定义和使用
  11. 如何设置电脑自动锁屏_Apple ID密码忘了怎么重置?丨如何让面容和指纹解锁立马失效?...
  12. 暗原色先验单一输入图像去雾
  13. 洛谷 P1069 细胞分裂
  14. MSP430 BOR电路的作用
  15. 备战面试日记(2.4) - (JVM.GC算法)
  16. 软件测试 | 测试开发 | 双非院校,从外包到外企涨薪85%,他的涨薪秘籍全公开
  17. 学计算机大学累不累_大学学计算机专业的体验重点在最后!
  18. MySQL limit 1,1的含义
  19. 物联网学习笔记(一)
  20. mysql右表更新左表,mysql优化。左表是25W数据,右表目前小表,但随后是百万,千万,亿级别的表,慢慢增长...

热门文章

  1. C# 自嗨:2019年安徽省程序设计大赛题目——机器人足球
  2. 手把手教你制作C项目:宾馆管理系统,初学者也可以一起来哦!
  3. 基于ZYNQ的EMIO调试UART实验
  4. DVWA暴力破解LOW级别 爆破时间过长 字典
  5. PSP 斯巴达勇士 游戏ISO文件和完美通关存档
  6. 关于qq被盗问题.....
  7. Qt QPushButton按钮用法详解
  8. 打羽毛球对身体健康和发育成长有哪些好处!
  9. 淘宝直播自动匹配关键词回复指定内容
  10. 有哪些编程后找错误的心得?