开始进入设计 … Transition to Design

   从需求分析到设计

   逻辑架构与子系统 Logical Architecture and sub-system

5.1 向设计过程切换 Transition to Design

   需求与领域分析阶段During requirements and domain analysis work

     做正确的事情 “Do the right thing”

     理解领域问题 Understand the domain

     澄清并记录约束和需求 Clarify and record the constraints and requirements

     本质上,暂不考虑设计,集中在理解问题

   设计阶段 During design work

     正确地做事情 “Do the thing right”

     创建设计模型,以便构建系统 Create a design model that can be used to build the system

       满足领域约束 Meet the domain constraints

       两类主要的模型: 交互图 Interaction diagrams 设计类图 Design class diagrams
   设计的输入

     系 统 操 作 System Operations

     或者操作契约

   迭代

     每次迭代,都存在需求 到设计的过程

     遇到需求的变化,应当 “拥抱”而不是“回避”

  设计的结果

     设计一个方案,展示系 统是如何实现需求
5.2 逻辑架构、软件架构

   什么是架构 What is Architecture?(有的教材翻译成“结构”)

     架构是关于如何组织软件系统的一系列重大决策

      An architecture is the set of significant decisions about the organization of a software system

       如何选择组成系统的结构元素及其接口

       这些结构元素相互协作时的行为规范

       这些结构元素如何组合成逐渐变大的子系统

       可以参考的架构风格 architectural style,以便指导如何组织这些结构元素、定义它 们的接口、协作、以及组合成子系统的过程

   架构的另外一种说法: Logical Architecture、Software Architecture

     大规模组织类,以便形成模块、分层、子系统、命名空间等

     不同于部署架构 Deployment Architecture  定义这些结构元素分布在不同的物理设备上
   可能会影响逻 辑架构的因素, 还包括: 补充规 格说明中约束 、非功能性需 求等
5.3 逻辑架构设计方法 – 分层法

   分层 System Partitioning

     “分而治之”

   标识一定规模的结构元素 large-scale elements (LSEs)

     层Layers: 粗粒度地组织结构元素,考虑内聚性,完成特定功能

      Coarsegrained grouping of architectural elements cohesively responsible for a specific aspect

     子系统 Subsystems

     模块 Modules

     接口

     结构元素之间的协作

   在开发的过程中,上述各部分是会变化的

   在“分”的同时,要考虑“合”
5.4 分层架构的优点

   优点

     各层都容易被替换 Layers can be easily replaced

     较低层次包含更多的操作细节,容易成为可重用的构件

     每层都容易分布部署与连接

   分层时考虑的问题 Separation of concerns

     服务是放在高层还是底层 High-level vs. low-level services

     服务是作为应用专门的,还是通用的 Application specific vs. general services
5.5 分层架构示例 
  物联网大数据平台TIZA STAR架构http://mt.sohu.com/20161024/n471123659.shtml

转载于:https://www.cnblogs.com/mayZhou/p/10548488.html

