Was enthält eine Softwarearchitektur?
Kann mir bitte mal jemand beschreiben, wie so eine Softwarearchitektur aussehen soll. Irgendwie verstehe ich es einfach nicht. Um ein Konkretes Beispiel zu nennen: Ich habe ein Quiz-Spiel für ein Projekt entwickelt und nun muss ich, (was ich glaube, davor machen musste) eine Softwarearchitektur erstellen, aber wie soll das aussehen? Außerdem würde ich gerne wissen, was den die Komponente von so einem Code sind? Sind Komponente Vielleicht die Methoden im Code (sign up, login, logout usw.) oder ist es was anderes? Wenn ein User sich Anmeldet, wird eine Anmeldungslink gesendet (Email), wo ist diese Funktion einzuordnen? Dann gibt es noch die Schnittstellen?
PS Programmiersprache ist Pythan/Django
Ich habe eine Menge Fragen, ich hoffe da kann sich jemand die Zeit nehmen und mir mal weiter helfen. Vielen Dank!!!!!!!
2 Antworten
Das ist die höchste abstraktion die praktisch nichts mit funktionalen bereichen zu tun hat , so kann man sich überlegen ob ein system komplett modular aufgebaut wird um es später besser zu warten , also alles unabhängige module die auf qualität getestet werden können und somit für sich sicher sind und einfach nur genutzt wird wenn gebraucht, oder eben eingebunden wird, erweitert wird durch den benutzer etc .
ein betriebssystem wie windows wäre unbrauchabr wenn nur microsoft diese programmieren könnte , schlauer wäre wenn das OS so gebaut ist das einzelne komponennten auch von anderen gebaut werden können . diese auch die komplette verantwortung haben etc .
z.b. gibt es posix , was auf sicherheit der einzelnen komponenten architektiert wurde, so das jede einheit für sich schon ein sicherheitskontext hat der das gesamt system nicht unsicherer machen kann , sollte es eine komponente geben die probleme verursacht, wird nicht das ganze system angegriffen .
hier mal das wiki dazu
https://de.wikipedia.org/wiki/Softwarearchitektur
es hat also nur imaginär mit code zu tun , eher mit einer , wie soll es überhaupt aufgebaut sein .
ein hausarchitekt kann auch modulbau anwenden oder halt das haus im ganzen planen , sollte eine komponente fehlen kann man im schlechtesten fall nciht weiter machen , oder sollte etwas hinzukommen, wird das nicht ohne probleme integrierbar sein .
in sofern , kann man auch im kleinen etwas architektur machen , aber der begriff wird eigentlich eher auf etwas größere zusammenhänge angewant .
Eine SW Architektur ist eine Strukturübersicht Deiner Module in Python angefangen beim übergeordneten Hauptprogramm das direkt startet, wenn es losläuft. Mit einer Unterstruktur, Äste und Zweige der Unterprogramme, Module. Das ist die sog. statische Architektur. Sie enthält auf der Ebene der Module oder Unterprogramm auch die Schnittstellen. Beschreibung der Variablen mit Name, Typ, physikalischen Wertebereich (welche Werte werden erwartet) und kurze Beschreibung.
Die dynamische Architektur beschreibt den zeitlichen Zusammenhang Deiner Module. In welcher Abfolge ist geplant dass sie ablaufen. Gibt es Ereignisse die eine umpriorisierung auslösen? Interrupt, exceptions?
Es gibt noch mehr Aspekte aber wenn Du das berücksichtigst bist Du gut unterwegs.