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 分析案例





posted on 2016-05-24 19:27  曾炒煮煎炖  阅读(270)  评论(0编辑  收藏  举报