|
| 1 | += image:../docs/images/isaqb-logo.jpg[width=150] CPSA Certified Professional for Software Architecture^(R)^: Foundation Level Curriculum 2021 |
| 2 | + |
| 3 | +==== |
| 4 | +The newest release of the Foundation-Level syllabus was published on April 1^st^, 2025. |
| 5 | +From that date, using this new curriculum in both trainings and examination becomes **mandatory**. |
| 6 | +Please adjust your training material accordingly. |
| 7 | +==== |
| 8 | + |
| 9 | +For all errors you find, please https://github.com/isaqb-org/curriculum-foundation/issues/[open issues on our public issue tracker]. |
| 10 | + |
| 11 | +== Brief Summary of Changes Between 2021.1 amd 2025.1 |
| 12 | +* Major changes to both the structure and the content. |
| 13 | +* The structure of the entire document was changed primarily to separate the topics of "Quality / Requirements" from "Architecture Assessment", which were previously in one chapter "4. Software Architecture and Quality". |
| 14 | +* Many of the individual learning goals were relocated to other chapters, to combine topics that logically belonged together. |
| 15 | +* At least 50% of the syllabus was changed |
| 16 | +* The exam-relevance of several learning goals were demoted or promoted. |
| 17 | +* Every chapter now includes a "Purpose" statement |
| 18 | +* References were added to each learning goal, where applicable |
| 19 | +* Terms were linked to a corresponding description in the iSAQB Glossary, where appropriate. |
| 20 | + |
| 21 | +== Detailed Changelog (curated) |
| 22 | +For the complete changelog, see the git commit history. The numbers (like #196) refer to the GitHub issues. |
| 23 | + |
| 24 | +* Introduction: |
| 25 | +** A description pertaining to "What does this Curriculum Contain" was added. It explains that the focus is on the essential activities and responsibilities of software architecture as a role. |
| 26 | +** The fact that the prerequisites are going to be tested was emphasized. |
| 27 | +** The outline of the duration for each of the chapters was changed to reflect the new structure. |
| 28 | + |
| 29 | +* LG 01-00 Chapter 1: Basic Concepts of Software Architecture |
| 30 | +** The impacts of changes to the software architecture on other things as well as the impact of other things on software architecture is stressed. |
| 31 | +** "Importance of Data and Data Models" was added. |
| 32 | +** "Cross-cutting concepts" was renamed to "cross-cutting concerns" |
| 33 | +** The learning goal "Differentiate between types of IT systems" has been completely removed. |
| 34 | + |
| 35 | +* LG 01-01: |
| 36 | +** The definitions of software architectures have been minimized to ISO42010/Bass/Kruchten. IEEE etc. is no longer mentioned. |
| 37 | + |
| 38 | +* LG 01-02: |
| 39 | +** no changes to content |
| 40 | + |
| 41 | +* LG 01-03: |
| 42 | +** New. "Know Long-term Impact of Software Architecture (R3)". |
| 43 | +** Replaces LG 1-3". Demoted to R3. |
| 44 | +** Focus on the impact of other things (e.g., changes in requirements or technologies) on software architecture and the impact of software architecture on other things (e.g., business processes, IT systems). |
| 45 | + |
| 46 | +* LG 01-04: |
| 47 | +** The differences between the German and English versions regarding “Refine requirements as needed” has been resolved. The new syllabus states, " Coordinate and agree on any necessary refinements with the corresponding stakeholders". |
| 48 | +** The differences between the German and English versions regarding “Decide on cross-cutting concepts [...] and implement as needed” hase been resolved by removed "and implement as necessary". |
| 49 | +** "Cross-Cutting Concepts" now referred to as "Cross-Cutting Concerns" |
| 50 | + |
| 51 | +* LG 01-05: |
| 52 | +** Previously LG 1-09 |
| 53 | +** "System Architecture" added. |
| 54 | + |
| 55 | +* LG 01-06: |
| 56 | +** Previously LG 1-5. |
| 57 | +** Minor changes to the list of stakeholders |
| 58 | + |
| 59 | +* LG 01-07: Importance of Data and Data Models (R2) |
| 60 | +** New learning goal, including identifying and designing data models and understanding the difference between products and sums in data modelling, decoupling data models from their representation in databases, files, and transmission protocols, and the impact of data on architecture decisions regarding e.g. storage, security, scalability, reliability, performance etc. |
| 61 | + |
| 62 | +* LGs removed or moved: "LG 1-10: Differentiate Types of IT Systems (R3)" was completely removed |
| 63 | + |
| 64 | +*LG 02-00 Chapter 2: Requiremennts and Constraints |
| 65 | +** This is a new chapter. Almost all of the content has been newly created or completely changed from the previous content. Only the list of stakeholders and constraints remained mostly the same. |
| 66 | +** The differentiation between functional requirements, quality requirements, and constraints is not emphasized as it was in the previous syllabus." |
| 67 | + |
| 68 | +* LG 02-01: |
| 69 | +** Takes parts of "LG 1-5: Relate the Role of Software Architects to other Stakeholders" and "LG 1-7: Differentiate between Short- and Long-Term Goals (R2)" (elevated to R1) and adds examples of stakeholder concerns. |
| 70 | +** Emphasizes the need to identify the impacts of the stakeholder concerns on the architecture and design process. |
| 71 | +** Enterprise Architect and Hardware Developers were removed from the list of stakeholders (to shorten the list). |
| 72 | + |
| 73 | +* LG 02-02: |
| 74 | +** Previously LG 2-3. |
| 75 | +** The list of requirements and constraints hasn't changed. There is a new focus that the Software Architects understand the impact of the requirements and constraints on the architecture and that architecture decisions may necessitate new requirements or changes to existing requirements. |
| 76 | + |
| 77 | +* LG 02-03: |
| 78 | +** Previously LG 4-1 |
| 79 | +** New content. |
| 80 | +** The definition of “Quality” has been refined. Defines "Quailty" as "a specific property of a software system". |
| 81 | +** Refers to taxonomies and categorizations of requirements. |
| 82 | +** Retains the necessity fo considering trade-offs. |
| 83 | + |
| 84 | +* LG 02-04: |
| 85 | +** Previously LG 4-2 |
| 86 | +** New focus is on formulating scenarios (not just quality scenarios) and the use of the method analysis described in LG 05-02. The term "Quality Tree" was removed. |
| 87 | + |
| 88 | +* LG 02-05: |
| 89 | +** Previously LG 1-8. Reworded for clarity. |
| 90 | + |
| 91 | +* LG 03-00 Chapter 3: Design and Development of Software Architectures |
| 92 | +** Stresses that the architecture should fulfill the requirements. |
| 93 | +** Examples of quality requirements was removed. |
| 94 | +** Iterative design approach was reworded to emphasize the importance of feedback loops and risks. |
| 95 | +** Several principles were recategorized and their exam relevance demoted or promoted. |
| 96 | +** Types of coupling and the definition of interfaces were refined. |
| 97 | +** The text relating to architecture patterns was reduced considerably and instead references given to the glossary. |
| 98 | +** Architecture patterns and design patterns are split into different learning goals and the patterns moved accordingly. |
| 99 | +** There is now a differentiation between "cross-cutting concerns" and "cross-cutting concepts"." |
| 100 | + |
| 101 | +* LG 03-01: |
| 102 | +** Previously LG 2-8 |
| 103 | +** New content. Stresses that the architecture should fulfill the requirements as well as identifying trade-offs between designs and associated risks. |
| 104 | + |
| 105 | +* LG 03-02: |
| 106 | +** Previously LG 2-2, No changes except: |
| 107 | +** Link to another chapter |
| 108 | +** In the German version, remove the redundant sentence, "fachliche und technische Bestandteile in Architekturen trennen und diese Trennung begründen"" |
| 109 | + |
| 110 | +* LG 03-03: |
| 111 | +** Previously LG 2-1 |
| 112 | +** Iterative design approach was reworded to emphasize the importance of feedback loops and risks and moved to LG 03-05. |
| 113 | + |
| 114 | +* LG 03-04: |
| 115 | +** Previously LG 2-1 |
| 116 | +** Several principles were recategorized and their exam-relevance promoted or demoted. |
| 117 | +** SOLID separated as a separate point. Interface seggregation and single responsibility are now only mentioned along with SOLID and are no longer test-relevant. |
| 118 | +** YAGNI, DRY, and KISS are no longer exam-relevant. |
| 119 | + |
| 120 | +* LG 03-05: |
| 121 | +** Previously LG 1-6. |
| 122 | +** Uses content from other learning goals and changes them accordingly. |
| 123 | +** Replaces iterative and incremental approach. |
| 124 | +** Emphasizes the use of iterations to obtain feedback to architecture decisions. |
| 125 | + |
| 126 | +* LG 03-06: |
| 127 | +** Previously LG 2-7 |
| 128 | +** In addition to "use/delegation", "messaging/events", "composition" etc. types of coupling, additional types were added, including static vs. dynamic and efferent vs. afferent coupling. |
| 129 | +** Emphasizes the consequences of coupling and the decisions as to whether or not to remove the dependencies based on requirements. |
| 130 | +** A remark was added that, "forgoing static dependencies in favor of dynamic dependencies does not necessarily reduce the underlying coupling". |
| 131 | + |
| 132 | +* LG 03-07: |
| 133 | +** Previously LG 2-9. |
| 134 | +** Several passages were reworded. |
| 135 | +** The distinction between interface and implementation was added. |
| 136 | +** Multiple characteristics of interfaces were added (e.g., internal vs external, local or remote, synchronous or asynchronous). |
| 137 | +** GraphQL was added to the types of remote interfaces. |
| 138 | + |
| 139 | +* LG 03-08 and LG 03-09: Previously LG 2-5. |
| 140 | +** The text was significantly shortened and a reference to the glossary was added instead. |
| 141 | +** Architecture patterns and design patterns are split into different learning goals and the patterns were moved accordingly. |
| 142 | +** Dependency Injection was demoted to R3. |
| 143 | + |
| 144 | +* LG 03-10: |
| 145 | +** Previously LG 2-4 |
| 146 | +** The syllabus differentiates between "cross-cutting concerns" and the "cross-cutting concepts" that the architect designs to address the concerns. |
| 147 | + |
| 148 | +* LG 03-11: |
| 149 | +** Previously LG 2-10. No changes to content |
| 150 | + |
| 151 | +* LG 03-12: |
| 152 | +** Previously LG 1-11. No changes to content |
| 153 | + |
| 154 | +* LG 04-00 Chapter 4: Specification and Communication of Software Architectures |
| 155 | +** This chapter remains mostly unchanged. |
| 156 | +** A few things were slightly reworded, a few notations were added, a couple of learning goals were combined, and a note was made to explizitely state that additional views can be used in addition to the standard views promoted by iSAQB. |
| 157 | +** An IT-related joke was added. :-) |
| 158 | + |
| 159 | +* LG 04-01: |
| 160 | +** Previously LG 3-1. |
| 161 | +** Slight rewording to one bullet point |
| 162 | + |
| 163 | +* LG 04-02: |
| 164 | +** Previously LG 3-2. |
| 165 | +** In the German version, the first bullet point slightly reworded. |
| 166 | + |
| 167 | +* LG 04-03: |
| 168 | +** Previously LG 3-3. |
| 169 | +** SysML, C4, and Entity-Relationship Diagram were added to notations. |
| 170 | + |
| 171 | +* LG 04-04: |
| 172 | +** LG 04-04 is new. |
| 173 | +** A serious and true point regarding software architecture is humorously described: Architects need to be able to deal with unexpected situations. |
| 174 | + |
| 175 | +* LG 04-05: |
| 176 | +** Previously LG 3-4 and LG 3-5. |
| 177 | +** Two chapters were combined and the text was standardized to explain both the name and purpose of the views. |
| 178 | +** A remark that "additional views can be used as needed to address other concerns or requirements of stakeholders" has been added. |
| 179 | + |
| 180 | +* LG 04-06: |
| 181 | +** Previously LG 3-7 |
| 182 | +** Slight rewording |
| 183 | + |
| 184 | +* LG 04-07: |
| 185 | +** Previously LG 3-06. |
| 186 | +** Differentiation between "cross-cutting concerns" and "cross-cutting concepts" |
| 187 | + |
| 188 | +* LG 04-08: |
| 189 | +** Previously LG 3-8: no content changes |
| 190 | + |
| 191 | +* LG 04-09: |
| 192 | +** Previously LG 3-9. FMC removed |
| 193 | + |
| 194 | +* LG 05-00 Chapter 5: Analysis and Assessment of Software Architectures |
| 195 | +** This chapter was almost completely rewritten. |
| 196 | +** The aspects relating to requirements were moved to another chapter. The topics of quantitative and qualitative analysis as well as code analysis were replaced with topics relating to the reasons for assessing architectures and the methods and sources of information for analyzing software architectures. |
| 197 | + |
| 198 | +* LG 05-01: |
| 199 | +** This is a new learning goal that specifies the different reasons for performing architecture analysis. |
| 200 | + |
| 201 | +* LG 05-02: |
| 202 | +** Previously LG 4-3 und 4-4. |
| 203 | +** Topics from two chapters were consolidated, but pretty much completely rewritten to focus more on the analysis methods |
| 204 | + |
| 205 | +* LG 05-03: |
| 206 | +** This is a new learning goal that focuses on assessing the conformance of the implementation to the architecture design and decisions. |
| 207 | + |
| 208 | +* LG 06-00 Chapter 6: Examples of Software Architectures |
| 209 | +** No content changes. |
| 210 | + |
| 211 | +* LG 06-01: |
| 212 | +** Previously LG 5-1. No content changes. |
| 213 | + |
| 214 | +* LG 06-02: |
| 215 | +** Previously LG 5-2. No content changes. |
| 216 | + |
| 217 | + |
| 218 | +== Known Issues |
| 219 | +* Refer to GitHub issues |
0 commit comments