软甲架构设计软件_用什么工具画 软件架构设计图
展开全部
UIDesigner是腾讯用户研究与体验设计部(CDC)设计研发的一款设计类软件,打造一款可以让62616964757a686964616fe58685e5aeb931333337613761设计师统一平台和团队协作的平台型设计工具,经过1.0和2.0版本的经验沉淀,我们决定对3.0版本进行全新的架构设计。
开发一个软件系统,前期的架构设计承载着整个软件的设计思想和关键决策,可以说是重中之重。
根据软件架构设计思想,关注分割和交互,好的架构必须使每个关注点相互分离。我们进行了最基本的需求分析,得出两个关注点:一是工具,二是设计绘图,关系如图1所示。
得到最基本的两个关注点后,接着将提取关键需求(包括:关键功能需求、关键质量需求和关键商业需求),根据两个关注点进行架构的细化设计。
一、关注点——工具
这里我们结合UIDesigner的实际需求,提取出属于“工具”范畴的关键功能需求、关键质量需求和关键商业需求。
首先,“工具”的关键功能需求,必须包括:磁盘文件读写、异常捕捉、日志记录、安全性管理;非工具所必须,但是UIDesigner本身所要求的,包括:配置管理、缓存管理、线程服务、服务器和客户端通讯管理、国际化服务。
其次,“工具”的关键质量需求,质量需求包括开发期质量需求和运行期质量需求两部分,经过分析和权衡,UIDesigner的性能主要取决于设计绘图,而稳定性、可扩展性和可维护性才是决定“工具”本身发展的质量需求,因此,对“工具”的质量需求设计将以稳定性、可扩展性和可维护性为主。
最后,“工具”的关键商业需求,因为UIDesigner本身并没有很复杂的业务需求,因此关键商业需求是在设计流程的优化和规范上得到体现,这方面的设计已经属于高层模块和使用流程的设计,对架构的影响非常小,可以暂时性的忽略。
经过关键需求的提取,我们得到了“工具”的设计目标——可以提供通用功能(关键功能需求)的高稳定性、扩展性和维护性的客户端应用。根据此目标,我们采取了DI(Dependency-Injection)和MVP(Model-View-Presenter)结合的架构,概念架构设计如图2所示。
软甲架构设计软件_用什么工具画 软件架构设计图相关推荐
- 软甲架构设计软件_大型软件架构设计
前一篇说了原理,软件架构本质上是绘制一幅复杂素描所打的草稿,我还说,如果你罩得住,可以不需要这个草稿. 但这只是"理论上",我们写软件,基本上不是在写只有几千行的代码的小程序,而是 ...
- 软甲架构设计软件_软件架构设计
导读 本文一文总结软件架构设计常用概念.原则与思想,包括面向对象六大原则,DID原则,ACID.CAP.BASE理论,中间层思想,缓存思想等. 面向对象设计六大原则 一 单一职责原则(SRP): 定义 ...
- 软甲架构设计软件_几种常用软件架构设计指南
几种常用软件架构设计指南 软件架构( software architecture )是一系列相关的抽象模式,用于指导大型 软件系统各个方面的设计. 软件架构是一个系统的草图. 软件架构描述的对象是 直 ...
- 折纸折痕设计软件_折纸简介中的自适应设计
折纸折痕设计软件 Lately Origami has been my go-to design tool for prototyping complex touch interactions. I' ...
- 个性签名设计软件_佩服!我用Python设计了一个签名软件
临近年末,大家都忙着签发礼品,写的一手好的签名,会让大家更有成就感,今天,小安就带领大家来设计一个基于tkinter+爬虫的签名设计软件,方便大家设计签名. 要设计这款软件,就需要了解tkinter与 ...
- ug链轮设计软件_同为三维设计软件,solidworks与ug有何不同
solidworks和ug都是三维设计软件,那就先跟我一起来了解一下这两款软件吧. 1.用途方面的差距: UG偏向于曲面.模具.数控制造,功能丰富. solidworks偏向于机械设计.钣金,目前国内 ...
- 引物设计软件_你的引物设计进行得如何了?这份PCR引物设计及软件使用技巧供你参考...
点击蓝字 关注我们 自从1985年Karny Mullis发明了聚合酶链式反应以来,PCR技术已成为分子生物学研究中使用最多.最广泛的手段之一,而引物设计是PCR技术中至关重要的一环.使用不合适的PC ...
- 专门画像素图的软件_新世纪像素画设计软件,你值得一试!
哟,大家好,我是骼灵桑桑哟.这一次的文章主角便是我们手机玩家最受欢迎的像素游戏之一"元气骑士".好!问题来了,为什么?这一次的文章我会提到元气骑士呢?而我这次文章的标题又为何取名为 ...
- 【软件架构】为杠杆(利用率)架构设计软件
卡瓦尔康蒂:我在这里谈论的是如何利用软件架构.首先,我将在这里定义杠杆的含义.这是谷歌的定义.杠杆率是相对于你所做投资的深度,你可以获得的价值量.我们希望获得比您所做的投资更高的价值.在软件环境中,是 ...
最新文章
- Cloud Insight!StatsD 系监控产品新宠!
- w2k telnet port change
- c语言重新进入for循环,大佬们帮帮忙 帮我改改 怎样能在输入Y后 再次进行for循环...
- 全志线刷工具如何刷linux,全志 Allwinner V3S 开发环境搭建 (二)安装必要工具
- [html]请描述HTML元素的显示优先级
- 安装nrm,报错request@2.88.2: request has been deprecated, see https://github.com/request/request/issu
- 使用python解析C代码
- 《Kotlin项目实战开发》第5章 函数与函数式编程
- 云存储是否能拯救数据泛滥
- MATLAB学习笔记 :函数文件的定义和使用
- 如何设置电脑自动锁屏_Apple ID密码忘了怎么重置?丨如何让面容和指纹解锁立马失效?...
- 暗原色先验单一输入图像去雾
- 洛谷 P1069 细胞分裂
- MSP430 BOR电路的作用
- 备战面试日记(2.4) - (JVM.GC算法)
- 软件测试 | 测试开发 | 双非院校,从外包到外企涨薪85%,他的涨薪秘籍全公开
- 学计算机大学累不累_大学学计算机专业的体验重点在最后!
- MySQL limit 1,1的含义
- 物联网学习笔记(一)
- mysql右表更新左表,mysql优化。左表是25W数据,右表目前小表,但随后是百万,千万,亿级别的表,慢慢增长...