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

#481 - many changes to readme. #486

Merged
merged 14 commits into from
Sep 4, 2024
Merged
Show file tree
Hide file tree
Changes from 1 commit
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
10 changes: 10 additions & 0 deletions LICENSE.adoc
gernotstarke marked this conversation as resolved.
Show resolved Hide resolved
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
# License Information

[IMPORTANT]
.Copyrighted work
====
**We would like to emphasise, as a matter of principle, that this curriculum is protected by copyright.**
====
The International Software Architecture Qualification Board e. V. (iSAQB^(R)^ e. V.) has exclusive entitlement to these copyrights.

include::documentation/LICENSE.adoc[]
236 changes: 39 additions & 197 deletions README.adoc

Large diffs are not rendered by default.

27 changes: 27 additions & 0 deletions documentation/LICENSE.adoc
gernotstarke marked this conversation as resolved.
Show resolved Hide resolved
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
This is COPYRIGHTED work.

*(C) (Copyright), International Software Architecture Qualification Board e. V.
(iSAQB^(R)^ e. V.) 2010-2025*

The curriculum may only be used subject to the following conditions:

1. You wish to obtain the CPSA Certified Professional for Software Architecture Foundation Level^(R)^ certificate or the CPSA Certified Professional for Software Architecture Advanced Level^(R)^ certificate.
For the purpose of obtaining the certificate, it shall be permitted to use these text documents and/or curricula
by creating working copies for your own computer.
If any other use of documents and/or curricula is intended, for instance for their dissemination to third parties, for advertising etc., please write to [email protected] to enquire whether this is permitted.
A separate license agreement would then have to be entered into.
2. If you are a trainer or training provider, it shall be possible for you to use the documents and/or curricula once you have obtained a usage license.
Please address any enquiries to [email protected]. License agreements with comprehensive provisions for all aspects exist.
3. If you fall neither into category 1 nor category 2, but would like to use these documents and/or curricula nonetheless, please also contact the iSAQB e. V. by writing to [email protected].
You will then be informed about the possibility of acquiring relevant licenses through existing license agreements, allowing you to obtain your desired usage authorizations.

[IMPORTANT]
.Copyrighted work
====
**We would like to emphasise, as a matter of principle, that this curriculum is protected by copyright.**
====
The International Software Architecture Qualification Board e. V. (iSAQB^(R)^ e. V.) has exclusive entitlement to these copyrights.

The abbreviation "e. V." is part of the iSAQB's official name and stands for "eingetragener Verein" (registered association),
which describes its status as a legal entity according to German law.
For the purpose of simplicity, iSAQB e. V. shall hereafter be referred to as iSAQB without the use of said abbreviation.
29 changes: 29 additions & 0 deletions documentation/about-foundation.adoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@

Education based upon the _Certified Professional for Software Architecture – Foundation Level (CPSA-F)_ shall provide participants with the knowledge and skills required to design, specify and document software architectures adequate to fulfil the respective requirements for small and medium-sized systems.


=== What does "Foundation Level" cover?

As stated above, _Foundation Level_ covers small to medium-sized software systems.

Based upon their individual practical experience and existing skills, participants will learn to derive architectural decisions from an existing system vision and adequately detailed requirements.
CPSA-F trainings teach methods, principles and patterns for design, communication, documentation and evaluation of software architectures, independent of specific development processes.
The CPSA-F curriculum is technology-neutral, therefore applicable to a borad range or

Focus is education and training of the following skills:

* Discuss and reconcile fundamental architectural decisions with stakeholders from requirements, management, development, operations and test,
* understand the essential activities of software architecture, and carry out those for small- to medium sized systems,
* document and communicate software architectures based upon architectural views, architecture patterns and technical concepts

In addition, such trainings cover

* the tasks and responsibilities of software architect
* the term software architecture and its meaning
* the roles of software architects within development
* state-of-the-art methods and techniques for developing software architectures

[WARNING]
====
This is <<copyrighted,copyrighted work>>.
====
38 changes: 38 additions & 0 deletions documentation/build.adoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@

Prerequisite: You need an up-to-date Java Runtime(tm) installed. Ubuntu's default Java 11 is not sufficient, Java 21 works.

