Write Documentation
Ref:
- Django Doc Writing Principles
- Pattern Forms
- RFC2119: description use of MUST, MUST NOT, SHOULD, MAY, etc in internet documentation
- Readme Driven Development
- Code of conduct by 18F
- Documenting API
- Golumn - Git-based Wiki
- https://blog.stephsmith.io/learning-to-write-with-confidence/
- https://nordicapis.com/5-examples-of-excellent-api-documentation/
README
- Curated list of Awesome README
- Readme Template by PurpleBooth
- Beginner guide to writing a kickass readme
System Notation/Model
- System-View-Model: View is a representation of a whole system from the perspective of a related set of concerns
- Entity–attribute–value model (EAV)
4+1 Architectural View
Logical view
: is concerned with the functionality that the system provides to end-users.Development view
: illustrates a system from a programmers perspective and is concerned with software management.Process view
: deals with the dynamic aspect of the system, explains the system processes and how they communicate, and focuses on the runtime behavior of the system.Physical view
: depicts the system from a system engineer’s point of view. It is concerned with the topology of software components on the physical layer, as well as communication between these components.- Use cases or scenarios are utilized to illustrate the architecture
c4 model
Context
(level 1): they show the system in scope and its relationship with users and other systemsContainer
(level 2): they decompose a system into interrelated containers. A container represents an application or a data storeComponent
(level 3): they decompose containers into interrelated components, and relate the components to other containers or other systemsCode
(level 4): they provide additional details about the design of the architectural elements that can be mapped to code