P3_C12-13:逻辑架构和包图

Requirements to Design Iteratively


阅读书上第12章

  • 需求和面向对象分析重点关注 做正确的事
  • 后续的设计工作强调 正确地做事
  • 迭代从需求和分析为主 到 以设计和实现为主
  • 在设计和实现的迭代早期有需求变更很正常,后期稳定就会稳定
  • 完成迄今为止所有建模正常只需要花费几个小时或几天的时间

Logical Architecture and UML package diagrams


阅读书上第13章

Software architecture

  • 一组设计软件系统组织的重要决策
  • 对结构元素、接口的选择
  • 这些元素特定于仙湖协作的行为
  • 这些结构和行为元素、更大子系统的组成、直到该组织结构的结构风格

Logical architecture

  • 软件类的宏观组织结构,他将软件组织成包、命名空间、子系统、层
  • 决定具体在何种操作系统或网络计算机中对这些元素进行部署的是,部署架构
  • 包括:UI、Domain、Technical services
    • 严格分层:层只能调用相邻的下层服务
    • 宽松分层:层可以调用任何下层服务

应用UML:包图

  • UML包图通常用于描述系统的逻辑架构——层、子系统、包等
  • 依赖性(耦合):依赖线是有箭头的虚线,指向被依赖的包
  • 嵌套:
    • 画法1:在内包框外画外包
    • 画法2:在外包下画个十字圈圈,实线连接内包
  • 使用层进行设计
    • 使用层的好处
      1. 减少coupling和dependencies,提高cohesion和服用性
      2. 相关复杂性能被了解和封装
      3. 一些较高层可以被替换
      4. 一些较低层可以被复用
      5. 某些层可以是分布式的
      6. 利于逻辑划分,团队合作
  • cohesive responsibility, maintain a separation of concerns
  • 如何使用对象设计应用逻辑
    • 创建名称和信息类似于真实世界的软件对象:领域对象
    • 此时,应用逻辑层称为架构的领域层:包含领域对象,处理应用逻辑
      1. 领域层是软件的一部分
      2. 领域模型是概念角度分析的一部分
      3. 利用领域模型的灵感创建领域层,获得低表示差异
  • tier: 被广泛用于表示屋里进程节点,如客户计算机
  • layer:系统在垂直方向的划分
  • partition:层在水平方向的划分,如技术服务层分为安全和统计分区
  • 外部资源层不是最底层!
  • Model-view separation principle
    • model:领域层对象
    • View:UI对象(窗口、鼠标等
    • 领域对象不能够直接与窗口对象发消息
    • MVC,相关模式:观察者模式
      1. model:数据对象, 领域层
      2. views:GUI窗口,UI层
      3. controllers:键盘和鼠标事件句柄,因公曾的工作流对象
      4. 好处:允许模型和界面分别进行开发、支持内聚的模型定义、使界面需求的影响减小……
  • 运用RUP 4+1视图方法进行软件架构设计
  • RUP 4+1 分析案例









转载于:https://www.cnblogs.com/zengyh-1900/p/5523929.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
对下面的代码加注释:<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> </head> <style> #backg { width: 919px; height: 272px; } div img { width: 300px; height: 222px; margin-top: 20px; margin-left: 10px; } #h3 { color: rgb(132, 106, 90); font-weight: 600; font-size: 23px; margin-top: -224px; margin-left: 340px; } #p1 { font-size: 14px; color: rgb(20, 111, 158); font-weight: 550; margin-top: 13px; margin-left: 340px; } #p2 { width: 575px; font-size: 13.2px; color: black; text-indent: 2em; margin-top: -3px; margin-left: 340px; } #p2 span { color: rgb(20, 111, 158); font-style: italic; text-decoration: underline; } #p3 { font-size: 14px; color: rgb(20, 111, 158); font-weight: 550; margin-top: 10px; margin-left: 340px; } #p3 span { color: red; font-size: 20px; font-weight: 800; } hr { width: 560px; margin-top: -2px; margin-left: 340px; } #p4 { color: rgb(132, 106, 90); font-weight: 540; font-size: 23px; margin-top: 12px; margin-left: 340px; } #p4 span { color: red; font-weight: 800; } </style> <body> <div id="backg"> <img src="./img/bk01.png" alt=""> <div id="h3">Web前端开发工程师</div> <p id="p1">技术要求:</p> <p id="p2">对常用的一些Js框架了解,如jQuery、YUuI等。掌握最基本的JavaScript计算方法编写。对目前互联网流行的网页制作方法(Web2.0) HTML+CSS,以及各大浏览器兼容性有很大的了解。对前沿技术(HTML5+CSS3)的基本掌握。<span>Web前端技术</span>你究竟掌握了多少...</p> <p id="p3">更新时间:2015年05月19日20点(已有<span>325</span>人点赞)</p> <hr> <p id="p4">相关技术文章 <span>8</span> 篇</p> </div> </body> </html>
05-24
``` <!DOCTYPE html> <!--声明文档类型为HTML5--> <html lang="en"> <!--HTML文档的基本结构,lang属性表示使用的语言为英语--> <head> <!--网页头部,包含元数据信息和外部资源引用--> <meta charset="UTF-8"> <!--指定字符编码为UTF-8--> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <!--告诉IE浏览器采用最新的渲染方式--> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <!--设置页面在移动端显示时的视口大小--> <title>Document</title> <!--网页标题--> </head> <style> <!--样式表--> #backg { <!--id选择器,对应下面的div标签--> width: 919px; <!--宽度为919像素--> height: 272px; <!--高度为272像素--> } div img { <!--对应上面的图片,设置其样式--> width: 300px; <!--宽度为300像素--> height: 222px; <!--高度为222像素--> margin-top: 20px; <!--上边距为20像素--> margin-left: 10px; <!--左边距为10像素--> } #h3 { <!--id选择器,对应下面的h3标签--> color: rgb(132, 106, 90); <!--文字颜色为rgb(132, 106, 90)--> font-weight: 600; <!--字体加粗--> font-size: 23px; <!--字体大小为23像素--> margin-top: -224px; <!--设置上边距,将h3标签向上提升224像素--> margin-left: 340px; <!--左边距为340像素--> } #p1 { <!--id选择器,对应下面的p标签--> font-size: 14px; <!--字体大小为14像素--> color: rgb(20, 111, 158); <!--文字颜色为rgb(20, 111, 158)--> font-weight: 550; <!--字体加粗--> margin-top: 13px; <!--上边距为13像素--> margin-left: 340px; <!--左边距为340像素--> } #p2 { <!--id选择器,对应下面的p标签--> width: 575px; <!--宽度为575像素--> font-size: 13.2px; <!--字体大小为13.2像素--> color: black; <!--文字颜色为黑色--> text-indent: 2em; <!--段落首行缩进2个字符--> margin-top: -3px; <!--上边距为-3像素--> margin-left: 340px; <!--左边距为340像素--> } #p2 span { <!--对应上面的span标签,设置其样式--> color: rgb(20, 111, 158); <!--文字颜色为rgb(20, 111, 158)--> font-style: italic; <!--字体样式为斜体--> text-decoration: underline; <!--添加下划线--> } #p3 { <!--id选择器,对应下面的p标签--> font-size: 14px; <!--字体大小为14像素--> color: rgb(20, 111, 158); <!--文字颜色为rgb(20, 111, 158)--> font-weight: 550; <!--字体加粗--> margin-top: 10px; <!--上边距为10像素--> margin-left: 340px; <!--左边距为340像素--> } #p3 span { <!--对应上面的span标签,设置其样式--> color: red; <!--文字颜色为红色--> font-size: 20px; <!--字体大小为20像素--> font-weight: 800; <!--字体加粗--> } hr { <!--水平线--> width: 560px; <!--宽度为560像素--> margin-top: -2px; <!--上边距为-2像素--> margin-left: 340px; <!--左边距为340像素--> } #p4 { <!--id选择器,对应下面的p标签--> color: rgb(132, 106, 90); <!--文字颜色为rgb(132, 106, 90)--> font-weight: 540; <!--字体加粗--> font-size: 23px; <!--字体大小为23像素--> margin-top: 12px; <!--上边距为12像素--> margin-left: 340px; <!--左边距为340像素--> } #p4 span { <!--对应上面的span标签,设置其样式--> color: red; <!--文字颜色为红色--> font-weight: 800; <!--字体加粗--> } </style> <body> <!--网页主体部分--> <div id="backg"> <!--div标签,id为backg,用作背景--> <img src="./img/bk01.png" alt=""> <!--图片,引用地址为./img/bk01.png--> <div id="h3">Web前端开发工程师</div> <!--h3标题,id为h3--> <p id="p1">技术要求:</p> <!--段落,id为p1--> <p id="p2">对常用的一些Js框架了解,如jQuery、YUuI等。掌握最基本的JavaScript计算方法编写。对目前互联网流行的网页制作方法(Web2.0) HTML+CSS,以及各大浏览器兼容性有很大的了解。对前沿技术(HTML5+CSS3)的基本掌握。<span>Web前端技术</span>你究竟掌握了多少...</p> <!--段落,id为p2,包含一个span标签--> <p id="p3">更新时间:2015年05月19日20点(已有<span>325</span>人点赞)</p> <!--段落,id为p3,包含一个span标签--> <hr> <!--水平线--> <p id="p4">相关技术文章 <span>8</span> 篇</p> <!--段落,id为p4,包含一个span标签--> </div> </body> </html> ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值