You build the output documents with https://gradle.org[gradle].
That will produce both pdf and html output in German (DE) _and_ English (EN), unless you modify the configuration.
Make sure to use the Gradle Wrapper in this repository to prevent potential build errors.


`./gradlew buildDocs`

In case you want to change the configuration, adjust the following part of `build.gradle`:

[source,groovy]
----
task buildDocs {
group 'Documentation'
description 'Grouping task for generating all languages in several formats'
dependsOn "renderDE", "renderEN"
}
----

In the "renderDE" certain attributes (aka variables) are defined that configure the corresponding output.

Please note: You need to include the submodules "pdf-theme" and "html-theme" in your checkout, otherwise the build will fail. You can do that with the following commands:

. Clone the repository - including the submodule:
+
--
[source,shell]
----
Via SSH:
git clone [email protected]:isaqb-org/curriculum-foundation.git --recursive

Via HTTPS:
git clone https://github.com/isaqb-org/curriculum-foundation.git --recursive
----
--
. Initialize and update submodules with `git submodule init` and `git submodule update --recursive --remote`.
34 changes: 34 additions & 0 deletions documentation/content-requirements.adoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
==== What Constitutes _Good Learning Goals_

The following requirements should be fulfilled by every learning goal, especially for all R1-goals:

Specific and Clear::
Each learning goal should be clear and specific, avoiding vagueness.
This means stating what the learner will know or be able to do in precise terms.
For software architects, this could involve specifying particular architectural styles, patterns, methods and practices they will need to learn and apply.

Relevant::
Learning goals should be directly relevant to the roles and responsibilities of software architects.
This means they should focus on skills and knowledge that are directly applicable to designing, evaluating, and managing software architecture.
Relevance also includes ensuring that the goals are aligned with current industry standards, technologies, and practices to prepare learners for real-world challenges.

Authoritative::
Learning goals should be based on established content, industry best practices, and proven research.
They should begrounded in established knowledge and industry practices.
This ensures that the curriculum is aligned with recognized standards and that students are learning concepts that are widely accepted and validated in the field of software architecture.
Where possible and adequate, authorative sources shall be referenced.

Measurable::
Goals must be measurable so that both the learner and the educator can assess progress. This involves defining criteria for success, which can be quantified or qualified. For instance, a learning goal might include being able to design a complete software architecture that meets defined performance metrics or adhering to specific architectural principles.

Achievable::
While learning goals should be challenging, they must also be attainable within the scope of the course or program. This requires considering the learners' current skill levels and the resources available to support their learning. Goals that are too ambitious may discourage learners, while those that are too easy may not lead to significant learning or skill development.


=== Important Terms Defined in Glossary

All _important terms_ from the curriculum shall be defined in the (freely available) glossary.

Where useful, the curriculum shall contain hyperlinks from these terms to the online version of this glossary.

===
9 changes: 9 additions & 0 deletions documentation/contributing.adoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@

== How to contribute or participate
You found a bug in one of the published versions, have remarks, comments or proposals?

1. Please search the existing (open and closed) issues, before creating a new one.
Maybe your topic has already been discussed.
2. If you don't find anything: Open an issue here.
A member of the working-group will contact you!

48 changes: 48 additions & 0 deletions documentation/copyright.adoc
gernotstarke marked this conversation as resolved.
Show resolved Hide resolved
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
// tag::DE[]
**(C) (Copyright), International Software Architecture Qualification Board e. V.
(iSAQB^(R)^ e. V.) 2023**

Die Nutzung des Lehrplans ist nur unter den nachfolgenden Voraussetzungen erlaubt:

