Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Restructured the iSAQB Foundation curriculum as agreed in the iSAQB Foundation meeting in January 2024 #391

Merged
merged 2 commits into from
Feb 13, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
20 changes: 12 additions & 8 deletions docs/00-preamble/04-structure-timing-didactics.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -13,13 +13,15 @@ Insbesondere die Art (fachliche und technische Domänen) der Beispiele und Übun

| 1. Grundlagen | 120

| 2. Entwurf und Entwicklung | 420
| 2. Anforderungen | 60

| 3. Beschreibung und Kommunikation | 240
| 3. Entwurf und Entwicklung | 420

| 4. Architektur und Qualität | 120
| 4. Beschreibung und Kommunikation | 240

| 5. Beispiele | 90
| 5. Analyse und Bewertung | 60

| 6. Beispiele | 90

| |

Expand All @@ -45,13 +47,15 @@ The types (domains and technologies) of examples and exercises can be determined

| 1. Basic Concepts of Software Architecture | 120

| 2. Design and Development | 420
| 2. Requirements | 60

| 3. Design and Development | 420

| 3. Specification and Communication | 240
| 4. Specification and Communication | 240

| 4. Software Architecture and Quality | 120
| 5. Analysis and Assessment | 60

| 5. Examples | 90
| 6. Examples | 90

| |

Expand Down
22 changes: 6 additions & 16 deletions docs/01-basics/00-basic-concepts.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -6,27 +6,17 @@ include::./01-basics-duration-terms.adoc[{include_configuration}]

=== {learning_goals}

include::./LZ-1-01.adoc[{include_configuration}]
include::./LZ-01-01.adoc[{include_configuration}]

include::./LZ-1-02.adoc[{include_configuration}]
include::./LZ-01-02.adoc[{include_configuration}]

include::./LZ-1-03.adoc[{include_configuration}]
include::./LZ-01-03.adoc[{include_configuration}]

include::./LZ-1-04.adoc[{include_configuration}]
include::./LZ-01-04.adoc[{include_configuration}]

include::./LZ-1-05.adoc[{include_configuration}]
include::./LZ-01-05.adoc[{include_configuration}]

include::./LZ-1-06.adoc[{include_configuration}]

include::./LZ-1-07.adoc[{include_configuration}]

include::./LZ-1-08.adoc[{include_configuration}]

include::./LZ-1-09.adoc[{include_configuration}]

include::./LZ-1-10.adoc[{include_configuration}]

include::./LZ-1-11.adoc[{include_configuration}]
include::./LZ-01-06.adoc[{include_configuration}]

include::./99-basics-references.adoc[tags={bibrefs}]

8 changes: 4 additions & 4 deletions docs/01-basics/LZ-1-01.adoc → docs/01-basics/LZ-01-01.adoc
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@

// tag::DE[]
[[LZ-1-1]]
==== LZ 1-1: Definitionen von Softwarearchitektur diskutieren (R1)
[[LZ-01-01]]
==== LZ 01-01: Definitionen von Softwarearchitektur diskutieren (R1)
Softwarearchitekt:innen kennen mehrere Definitionen von Softwarearchitektur (u. a. ISO 42010/IEEE 1471, SEI, Booch etc.) und können deren Gemeinsamkeiten benennen:

