Ch04 Software Design

12/27/2022 RealTimeSE

# Software Design

  • Basic Principles of the Design

    • 从system model出发,设计 system architecture 和 specific system components

    • system --> subsystems + interplay --> components + interfaces

    • System analysis to system designimg

  • System architecture: A system architecture describes the structure of the system by means of software components and the relationships(events等) amongst each other.

    • 设计需要考虑的标准img

    • call return patternimg

    • pipes and filter Architectures:支持复用,并发,易维护

      • pipe 是连接两个方块的线

      • filter是方块

    • controller控制板块img

    • Service Oriented Architecture(SOA):Architectural style that for software design where services are provided to other componentsthrough a communication protocol over a network.

      • 更好的复用

      • 统一的接口标准

      • 可移植性强,可以跨平台调用

      • Service: A service is a discrete unit of functionality that can be accessed remotely and acted upon and updated independently, such as retrieving a location information online. img

      • Evaluationimg

    • Multi-tier Architectures多层架构:

      • 例如: IOT三层架构img
    • MVC架构:img

  • Analysis the system archtecture:

    • 从每个stakeholder的角度,分析scenarios

    • SAAM方法: 想各种scenarios,并排优先级,分为直接或者间接,分别评估img

    • ATAM方法:注意analysis的输入输出img

  • Design principles:

    • module:可以独立测试,不关心其中的具体实现的模块,如 class, component, library

    • 在设计module的时候,要权衡耦合性,复杂性和module的数量img

    • analysis model --> design modelimg

    • System of Systems

  • real time:

    • Real-time Design Patterns:

      • Concurrency Patterns:control and scheduling of the architectural elements

      • help to organize, manage, use and share finite resources in real-time andembedded systems

      • Watchdog Pattern:解决死锁等问题img

      • Event-driven architectures

      • Time-driven architectures

  • Safey:img

Last Updated: 11/19/2024, 1:54:38 PM