1. Sie möchten das Zertifikat zum CPSA Certified Professional for Software Architecture Foundation Level^(R)^ oder CPSA Certified Professional for Software Architecture Advanced Level^(R)^ erwerben.
Für den Erwerb des Zertifikats ist es gestattet, die Text-Dokumente und/oder Lehrpläne zu nutzen, indem eine Arbeitskopie für den eigenen Rechner erstellt wird. Soll eine darüber hinausgehende Nutzung der Dokumente und/oder Lehrpläne erfolgen, zum Beispiel zur Weiterverbreitung an Dritte, Werbung etc., bitte unter [email protected] nachfragen.
Es müsste dann ein eigener Lizenzvertrag geschlossen werden.
2. Sind Sie Trainer oder Trainingsprovider, ist die Nutzung der Dokumente und/oder Lehrpläne nach Erwerb einer Nutzungslizenz möglich. Hierzu bitte unter [email protected] nachfragen.
Lizenzverträge, die alles umfassend regeln, sind vorhanden.
3. Falls Sie weder unter die Kategorie 1. noch unter die Kategorie 2. fallen, aber dennoch die Dokumente und/oder Lehrpläne nutzen möchten, nehmen Sie bitte ebenfalls Kontakt unter [email protected] zum iSAQB e. V. auf.
Sie werden dort über die Möglichkeit des Erwerbs entsprechender Lizenzen im Rahmen der vorhandenen Lizenzverträge informiert und können die gewünschten Nutzungsgenehmigungen erhalten.

.Wichtiger Hinweis
****
*Grundsätzlich weisen wir darauf hin, dass dieser Lehrplan urheberrechtlich geschützt ist.
Alle Rechte an diesen Copyrights stehen ausschließlich dem International Software Architecture Qualification Board e. V. (iSAQB^(R)^ e. V.) zu.*
****

Die Abkürzung "e. V." ist Teil des offiziellen Namens des iSAQB und steht für "eingetragener Verein", der seinen Status als juristische Person nach deutschem Recht beschreibt.
Der Einfachheit halber wird iSAQB e. V. im Folgenden ohne die Verwendung dieser Abkürzung als iSAQB bezeichnet.


// end::DE[]

// tag::EN[]
**(C) (Copyright), International Software Architecture Qualification Board e. V.
(iSAQB^(R)^ e. V.) 2023**

The curriculum may only be used subject to the following conditions:

1. You wish to obtain the CPSA Certified Professional for Software Architecture Foundation Level^(R)^ certificate or the CPSA Certified Professional for Software Architecture Advanced Level^(R)^ certificate. For the purpose of obtaining the certificate, it shall be permitted to use these text documents and/or curricula by creating working copies for your own computer. If any other use of documents and/or curricula is intended, for instance for their dissemination to third parties, for advertising etc., please write to [email protected] to enquire whether this is permitted. A separate license agreement would then have to be entered into.
2. If you are a trainer or training provider, it shall be possible for you to use the documents and/or curricula once you have obtained a usage license.
Please address any enquiries to [email protected]. License agreements with comprehensive provisions for all aspects exist.
3. If you fall neither into category 1 nor category 2, but would like to use these documents and/or curricula nonetheless, please also contact the iSAQB e. V. by writing to [email protected]. You will then be informed about the possibility of acquiring relevant licenses through existing license agreements, allowing you to obtain your desired usage authorizations.


.Important Notice
****
*We stress that, as a matter of principle, this curriculum is protected by copyright.
The International Software Architecture Qualification Board e. V. (iSAQB^(R)^ e. V.) has exclusive entitlement to these copyrights.*
****

The abbreviation "e. V." is part of the iSAQB's official name and stands for "eingetragener Verein" (registered association), which describes its status as a legal entity according to German law.
For the purpose of simplicity, iSAQB e. V. shall hereafter be referred to as iSAQB without the use of said abbreviation.

// end::EN[]
17 changes: 17 additions & 0 deletions documentation/create-official-version.adoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@

If you consider the status of the curriculum worthy of a new release or release candidate, you have to create a `tag` with Git.

