14.6.10

Checklist: questions the architect should plan to answer

  1. What are the driving architectural constraints, and where are they documented? Are they requirements or goals? Are they measurably quantitative or qualitative? In particular, what are the system's real-time constraints?
  2. What component types are defined? For each, what are its:
    • Responsibilities
    • Methods, data members
    • Limitations
    • Composition rules
    • Other characteristics
  3. What component instances are defined by the architecture?
  4. How do components communicate and synchronize? In particular:
    • Mechanisms used
    • Restrictions on use
  5. What are the system partitions?
    • Composition
    • Restrictions on use and visibility
    • Functional allocations
  6. What are the styles or architectural approaches used?
  7. What constitutes the system infrastructure?
    • Supplied functionality
    • Resource management
    • APIs
    • Restrictions
  8. What are the system interfaces? (this includes HMI, devices, external systems)
    • Participants
    • Mechanisms, formats, protocols, modes
    • Identification/typing/versioning What are the strategies and tools used for persistent storage?
  9. What are the strategies and tools for enforcing security requirements ?
    • Trust boundaries
    • Threat model
  10. What are the strategies and tools for handlings faults and failures ?
  11. What is the process/thread model of the architecture?
  12. What is the deployment model of the system?
    • Server and datastore partitioning/instances
    • Topology
    • Capacity and sizing
  13. What are the system states and modes?
    • Control
    • Responsibilities
    • State knowledge dispersal
  14. What COTS (Commercial off-the-shelf) are used? How are they chosen and integrated?
  15. What variability (in terms of implementation changes and not data or scenario changes) mechanisms and variation points are included in the architecture ?
  16. How far along is the development? Were the block delivery dates met? Did the blocks meet their functionality requirements?
  17. What documentation tree and human help do new employees get?
  18. What is the skill level and experience of the development team members?

Nvidia's GauGan App

NVIDIA's GauGAN AI Machine Learning Tool creates photorealistic images from Simple Hand Doodling http://nvidia-research-mingyuliu.com/...