Software design process
- Eliciting requirements (User story)
- Asking questions to client or team and elaborate the detail.
- Start sentence from specific user type. "As a learner, I want to..."
- Conceptual mockup
- Clarify all responsibility
- Responsibility solves requirements. Does not have to solve other issues not on the requirement.
- Technical design
- Software structure suits the balance of qualities desired.
- Clarify user's circumstance (device).
- Security, Compatibility, Performance
- Understand tradeoff
- Using HTTPS makes web more secured but performance gets slow.
- Using HTTP2 make loading performance faster but needs to have server.