zoukankan      html  css  js  c++  java
  • 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 分析案例





  • 相关阅读:
    [ARC101C] Ribbons on Tree
    NOIP2020 模拟赛 B 组 Day6
    #10471. 「2020-10-02 提高模拟赛」灌溉 (water)
    #10470. 「2020-10-02 提高模拟赛」流水线 (line)
    一类巧妙利用利用失配树的序列DP
    学军中学csp-noip2020模拟5
    信号与槽-高级应用
    PyQt5中的布局管理-QSplitter
    PyQt5中的布局管理-嵌套布局
    信号与槽-入门应用
  • 原文地址:https://www.cnblogs.com/zengyh-1900/p/5523929.html
Copyright © 2011-2022 走看看