学习高校课程-系统设计与分析-初步架构设计(lec7)

Index

• Why and What?
为什么和什么?
• Understanding Architecture
了解架构
• Typical Architecture Views
典型架构视图
• On Software Architects
论软件架构师
• Diagraming and Presenting Architecture
绘制和呈现架构
• A Practical Way to Think About Architecture
思考架构的实用方法
• Evolutionary Design
进化设计
• Essentials of Architectural Styles
架构的风格要点
• How to get started
如何开始

Why and What?

Consider architectural alternatives at a stage when making design changes is still relatively easy
在设计更改仍然相对容易的阶段考虑架构替代方案

The structure of your application or system
应用程序或系统的结构

Understanding Architecture

Architecture is the structure, including the principles and guidelines governing their design and evolution over time
架构是结构,包括管理其设计和随时间演变的原则和指南

Typical Architectural Views

Logical Architecture – describes the system in terms of its organization in layers, packages, classes, interfaces and subsystems
逻辑架构——根据层、包、类、接口和子系统的组织来描述系统

Deployment Architecture – describes the system in terms of the allocation of processes to processing units and network configurations
部署架构——根据处理单元的进程分配和网络配置来描述系统

Technical Architecture
技术架构

On Software Architects

  • Enterprise architect
    企业架构师
  • Solution architect
    解决方案架构师
  • Application architect
    应用架构师
  • Data architect
    数据架构师
  • Information architect
    信息架构师
  • Security architect
    安全架构师
  • Cloud architect
    云架构师
    ......

Diagraming and Presenting Architecture

Diagraming Standard:
制图标准:
• UML, SysML, ArchiMate, C4
UML、SysML、ArchiMate、C4
• Commonly Used UML diagrams:
常用的UML图:
• Package diagram, Composite Structure Diagram, Deployment Diagram
封装图、组合结构图、部署图

A practical way to think about architecture

可用性,可靠性,可测试性,可扩展性,安全性,敏捷性,容错性,弹性,可恢复性,性能,可部署性,可学习性

Evolutionary Design

  • Designs evolve but not from the simple to the difficult
    设计不断发展,但不是从简单到困难
  • Evolutionary design means that we can add to it as we go
    进化设计意味着我们可以随时添加
    • Incremental design
    • Flexible design
    • Iterative, incremental development
      增量设计
      灵活设计
      迭代,增量发展
  • Unified Process
    • Architecture Centric
    • Use Case Driven
    • Iterative Process

Essentials of Architectural Styles

Examples:
Implicit-invocation
Pipes-and-filters
Layered style
Repository style
Model-View-Controller (MVC)
隐式调用
管道-过滤器
分层风格
存储库风格
模型-视图-控制器 (MVC)

How to get started?

  • Logical architecture
    逻辑架构
    • Subsystems and Components
      子系统和子组件
      • Separation by responsibilities: Computational, Controller, Memory and Manager
        按职责划分:计算、控制器、内存和管理器
    • Services & Interfaces
      服务和接口
    • Connectors
      连接器
  • Technology architecture
    技术架构
    • Platforms
      平台
      • Runtime Environment
        运行环境
      • Containers
        容器
      • DB
        数据库
      • External Resources and Services
        外部资源与服务
    • Frameworks and Libraries
      框架和库
    • Infrastructures
      基础设施
    • Protocols and standards
      协议与标准
  • Deployment and Distribution
    部署与分发
posted @ 2024-10-31 14:27  Mephostopheles  阅读(6)  评论(0编辑  收藏  举报