How can you create a good, legible, maintainable component architecture? How can you validate your functional and non-functional requirements?
Yes you are right. You are responsible for architecture decisions at component or subsystem level. Below a set of tools to improve the quality of your design.