1, "evolutionary" development and architecture.
In the field of modern software engineering, architecture is often not "waterfall" but "evolutionary" architecture design. Such as agile iterative development.
2. List of risk issues.
Maintain a list of risk issues throughout the development lifecycle. Improve the quality of architecture and development.
3. Infrastructure and application architecture.
Net and J2EE are common infrastructures. Only by understanding the construction details and application mechanism of these architectures can we choose and design high-quality and high-performance application architectures. The SSH architecture you mentioned is more suitable for large-scale projects.
4. Architecture design principles.
(1) meets functional and non-functional requirements.
(2) practicality. (Avoid over-engineering-over-design)
(3) Meet the requirements of multiplexing.
5. Matters needing attention in architectural design.
(1) hierarchy rules. Low coupling between three layers
(2) Package rules. Avoiding circular dependencies will make the hierarchy unclear.
(3) Rational application of design pattern. Choose the design mode according to the problem
Say so much first, I hope it will help you.