8 weeks · 0 milestones
Produce a software architecture document for a real or realistic system covering: a component diagram showing at least 4 logical components with named interfaces, an interface specification for each inter-component communication (message format, protocol, error handling), documented architectural decisions with at least 3 alternatives considered per major decision and explicit trade-off rationale, and a quality attribute analysis (how the architecture addresses 2 chosen quality attributes such as scalability, fault tolerance, or security). Diagrams produced using draw.io (free), Lucidchart free tier, or PlantUML (free, text-based). Proof artifacts: the architecture document with diagrams (design artifact) and a documented trade-off rationale for the primary architectural decisions (documentation artifact). Accessible: draw.io and PlantUML are fully free; no hardware or software license required. Verification: a senior software engineer or architect challenges 'why did you choose this component boundary?' and 'what breaks first when load doubles?' — you must answer in terms of the specific system, not general principles.