Line architect practice guidelines Refined Architecture stage reading notes

  By reading this section, we learn the following:

1. The concept of architecture and refined architecture

  1) levels: system user business perspective: functional constraint quality attributes
  2) component architecture + interaction =
  3) only focus on high-level conceptual schema components for high-level components of the "responsibility" for the general definition, and gives rise between components the relationship, which does not involve the interface details (only abstract and abstract component interaction mechanisms).
  4) and the interface occupies in refining the architecture very central position, and the importance to refine the architecture of the whole system is divided by subsystems and modules, the "real" interaction mechanisms, such as call interface programming, messaging or remote method.

2. close to the multi-view method of practice

  1) Run Architecture (process, thread)
  2) logical architecture (the definition of the interface, divided subsystem (when you use C) structuring process modules, logical layer (Layer))
  Selection 3) physical infrastructure (servers , the physical layer (Tier))
  . 4) development architecture ((parallel development required) source tree)
  5) data schema (data distribution database schema (not selected from the RDBMS) file format (embedded systems) the Flash memory structure)
  6) logic physical architecture architecture are two sides of the same architecture design phase must be taken into account at the same time

  7) Thinking foothold five views:
    division of responsibilities (logical view) program organization units (development view) flow control tissue (Runs view) physical node arrangement (physical view) persistent design (view)

3. About Logical Architecture

  1) into policy subsystem:
    hierarchical refinement, the introduction of the partition, extraction mechanisms
  2) refinement layered (hierarchical refinement lateral):
    the presentation layer - layer, presentation layer control
    service layer - layer services implemented service interface physical layer layer service
    data access layer - data access layer

  3) into partitions (still one longitudinal partition)
  extracted 4) mechanism (based collaboration interface or abstract class is the mechanism) (not really cooperative mechanism based on specific classes ):
  mechanism is a special sub-
three means in different dimensions, complementary

  5) sub-divided into: four important principle

  design 6) 1. Interface design interface uses divide and conquer (engagement means is divided purpose)
2 in order to achieve a series of functions of the software system, the software unit to be and what other units how to collaborate.
Collaborative decision Interface
  7) logical structure design question here :( driven using the contents of the book after finishing a good courseware)

  • Sub-division, logical architecture design process:
    • According to the current understanding of division (starting from the conceptual framework)
    • Find a unit involved in the function (using three means of sub-division)
    • Let them done in collaboration functions (responsibilities Collaboration)
    • Challenge and promote in-depth design (custom package - Interface Figure)



4. physical architectures, infrastructure, development of infrastructure on

  1. The main physical architecture design:
  • Select hardware and physical topology
  • Software to hardware mapping relationship
  • Optimization of
  1. Design content on tiers: (control flow graph is the key) (control flow to achieve three means: process thread interrupt service routine)
  • Determining which control flow is introduced;
  • Determining for each control task flow;
  • Flow control to create, destroy, and other communication mechanisms;
  • Synchronization relationship between a control flow, locking mechanism
  1. Development framework design elements:
  • The "logical structure" is mapped to the program element
    • To self-written source code
    • Reusable libraries, frameworks
    • Otherwise (shell scripts, platform configuration file)
  • Development of technology options: the development of language, platform tools
  • Between "program unit" relationship
    • Project division
    • Project Directory Structure
    • Compile dependencies

  In addition to the above I also learned the importance of reuse (reuse goal is cost savings, the key is to reuse test)
  There is always considered to be non-functional requirements (quality attributes), and constraints

Guess you like

Origin www.cnblogs.com/zzstdruan1707-4/p/12669829.html