Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save badcommandorfilename/ae6cadade76781a06a4debb6ab40412c to your computer and use it in GitHub Desktop.
Save badcommandorfilename/ae6cadade76781a06a4debb6ab40412c to your computer and use it in GitHub Desktop.

Scope and Purpose

What are the objectives of the system? Who are the users? What goals do the users want?

Design Inputs

What technologies will be used? What software patterns (MVVM/MVC/Pub-Sub/Producer-Consumer) are being used? What other options were considered?

System Components

Component 1

What is Component 1? What is the responsibility of Component 1?

Block Diagram

Sketch of how Components interact with each other

Interface Descriptions

What are the interfaces between Components?

Application Interface

How does the System interface with other external systems (ones not described in this document)?

User Interface

How do users interact with the System?

Error Reporting

Detail explicit classes of errors that need explicit treatment

Error Recovery

How will errors be retried? How are partial state changes handled?

User Facing Messages

What errors will the users see? What actions should they take? Will they lose data?

Operational Alerts

What errors will trigger an alert to the operations/support team?

Logging

What important non-error (warning/info/trace) behaviors will be logged?

Security & Privacy Considerations

Upgrade & Maintenance Considerations

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment