|
14 | 14 | - [3.3 Non-functional Requirements](#33-non-functional-requirements)
|
15 | 15 | - [3.4 Constraints](#34-constraints)
|
16 | 16 | - [3.5 Assumptions](#35-assumptions)
|
| 17 | + - [3.6 Risks](#36-risks) |
17 | 18 | - [4 Quality Attributes(ASR)](#4-quality-attributes)
|
18 |
| -- [5 Baseline Architecture](#4-quality-attributes) |
19 |
| - - [5.1 High-level Solution Structure ](#51-high-level-solution-structure) |
20 |
| - - [5.1.1 Solution Component 1 ](#511-solution-component-1) |
21 |
| - - [5.1.2 Solution Component 2 ](#512-solution-component-2) |
22 |
| - - [5.2 High-level Solution Structure ](#51-high-level-solution-structure) |
| 19 | +- [5 Baseline Solution Architecture](#5-baseline-solution-architecture) |
| 20 | + - [5.1 High-level Solution Structure](#51-high-level-solution-structure) |
| 21 | + - [5.1.1 Solution Component 1](#511-solution-component-1) |
| 22 | + - [5.1.2 Solution Component 2](#512-solution-component-2) |
| 23 | + - [5.2 Solution Component structure](#52-solution-components-structure) |
| 24 | + - [5.2.1 Solution Component 1](#521-solution-component-1) |
| 25 | + - [5.2.2 Solution Component 2](#522-solution-component-2) |
| 26 | + - [5.3 Domain model](#53-domain-model) |
| 27 | + - [5.4 Data model](#54-data-model) |
| 28 | + - [5.4.1 Storage-1](#541-storage-1) |
| 29 | + - [5.4.2 Storage-2](#542-storage-2) |
| 30 | + - [5.5 High-level Deployment Approach](#55-high-level-deployment-approach) |
| 31 | + - [5.6 Architecturally Significant Quality Attributes](#56-architecturally-significant-quality-attributes) |
| 32 | + - [5.6.1 Security](#561-security) |
| 33 | + - [5.6.2 Supportability](#562-supportability) |
| 34 | + - [5.6.2.1 Monitoring](#5621-monitoring) |
| 35 | + - [5.6.2.2 Administration Tools](#5622-administration-tools) |
| 36 | + - [5.6.2.3 Specific deployment aspects](#5623-specific-deployment-aspects) |
| 37 | +- [6 Target Solution Architecture](#6-target-solution-architecture) |
| 38 | + - [6.1 Risks](#61-risks) |
| 39 | + - [6.2 Dependencies](#62-dependencies) |
| 40 | + - [6.3 Assumptions](#63-assumptions) |
| 41 | + - [6.4 High-level Solution Structure](#64-high-level-solution-structure) |
| 42 | + - [6.4.1 Solution Component 1](#641-solution-component-1) |
| 43 | + - [6.4.2 Solution Component 2](#642-solution-component-2) |
| 44 | + - [6.5 Solution Component structure](#52-solution-components-structure) |
| 45 | + - [6.5.1 Solution Component 1](#651-solution-component-1) |
| 46 | + - [6.5.2 Solution Component 2](#652-solution-component-2) |
| 47 | + - [6.6 Domain model](#66-domain-model) |
| 48 | + - [6.7 Data model](#67-data-model) |
| 49 | + - [6.7.1 Storage-1](#671-storage-1) |
| 50 | + - [6.7.2 Storage-2](#672-storage-2) |
| 51 | + - [6.8 High-level Deployment Approach](#68-high-level-deployment-approach) |
| 52 | + - [6.9 Architecturally Significant Quality Attributes](#69-architecturally-significant-quality-attributes) |
| 53 | + - [6.9.1 Security](#691-security) |
| 54 | + - [6.9.2 Supportability](#692-supportability) |
| 55 | + - [6.9.2.1 Monitoring](#6921-monitoring) |
| 56 | + - [6.9.2.2 Administration Tools](#6922-administration-tools) |
| 57 | + - [6.9.2.3 Specific deployment aspects](#6923-specific-deployment-aspects) |
23 | 58 |
|
24 | 59 | ### 1. Executive summary
|
25 | 60 | [Description: This is a mostly non-technical summary of the entire Solution Architecture Document (SAD) for customer top management.
|
@@ -161,6 +196,12 @@ This is critical to do in order to cover all the gaps in the requirements.
|
161 | 196 |
|
162 | 197 | Section Type: Mandatory (if section is not covered with available documentation)]
|
163 | 198 |
|
| 199 | +#### 3.6 Risks |
| 200 | +[Description: This section lists potential risks related to the target solution architecture or solution migration to |
| 201 | +target solution architecture. |
| 202 | + |
| 203 | +Section Type: Highly recommended] |
| 204 | + |
164 | 205 | ### 4 Quality Attributes
|
165 | 206 | [Description: Select 3-5 most important quality attributes for the future solution architecture based on the requirements because your architectural decisions will depend on them.
|
166 | 207 | Provide motivation for selecting every quality attribute.
|
@@ -197,7 +238,7 @@ Section Type: Mandatory]
|
197 | 238 | | |Usability |[Usability metrics](metrics/usability.md) |
|
198 | 239 | | |Accessibility |[Accessibility metrics](metrics/accessibility.md) |
|
199 | 240 |
|
200 |
| -### 5 Baseline Architecture |
| 241 | +### 5 Baseline Solution Architecture |
201 | 242 | [Description: This section must be addressed only if you are working in a “brown field”, where the customer already has
|
202 | 243 | a legacy solution. This section describes the legacy solution architecture with a sufficient level of detail.
|
203 | 244 | Note: In some cases it makes sense to have Baseline Solution Architecture (also known as putting the solution
|
@@ -259,7 +300,223 @@ Section Type: Mandatory (if legacy solution is to be re-worked and migrated)]
|
259 | 300 | - Sub-component diagram
|
260 | 301 | - Sub-component relations/dependencies]
|
261 | 302 |
|
| 303 | +#### 5.3 Domain model |
| 304 | +[Description: This section describes the domain model if Domain-Driven Design was used during baseline solution design. |
| 305 | +Describe the domain model in terms of bounded contexts and the main entities in every context. |
| 306 | + |
| 307 | +Section Type: Optional (if applicable)] |
| 308 | + |
| 309 | +#### 5.4 Data Model |
| 310 | +[Description: This section describes the approach to data storage and data models. |
| 311 | +List data storage components of any nature, relational and non-relational, with data model diagrams for each storage. |
| 312 | + |
| 313 | +Section Type: Highly recommended (if applicable)] |
| 314 | + |
| 315 | +##### 5.4.1 Storage 1 |
| 316 | +[This section describes the data storage technology stack and the used data model with data model diagrams.] |
| 317 | + |
| 318 | +##### 5.4.2 Storage 2 |
| 319 | +[This section describes the data storage technology stack and the used data model with data model diagrams.] |
| 320 | + |
| 321 | +#### 5.5 High-level Deployment Approach |
| 322 | +[Description: This section describes the high-level deployment approach to all required environments |
| 323 | +(development, staging, production, etc.). This is a blueprint in high-level detail without specific physical parameters |
| 324 | +of hardware and so on. |
| 325 | + |
| 326 | +Section Type: Mandatory (if legacy solution is to be re-worked and migrated)] |
| 327 | + |
| 328 | +#### 5.6 Architecturally Significant Quality Attributes |
| 329 | + |
| 330 | +##### 5.6.1 Security |
| 331 | +[Description: Possible focus areas to consider in this section: |
| 332 | +- Customer security policies |
| 333 | +- Authorization/authentication |
| 334 | +- Communication encryption |
| 335 | +- Encryption of stored data |
| 336 | +- Personal data management |
| 337 | +- Deployment security |
| 338 | +- Etc. |
| 339 | + |
| 340 | +Section Type: Recommended (if legacy solution is to be re-worked and migrated)] |
| 341 | + |
| 342 | +##### 5.6.2 Supportability |
| 343 | + |
| 344 | +###### 5.6.2.1 Monitoring |
| 345 | +[Description: Describe the approach to solution support here. Consider the following aspects: |
| 346 | +- Logging |
| 347 | +- Performance counters/metrics |
| 348 | +- Monitoring tools |
| 349 | +- Solution component availability |
| 350 | +- Etc. |
| 351 | + |
| 352 | +Section Type: Recommended (if legacy solution is to be re-worked and migrated)] |
| 353 | + |
| 354 | +###### 5.6.2.2 Administration Tools |
| 355 | + |
| 356 | +###### 5.6.2.3 Specific deployment aspects |
| 357 | +[Description: For example, complex database deployment] |
| 358 | +[Notice: Note that you must consider the migration process, risks, issues, and so on if you have a legacy solution |
| 359 | +to migrate to the new architecture. In this case, you need to design the new solution having this legacy architecture |
| 360 | +in mind. |
| 361 | + |
| 362 | +Section Type: Optional] |
| 363 | + |
| 364 | +### 6 Target Solution Architecture |
| 365 | +[Description: This section describes the proposed target solution architecture (also known as solution architecture |
| 366 | +“to be”). |
| 367 | + |
| 368 | +Section Type: Mandatory] |
| 369 | + |
| 370 | +#### 6.1 Risks |
| 371 | +[Description: This section lists potential risks related to the target solution architecture or solution migration to |
| 372 | +target solution architecture. |
| 373 | + |
| 374 | +Section Type: Highly recommended] |
| 375 | + |
| 376 | +#### 6.2 Dependencies |
| 377 | +[Description: This section lists dependencies related to the target solution architecture or solution migration to |
| 378 | +target solution architecture. |
| 379 | + |
| 380 | +Section Type: Highly recommended] |
| 381 | + |
| 382 | +#### 6.3 Assumptions |
| 383 | +[Description: This section lists assumptions related to the target solution architecture or solution migration to |
| 384 | +target solution architecture. |
| 385 | + |
| 386 | +Section Type: Highly recommended] |
| 387 | + |
| 388 | +#### 6.4 High-level Solution Structure |
| 389 | +[Description: This section describes (in the context of the whole IT landscape): |
| 390 | +- Set of solution components |
| 391 | +- Integration of solution components |
| 392 | +- High-level architectural styles used in the solution architecture |
| 393 | +Include the following things in this section: |
| 394 | +- High-level solution diagram |
| 395 | +- High-level description of solution behavior (in terms of sequences, state-machine, data flow and execution diagrams) |
| 396 | +- Comments about used architectural styles |
| 397 | +- List of architecturally significant components and descriptions of their technology stack and integration with each |
| 398 | + other |
| 399 | + |
| 400 | +Section Type: Mandatory (if legacy solution is to be re-worked and migrated)] |
| 401 | + |
| 402 | +##### 6.4.1 Solution Component 1 |
| 403 | +| | | |
| 404 | +|--------------------------------|---------------------------------------------------------------------------------------------| |
| 405 | +|Description |[Describe the general purpose of the component in the system] | |
| 406 | +|Technology Stack |[Describe the technology stack of the component by listing main frameworks, libraries, tools]| |
| 407 | +|Related components |[List related components with a short description of the relation nature] | |
| 408 | +|Covered functional requirements |[List covered functional requirements] | |
| 409 | +|Notes |[Put any additional specific notes here] | |
| 410 | + |
| 411 | +##### 6.4.2 Solution Component 2 |
| 412 | +| | | |
| 413 | +|--------------------------------|---------------------------------------------------------------------------------------------| |
| 414 | +|Description |[Describe the general purpose of the component in the system] | |
| 415 | +|Technology Stack |[Describe the technology stack of the component by listing main frameworks, libraries, tools]| |
| 416 | +|Related components |[List related components with a short description of the relation nature] | |
| 417 | +|Covered functional requirements |[List covered functional requirements] | |
| 418 | +|Notes |[Put any additional specific notes here] | |
| 419 | + |
| 420 | +#### 6.5 SOLUTION COMPONENTS STRUCTURE |
| 421 | +[Description: This section describes the internal structure of architecturally significant components. |
| 422 | + |
| 423 | +For every solution component, describe the following things: |
| 424 | +- Diagram of sub-components |
| 425 | +- Description of the sub-components’ behavior (in terms of sequences, state-machine, data flow and execution diagrams) |
| 426 | +- Sub-component integration |
| 427 | + |
| 428 | +Section Type: Mandatory (if legacy solution is to be re-worked and migrated)] |
| 429 | + |
| 430 | +##### 6.5.1 Solution Component 1 |
| 431 | + [Describe main sub-components in this section: |
| 432 | + - Sub-component contract |
| 433 | + - Sub-component diagram |
| 434 | + - Sub-component relations/dependencies] |
| 435 | + |
| 436 | +##### 6.5.2 Solution Component 2 |
| 437 | + [Describe main sub-components in this section: |
| 438 | + - Sub-component contract |
| 439 | + - Sub-component diagram |
| 440 | + - Sub-component relations/dependencies] |
| 441 | + |
| 442 | +#### 6.6 Domain model |
| 443 | +[Description: This section describes the domain model if Domain-Driven Design was used during baseline solution design. |
| 444 | +Describe the domain model in terms of bounded contexts and the main entities in every context. |
| 445 | + |
| 446 | +Section Type: Optional (if applicable)] |
| 447 | + |
| 448 | +#### 6.7 Data Model |
| 449 | +[Description: This section describes the approach to data storage and data models. |
| 450 | +List data storage components of any nature, relational and non-relational, with data model diagrams for each storage. |
| 451 | + |
| 452 | +Section Type: Highly recommended (if applicable)] |
| 453 | + |
| 454 | +##### 6.7.1 Storage 1 |
| 455 | +[This section describes the data storage technology stack and the used data model with data model diagrams.] |
| 456 | + |
| 457 | +##### 6.7.2 Storage 2 |
| 458 | +[This section describes the data storage technology stack and the used data model with data model diagrams.] |
| 459 | + |
| 460 | +#### 6.8 High-level Deployment Approach |
| 461 | +[Description: This section describes the high-level deployment approach to all required environments |
| 462 | +(development, staging, production, etc.). This is a blueprint in high-level detail without specific physical parameters |
| 463 | +of hardware and so on. |
| 464 | + |
| 465 | +Section Type: Mandatory (if legacy solution is to be re-worked and migrated)] |
| 466 | + |
| 467 | +#### 6.9 Architecturally Significant Quality Attributes |
| 468 | + |
| 469 | +##### 6.9.1 Security |
| 470 | +[Description: Possible focus areas to consider in this section: |
| 471 | +- Customer security policies |
| 472 | +- Authorization/authentication |
| 473 | +- Communication encryption |
| 474 | +- Encryption of stored data |
| 475 | +- Personal data management |
| 476 | +- Deployment security |
| 477 | +- Etc. |
| 478 | + |
| 479 | +Section Type: Recommended (if legacy solution is to be re-worked and migrated)] |
| 480 | + |
| 481 | +##### 6.9.2 Supportability |
| 482 | + |
| 483 | +###### 6.9.2.1 Monitoring |
| 484 | +[Description: Describe the approach to solution support here. Consider the following aspects: |
| 485 | +- Logging |
| 486 | +- Performance counters/metrics |
| 487 | +- Monitoring tools |
| 488 | +- Solution component availability |
| 489 | +- Etc. |
| 490 | + |
| 491 | +Section Type: Recommended (if legacy solution is to be re-worked and migrated)] |
| 492 | + |
| 493 | +###### 6.9.2.2 Administration Tools |
| 494 | + |
| 495 | +###### 6.9.2.3 Specific deployment aspects |
| 496 | +[Description: For example, complex database deployment] |
| 497 | +[Notice: Note that you must consider the migration process, risks, issues, and so on if you have a legacy solution |
| 498 | +to migrate to the new architecture. In this case, you need to design the new solution having this legacy architecture |
| 499 | +in mind. |
| 500 | + |
| 501 | +Section Type: Optional] |
262 | 502 |
|
| 503 | +### 7 Transition |
| 504 | +[Description: This section describes the approach to migration and compatibility (applicable in the case of |
| 505 | +“brown field”, when you need to migrate the customer smoothly from a legacy solution to a new one, |
| 506 | +including customer data. |
| 507 | + |
| 508 | +It is recommended to provide the customer with a set of high-level transition architectures (if applicable). |
| 509 | +Also, it is recommended to describe: |
| 510 | +- General approach to backward/forward compatibility (if applicable) |
| 511 | +- General approach to data compatibility |
| 512 | +- General approach to interface compatibility |
| 513 | +- Component-by-component migration description |
| 514 | +- Migration scenario and data migration should be described (physical view) |
| 515 | +- Deployment windows and how deployment affects availability |
| 516 | +- Level of support needed from others (operations, 3rd-party vendors, etc.) |
| 517 | +- Etc. |
| 518 | + |
| 519 | +Section Type: Mandatory (if migration from legacy solution must be done)] |
263 | 520 |
|
264 | 521 |
|
265 | 522 |
|
0 commit comments