* Komponenten/Bausteine mit Schnittstellen und Beziehungen
Expand All @@ -12,8 +12,8 @@ Softwarearchitekt:innen kennen mehrere Definitionen von Softwarearchitektur (u.
// end::DE[]

// tag::EN[]
[[LG-1-1]]
==== LG 1-1: Discuss Definitions of Software Architecture (R1)
[[LG-01-01]]
==== LG 01-01: Discuss Definitions of Software Architecture (R1)

Software architects know several definitions of software architecture (incl. ISO 42010/IEEE 1471, SEI, Booch etc.) and can name their similarities:

Expand Down
9 changes: 4 additions & 5 deletions docs/01-basics/LZ-1-02.adoc → docs/01-basics/LZ-01-02.adoc
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@

// tag::DE[]
[[LZ-1-2]]
==== LZ 1-2: Nutzen und Ziele von Softwarearchitektur verstehen und erläutern (R1)
[[LZ-01-02]]
==== LZ 01-02: Nutzen und Ziele von Softwarearchitektur verstehen und erläutern (R1)

Softwarearchitekt:innen können folgenden Nutzen und wesentlichen Ziele von Softwarearchitektur begründen:

Expand All @@ -15,9 +15,8 @@ Softwarearchitekt:innen können folgenden Nutzen und wesentlichen Ziele von Soft
// end::DE[]

// tag::EN[]
[[LG-1-2]]

==== LG 1-2: Understand and Explain the Goals and Benefits of Software Architecture (R1)
[[LG-01-02]]
==== LG 01-02: Understand and Explain the Goals and Benefits of Software Architecture (R1)

Software architects can justify the following essential goals and benefits of software architecture:

Expand Down
14 changes: 8 additions & 6 deletions docs/01-basics/LZ-1-04.adoc → docs/01-basics/LZ-01-03.adoc
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@

// tag::DE[]
[[LZ-1-4]]
==== LZ 1-4: Aufgaben und Verantwortung von Softwarearchitekt:innen verstehen (R1)
[[LZ-01-03]]
==== LZ 01-03 [ehemaliges LZ 1-4]: Aufgaben und Verantwortung von Softwarearchitekt:innen verstehen (R1)
Softwarearchitekt:innen tragen die Verantwortung für die Erreichung der Anforderungen und die Entwicklung der Architektur der Lösung.
Sie müssen diese Verantwortung, abhängig vom jeweiligen Prozess- oder Vorgehensmodell, mit der Gesamtverantwortung der Projektleitung oder anderen Rollen koordinieren.

Expand All @@ -12,16 +12,17 @@ Aufgaben und Verantwortung von Softwarearchitekt:innen:
* Querschnittskonzepte entscheiden (beispielsweise Persistenz, Kommunikation, GUI) und bei Bedarf umsetzen
* Softwarearchitektur auf Basis von Sichten, Architekturmustern sowie technischen und Querschnittskonzepten kommunizieren und dokumentieren
* Umsetzung und Implementierung der Architektur begleiten, Rückmeldungen der beteiligten Stakeholder bei Bedarf in die Architektur einarbeiten, Konsistenz von Quellcode und Softwarearchitektur prüfen und sicherstellen
* Softwarearchitektur analysieren und bewerten, insbesondere hinsichtlich Risiken bezüglich der Erreichung von Anforderungen. Siehe <<LZ-4-3>> und <<LZ-4-4>>.
* Softwarearchitektur analysieren und bewerten, insbesondere hinsichtlich Risiken bezüglich der Erreichung von Anforderungen.
//Siehe <<LZ-4-3>> und <<LZ-4-4>>.
* Die Konsequenzen von Architekturentscheidungen erkennen, aufzeigen und gegenüber anderen Stakeholdern argumentieren

Sie sollen selbstständig die Notwendigkeit von Iterationen bei allen Aufgaben erkennen und Möglichkeiten für entsprechende Rückmeldung aufzeigen.

// end::DE[]

// tag::EN[]
[[LG-1-4]]
==== LG 1-4: Understand Software Architects' Tasks and Responsibilities (R1)
[[LG-01-03]]
==== LG 01-03 [ehemaliges LG 1-4]: Understand Software Architects' Tasks and Responsibilities (R1)
Software architects are responsible for meeting requirements and creating the architecture design of a solution.
Depending on the actual approach or process model used, they must align this responsibility with the overall responsibilities of project management and/or other roles.

Expand All @@ -33,7 +34,8 @@ Tasks and responsibilities of software architects:
* determine and decide on cross-cutting concepts (for instance persistence, communication, GUI etc.)
* communicate and document software architecture based on views, architectural patterns, cross-cutting and technical concepts
* accompany the realization and implementation of the architecture; integrate feedback from relevant stakeholders into the architecture if necessary; review and ensure the consistency of source code and software architecture
* analyze and evaluate software architecture, especially with respect to risks that involve meeting the requirements, see <<LG-4-3>> and <<LG-4-4>>,
* analyze and evaluate software architecture, especially with respect to risks that involve meeting the requirements.
//Refer to <<LG-4-3>> and <<LG-4-4>>,
* identify, highlight, and justify the consequences of architectural decisions to other stakeholders

They should independently recognize the necessity of iterations in all tasks and point out possibilities for appropriate and relevant feedback.
Expand Down
8 changes: 4 additions & 4 deletions docs/01-basics/LZ-1-09.adoc → docs/01-basics/LZ-01-04.adoc
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@

// tag::DE[]
[[LZ-1-9]]
==== LZ 1-9: Zuständigkeit von Softwarearchitekt:innen in organisatorischen Kontext einordnen (R3)
[[LZ-01-04]]
==== LZ 01-04 [ehemaliges LZ 1-09]: Zuständigkeit von Softwarearchitekt:innen in organisatorischen Kontext einordnen (R3)

Der Fokus des iSAQB CPSA-Foundation Level liegt auf Strukturen und Konzepten einzelner Softwaresysteme.

Expand All @@ -18,8 +18,8 @@ Diese Architekturdomänen sind nicht inhaltlicher Fokus vom CPSA-F.
// end::DE[]

// tag::EN[]
[[LG-1-9]]
==== LG 1-9: Responsibilities of Software Architects within the Greater Architectural Context (R3)
[[LG-01-04]]
==== LG 01-04 [previously LG 1-09]: Responsibilities of Software Architects within the Greater Architectural Context (R3)

The focus of the iSAQB CPSA Foundation Level is on structures and concepts of individual software systems.

Expand Down
8 changes: 4 additions & 4 deletions docs/01-basics/LZ-1-03.adoc → docs/01-basics/LZ-01-05.adoc
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@

// tag::DE[]
[[LZ-1-3]]
==== LZ 1-3: Softwarearchitektur in Software-Lebenszyklus einordnen (R2)
[[LZ-01-05]]
==== LZ 01-05 [ehemaliges LZ 1-03]: Softwarearchitektur in Software-Lebenszyklus einordnen (R2)

Softwarearchitekt:innen können Ihre Aufgaben und Ergebnisse in den gesamten Lebenszyklus von IT-Systemen einordnen.
Sie können:
Expand All @@ -12,8 +12,8 @@ Sie können:
// end::DE[]

// tag::EN[]
[[LG-1-3]]
==== LG 1-3: Understand Software Architecture as Part of the Software Lifecycle (R2)
[[LG-01-05]]
==== LG 01-05 [previously LG 1-03]: Understand Software Architecture as Part of the Software Lifecycle (R2)

Software architects understand their tasks and can integrate their results into the overall lifecycle of IT systems.
They can:
Expand Down
8 changes: 4 additions & 4 deletions docs/01-basics/LZ-1-10.adoc → docs/01-basics/LZ-01-06.adoc
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@

// tag::DE[]
[[LZ-1-10]]
==== LZ 1-10: Typen von IT-Systemen unterscheiden (R3)
[[LZ-01-06]]
==== LZ 01-06 [ehemaliges LZ 1-10]: Typen von IT-Systemen unterscheiden (R3)

Softwarearchitekt:innen kennen unterschiedliche Typen von IT-Systemen, beispielsweise:

Expand All @@ -17,8 +17,8 @@ Softwarearchitekt:innen kennen unterschiedliche Typen von IT-Systemen, beispiels
// end::DE[]

// tag::EN[]
[[LG-1-10]]
==== LG 1-10: Differentiate Types of IT Systems (R3)
[[LG-01-06]]
==== LG 01-06 [previously LG 1-10]: Differentiate Types of IT Systems (R3)

Software architects know different types of IT systems, for example:

Expand Down
30 changes: 0 additions & 30 deletions docs/02-design/00-design.adoc

This file was deleted.

23 changes: 23 additions & 0 deletions docs/02-requirements/00-requirements.adoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
// header file for curriculum section 4:
// Requirements
// (c) iSAQB e.V. (https://isaqb.org)
// ====================================================

include::./01-requirements-duration-terms.adoc[{include_configuration}]

=== {learning_goals}


include::./LZ-02-01.adoc[{include_configuration}]

include::./LZ-02-02.adoc[{include_configuration}]

include::./LZ-02-03.adoc[{include_configuration}]

include::./LZ-02-04.adoc[{include_configuration}]

include::./LZ-02-05.adoc[{include_configuration}]

include::./LZ-02-06.adoc[{include_configuration}]

include::./99-requirements-references.adoc[tags={bibrefs}]
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@

// tag::DE[]
== Softwarearchitektur und Qualität
== Softwarearchitektur Anforderungen

|===
| Dauer: 60 Min. | Übungszeit: 60 Min.
Expand All @@ -13,7 +13,7 @@ Qualität; Qualitätsmerkmale; DIN/ISO 25010; Qualitätsszenarien; Qualitätsbau
// end::DE[]

// tag::EN[]
== Software Architecture and Quality
== Software Architecture and Requirements

|===
| Duration: 60 min. | Exercises: 60 min.
Expand Down
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't see how this fits under "requirements" - shouldn't this move (back) to the "Basic Concepts" section?

Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@

// tag::DE[]
[[LZ-1-5]]
==== LZ 1-5: Rolle von Softwarearchitekt:innen in Beziehung zu anderen Stakeholdern setzen (R1)
[[LZ-02-01]]
==== LZ 02-01 [ehemaliges LZ 01-05]: Rolle von Softwarearchitekt:innen in Beziehung zu anderen Stakeholdern setzen (R1)
Softwarearchitekt:innen können ihre Rolle erklären.
Sie sollten ihren Beitrag zur Systementwicklung in Verbindung mit anderen Stakeholdern und Organisationseinheiten kontextspezifisch ausgestalten, insbesondere zu:

Expand All @@ -17,8 +17,8 @@ Sie sollten ihren Beitrag zur Systementwicklung in Verbindung mit anderen Stakeh
// end::DE[]

// tag::EN[]
[[LG-1-5]]
==== LG 1-5: Relate the Role of Software Architects to Other Stakeholders (R1)
[[LG-02-01]]
==== LG 02-01 [previously LG 01-05]: Relate the Role of Software Architects to Other Stakeholders (R1)
Software architects are able to explain their role.
They should adapt their contribution to a software development in a specific context and in relation to other stakeholders and organizational units, in particular to:

Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@

// tag::DE[]
[[LZ-2-3]]
==== LZ 2-3: Anforderungen klären und berücksichtigen können (R1-R3)
[[LZ-02-02]]
==== LZ 02-02 [ehemaliges LZ 2-3]: Anforderungen klären und berücksichtigen können (R1-R3)

Softwarearchitekt:innen können Anforderungen (inklusive Randbedingungen als Einschränkungen der Entwurfsfreiheit) klären und berücksichtigen.
Sie verstehen, dass ihre Entscheidungen zu weiteren Anforderungen (inklusive Randbedingungen) an das zu entwerfende System, seine Architektur oder den Entwicklungsprozess führen können.
Expand Down Expand Up @@ -40,8 +40,8 @@ Sie erkennen und berücksichtigen den Einfluss von:
// end::DE[]

// tag::EN[]
[[LG-2-3]]
==== LG 2-3: Identify and Consider Factors Influencing Software Architecture (R1-R3)
[[LG-02-02]]
==== LG 02-02 [previously LG 2-3]: Identify and Consider Factors Influencing Software Architecture (R1-R3)


Software architects are able to clarify and consider requirements (including constraints that restrict their decisions).
Expand Down
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This should be swapped with the following LG, so it's:

  1. "Understand and Explain Software System Qualities"
    (which is about terminology around "qualities")
    and then
  2. Requirements and Software Architecture
    (which extends the terminology)

Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@

// tag::DE[]
[[LZ-4-3]]
==== LZ 4-3: Requirements and Software Architecture (R1-R3)
[[LZ-02-03]]
==== LZ 02-03 [ehmaliges LZ 4-03]: Requirements and Software Architecture (R1-R3)
Softwarearchitekt:innen:

* verstehen, dass sie, um, eine Anforderung für eine gegebene Qualität
Expand All @@ -20,8 +20,8 @@ Softwarearchitekt:innen:
// end::DE[]

// tag::EN[]
[[LG-4-3]]
==== LG 4-3: Requirements and Software Architecture (R1-R3)
[[LG-02-03]]
==== LG 02-03 [previously LG 4-03]: Requirements and Software Architecture (R1-R3)

Software architects:

Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@

// tag::DE[]
[[LZ-4-1]]
==== LZ 4-1: Qualitäten eines Softwaresystems verstehen und erklären (R1)
[[LZ-02-04]]
==== LZ 02-04 [ehemaliges LZ 4-1]: Qualitäten eines Softwaresystems verstehen und erklären (R1)

Softwarearchitekt:innen können erklären:

Expand All @@ -25,8 +25,8 @@ Softwarearchitekt:innen können erklären:
// end::DE[]

// tag::EN[]
[[LG-4-1]]
==== LG 4-1: Understand and Explain Software System Qualities (R1)
[[LG-02-04]]
==== LG 02-04 [previously LG 4-1]: Understand and Explain Software System Qualities (R1)

Software architects can explain:

Expand Down
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is very basic and fundamental, should be nearer the beginning of the section.

Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@

// tag::DE[]
[[LZ-1-8]]
==== LZ 1-8: Explizite Aussagen von impliziten Annahmen unterscheiden (R1)
[[LZ-02-05]]
==== LZ 02-05 [ehemaliges LZ 1-08]: Explizite Aussagen von impliziten Annahmen unterscheiden (R1)

Softwarearchitekt:innen:

Expand All @@ -11,8 +11,8 @@ Softwarearchitekt:innen:
// end::DE[]

// tag::EN[]
[[LG-1-8]]
==== LG 1-8: Distinguish Explicit Statements and Implicit Assumptions (R1)
[[LG-02-05]]
==== LG 02-05 [previously LG 1-08]: Distinguish Explicit Statements and Implicit Assumptions (R1)

Software architects:

Expand Down
Loading
Loading