The format for a release candidate tag is as follows: +
`2021.1-RCX`, where x is either 1 or the current release candidate number increased by one. +
This tag will create a GitHub _pre-release_. They are [available here](https://github.com/isaqb-org/curriculum-foundation/releases) and provide you with a zip archive that contains the curriculum as PDF and HTML. +
**ATTENTION:** You have to also append the current RC version to the version stored in the `document.version` file. If you forget to do that, the RC information will NOT be part of the document's version.
gernotstarke marked this conversation as resolved.
Show resolved Hide resolved

The format for a release tag is as follows: +
`2021.1-revX` where x is either 0 (initial release), or the current revision increased by one. +
This tag will create a GitHub _Release_. They are [available here](https://github.com/isaqb-org/curriculum-foundation/releases) and provide you with a zip archive that contains the curriculum as PDF and HTML.
In addition, the released curriculum will be published on GitHub Pages. +
**ATTENTION:** You have to make sure to define the correct version in the `document.version` file. If you forget to do that, the document's version will be wrong.
gernotstarke marked this conversation as resolved.
Show resolved Hide resolved

The particular language as well as the timestamp will be added automatically.

Example for a full version in the English curriculum PDF: `2021.1-EN-20210401`
29 changes: 29 additions & 0 deletions documentation/maintainers.adoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@


image::FLWG-logo.png[width=200,float="left"]
The iSAQB members association regularly elects the *Foundation Level Working Group* (FLWG).
The FLWG is responsible for maintaining the CPSA-F Curriculum and corresponding examination questions. Major version updates are reviewed and discussed with the board and the members association prior to publication.

The current (2024/2025) FLWG members are:

* Dr. Ulrich Becker
* Mahbouba Gharbi
* Dr. Peter Hruschka
* Dr. Alexander Lorz
* Falk Sippach
* Bert Jan Schrijver
* Dr. Michael Sperber
* Dr. Gernot Starke (FLWG chair)
* Roger Rhoades
* Prof. Dr. Stefan Wehr
* Benjamin Wolf
gernotstarke marked this conversation as resolved.
Show resolved Hide resolved

==== Previous Contributors

Work on this curriculum started way back in 2007/2008 - and numerous people contributed - either by proposing, crafting and writing content.

(alphabetical order, current FLWG members excluded)

Wolfgang Fahl, Philip Ghadir, Prof. Dieter Jungmann, Prof. Arne Koschel, Prof. Andreas Rausch, Mischa Soujon, Bettina Tacke, Holger Tiemeyer

[.small]#In case we forgot your name here, please let us know#!
15 changes: 15 additions & 0 deletions documentation/process-requirements.adoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
==== Open and Transparent Development

Maintenance of this content shall be open and transparent, done on a public platform (like GitHub):

Open::
We encourage contributions from a broad community.
This can include reporting issues or change-requests, submitting changes, or suggesting new content.

Transparent::
The processes, decisions, and discussions surrounding the development of this curriculum are open for public viewing.
These transparen practices ensure that contributors and maintainers are accountable for their actions.
Readers, consumers and contributors can see who made specific changes, when they were made, and why.

Together, openness and transparency shall ensure that the development of this curriculum is inclusive, collaborative, and accountable.
That shall lead to a trust and acceptance of the whole content.
32 changes: 32 additions & 0 deletions documentation/repo-orga.adoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@

This section provides an overview of the repository structure, detailing the contents and purpose of each directory and file.

==== Root

*README.adoc*: This main documentation file, providing an introduction and overview of the project.

*LICENSE*: The licensing information for the project.

*build.gradle*: The build configuration file for Gradle projects.

==== /build
Contains the files generated by the (gradle) build process.

==== /docs
This folder contains the learning goals and everything else needed to build (_generate_) the final curriculum.

==== /documentation

Contains all kinds of documentation about our requirements, build- and release-processes, team etc.

==== /html-thema

t.b.d
gernotstarke marked this conversation as resolved.
Show resolved Hide resolved

==== /pdf-theme

t.b.d.

==== /release-docs

Summaries of changes of previous releases.
7 changes: 7 additions & 0 deletions documentation/status.adoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@

image:https://img.shields.io/github/commit-activity/t/isaqb-org/curriculum-foundation[GitHub commit activity]
image:https://img.shields.io/github/last-commit/isaqb-org/curriculum-foundation/main.svg["Last commit"]
["Total commits"]
image:https://img.shields.io/github/contributors/isaqb-org/curriculum-foundation.svg["Contributors",link="https://github.com/isaqb-org/curriculum-foundation/graphs/contributors"]
image:https://img.shields.io/github/issues/isaqb-org/curriculum-foundation.svg["Issues",link="https://github.com/isaqb-org/curriculum-foundation/issues"]
image:https://img.shields.io/github/issues-closed/isaqb-org/curriculum-foundation.svg["Issues closed",link="https://github.com/isaqb-org/curriculum-foundation/issues?utf8=%E2%9C%93&q=is%3Aissue+is%3Aclosed+"]
Loading