6.5 开始进入设计 … Transition to Design相关推荐

  1. 领域驱动设计(DDD:Domain-Driven Design)

    领域驱动设计(DDD:Domain-Driven Design) Eric Evans的"Domain-Driven Design领域驱动设计"简称DDD,Evans DDD是一套 ...

  2. socketmq 设置队列大小_LeetCode 622:设计循环队列 Design Circular Queue

    LeetCode 622:设计循环队列 Design Circular Queue 首先来看看队列这种数据结构: 队列:先入先出的数据结构 在 FIFO 数据结构中,将首先处理添加到队列中的第一个元素 ...

  3. 揭秘IBM架构设计方法论 —— Solution Design I

    Solution Design概述 Solution Design是IBM历史上一个知名的方法论,其设计的初衷始于售前的解决方案设计,因其对庞大复杂的UMF框架做了精选,相对简单又不失完整,在项目实施 ...

  4. 层次化的设计(hierarchy design):概论

    层次化设计适当下非常流行的设计思路,随着芯片的规模越来越大,fullchip的数据量和复杂度和过去已经不能同日而语了,无论是工具的runtime还是QoR,直接完成full-chip的工作越来越不现实 ...

  5. Photoshop:6.14世界献血海报设计分享poster design(内附psd)

    前言 Photoshop:6.14世界献血海报设计技巧分享poster design 作为一个ps新手,由于平台比较少,能够拿来锻炼的也就是学校的海报比赛,这个应该算是我第二次参加学校的海报大赛.这一 ...

  6. 【教程】广联达装饰设计(Deco Design)软件模型导出

    [教程]广联达装饰设计(Deco Design)软件模型导出 首先确认自己的模型是正常,并且可以显示,包括家具(不管是外部还是内部). 选择工具 - 显示设置 - 楼层显示 - 自定义楼层-全部楼层. ...

  7. 设计系统(Design System),设计和开发之间的“DevOps”

    最近,我们网站的上新增了几个新功能,比如通过导航栏的QR Code可以下载App:通过Carousel的方式,显示多条信息. 以往这样的功能可能需要2-3个Sprints完成,但是现在这些功能都是在一 ...

  8. 哈佛大学——差异表达分析(七)设计公式(Design formulas)

    文章目录 学习目标 利用DESeq2进行差异表达分析 运行DESeq2 设计公式(design formula) 复杂的设计 MOV10 差异表达分析 学习目标 使用DESeq2执行差异表达分析工作流 ...

  9. 可持续网页设计(sustainable web design)

    可持续网页设计(sustainable web design) 可持续网页设计(sustainable web design)旨在减少互联网对环境的影响,通过可持续的Web设计实践,用于创建高性能,低 ...

最新文章

  1. python快速入门第三版-Python3快速入门
  2. 《系统集成项目管理工程师》必背100个知识点-92信息系统的特点
  3. Spring Boot CommandLineRunner和ApplicationRunner
  4. 二分法变种小结(leetcode 34、leetcode33、leetcode 81、leetcode 153、leetcode 74)
  5. python的get和post方式请求详解
  6. win10微信多开bat
  7. 2018农行软开广州笔试+面试经历
  8. python拼音四线格书写格式_Python 中拼音庫 PyPinyin 的用法
  9. 不同大小硬盘对拷oracle,硬盘对拷方式克隆时必须注意一个大问题
  10. If you are using WebLogic you will need to add ‘org.slf4j‘ to prefer-application-packages in
  11. mysql sending data_MySQL:sending data状态包含了什么
  12. 2020牛客暑期多校训练营(第九场)K-The Flee Plan of Groundhog
  13. 【基于TCP的在线词典】
  14. c语言单片机定时器的应用程序,51单片机定时器中断程序(C语言)
  15. DataBinding: how to develop Android apps faster
  16. 计算机基础 电子工业出版,电子工业出版社21世纪计算机基础教育系列教材2吴功宜吴英编着.ppt...
  17. 【目标检测】YOLO系列Anchor标签分配、边框回归(坐标预测)方式、LOSS计算方式
  18. 获国际权威认可 | 云扩科技入选《RPA全球市场格局报告,Q3 2022》
  19. jquery 获取某个值得键名_jquery中获取元素里某一特定子元素的代码
  20. 程旭媛产后复出的第一道坎

热门文章

  1. 627.Swap Salary-(LeetCode之Database篇)
  2. eclipse 代码上传github 笔记
  3. 用来用去还是觉得SDCMS好用
  4. highcharts第一篇---简介和使用
  5. SX-BOX试用笔记
  6. qq纵横四海源码_【0基础】纵横中文网python爬虫实战
  7. 修改已存在用户的所属组(usermod用法)
  8. oracle和mysql数据实时同步_异构数据源的CDC实时同步系统——最终选型实战
  9. python 函数、面向对象
  10. Tailwindcss尤大神都fork了,是未来的趋势?