Documenting architecture: an introduction

Hi, my name is Vladimir Ivanov and I am a software architect at EPAM. In my work, I constantly have to document software solutions that have to be created. I decided to share some aspects of this activity with you, because you too may find it useful.



How do you draw diagrams for your software? What questions should they answer? Why draw anything at all? Let's figure it out.





One of the responsibilities of a solution architect is to document the architecture so that it can be passed on to all project stakeholders: project manager, CTO, project sponsor, development teams, QA, and others. This is necessary in order to:



  • understand what components the system consists of;
  • how these components communicate with each other;
  • how and where the different elements are located;
  • whether the system as a whole meets the requirements.


Lack of this information can easily lead to missed project deadlines, overtime, or cancellation.





Photo by ThisisEngineering RAEng / Unsplash



Let's consider examples



. , , โ€” - , . , . , - , , . Ghost CMS, MySQL; - Apache. -, http https CMS. CMS , , . GCP . , -, . . , :





- , , :



  • . - , .
  • . , , : ; ; ; . .
  • . . , ? ?


(views) โ€œ โ€(viewpoints), " " SEI, . :



  1. .
  2. , .
  3. , , , .

    (- -, C4 . .), , . , .




โ€” , ( ):

ยท ,

ยท ,

ยท ,

ยท -,

ยท .



:





, : . , :



?





(Context Diagram, C4), , . "". , , , , โ€‹โ€‹ .



?





Deployment Diagram



, Google, , IAM. , (20-30 ), , . , .

, , .

, . , .



?





, CMS . , - , . , CMS .

, .





, Views. , - , , ยซ ยป. .




All Articles