Hallo Leute, kann mir mal jemand auf verständliche Weise einige Begrifflichkeiten aus der Software menschlich erklären. Ich war nicht zu faul zum Googeln, aber Google schlägt mir meistens Wiki vor. Aber um die Erläuterungen auf Wiki verstehen zu können, benötigt man ein Informatik Studium. Zu meinem Wissensstand: - Ich weiß wie man einfache Sachen in C und C++ programmiert (für PC und uC) - Objektorientiertes Programmieren kenne ich auch Ich verstehe die unteren Begriffe nicht so ganz bzw. wo ist die Grenze zwischen den Begriffen? Software Einheit (engl. Unit) Software Modul Software Komponente
:
Verschoben durch User
Einen Begriff habe ich noch vergessen. Software Element Es muss doch irgendwo definiert sein was die Begriffe bedeuten. Ich kann mir unter den Begriffen Element, Modul, Komponente und Einheit nicht so viel vorstellen. Module bestehen aus vielen Einheiten? Elemente sind Einheiten?
Alte Weisheit dazu: "Teile und herrsche" Daher versuche ein Größeres Gesamtproblem in mehrere kleinere voneinander unabhängige (bzw. nur minimal von einander abhängige) Teilprobleme zu teilen. Und ob du diese Einzelteile nun Modul, Unit oder Komponente nennst ist eigentlich wurscht (bzw. je nachdem was die Bulshitbingomaschine deiner Firma gerade als "die einzig richtige Wahrheit" für die Aktuelle Woche vorgibt).
Guest1234 schrieb: > Es muss doch irgendwo definiert sein was die Begriffe bedeuten. So Begriffe wie "Abteilung" oder "Projekt" sind auch nicht eindeutig klar definiert. Die bedeuten je nach Kontext etwas anderes. Manche Programmiersprachen haben ein Konzept "Modul". Bei denen ist die Bedeutung "Modul" dann klar. Andere haben keine Module, da kann sich dann jeder selbst überlegen wie er seine Software in Module aufteilt. Der Linux Kernel beispielsweise ist in C und Assembler geschrieben und definiert eine eigene Art von Modul ("LKM"). Die wird aber sonst nirgendwo benutzt. Ganz abstrakt und allgemein kann man sich zwar überlegen dass eine Komponente vielleicht aus Modulen besteht aber das ist dann ziemlich realitätsfernes Trockenschwimmen. Der nächste versteht es genau anders herum. Einheit, Element, Modul, Komponente sind alles irgendwelche Zusammenfassungen von Funktionalität. Wie die in Relation stehen oder umgesetzt werden ist nirgendwo festgelegt.
In der Software gibt es nicht so feste Sprachregeln wie zB im Naturwissenschaftsbetrieb. Sinngemäß sind alle die von dir genannten Schlagworte gleich. Besonders große Firmen in der Softwarebranche versuchen immer wieder eigene Sprachelemente einzuführen um sich von der Konkurrenz abzuschotten und Entwickler und Benutzer in ihr Software-Ökosystem (System mit dem die Firma ihr Geld verdient) zu zwingen und zu halten. Etliche Bücher gibt es dann über die unterschiedlichen Systeme womit die Autoren auch schön mitverdienen können. Die Entwickler können sich so spezialisieren und auch schön abrechnen, wenn sonst keiner sich mit dem speziellen System auskennt. Es ist also dem Kommerz förderlich wenn es möglichst unterschiedliche Systeme gibt die im Grunde das gleiche können nur mit anderslautenden Begrifflichkeiten arbeiten.
Selbst die Mathematiker können sich nicht einigen ob "N" jetzt die 0 enthält oder nicht... ;-)
Danke für eure Antworten. Die Begriffe kommen aus Automotive SPICE. Also so wie ich das dann verstanden habe gibt es dann keine richtigen Definitionen. Die Begriffe meinen einfach nur Softwareteile eines größeren Softwaresystems und man kann selber festlegen bzw. das Projekt legt fest wann es sich um eine Komponente handelt oder um ein Modul oder Einhei(Unit) oder sonstige Benennung.
Dr. Sommer schrieb: > Selbst die Mathematiker können sich nicht einigen ob "N" jetzt die > 0 enthält oder nicht Oder wie die Zeichen für Multiplikation und Division auszusehen haben.
Guest1234 schrieb: > Software Einheit (engl. Unit) > Software Modul > Software Komponente Kommen diese Begriffe aus einem Kontext oder hast du jeden einmal irgendwo gelesen/gehört? Ganz pauschal kann man da keine klare Abgrenzung treffen. In der Literatur findet man oft Beispiele, wo Autoren sich von anderen abgrenzen wollen und deswegen andere Begriffe verwenden als üblich wäre. merciless
Es gibt in der Inf. Theorie das "Modulkonzept". Da ist ein Modul ein Stück Software welches Schnittstellen für andere Module bereitstellt und selbst Schnittstellen von anderen Modulen nutzt. Übertragen auf C KÖNNTE ein Modul eine .c Datei und die zugehörige .h Datei sein. Übertragen auf eine OO-Sprache könnte so ein Modul ein Objekt sein. Eine Komponente wird meist als etwas größeres als ein Modul gesehen. z.B. eine Art Plugin o.ä. Es gibt aber in der Tat keine klare Abgrenzung und es hängt immer vom konkreten Fall ab.
:
Bearbeitet durch User
Nach so viel Geschwafel.. Eine komponente ist eine funktionalitaet, die man parametrieren und instanzieren muss. zB eine Editorzeile. Eine Unit ist eine administrative Einheit. zB ein source code file, welches mehrere komponenten beinhaltet. Ein modul kann viele zusammengehoerige Komponenten beinhalten, kann auch aus mehreren units bestehen. zB ein Socket modul.
Guest1234 schrieb: > Die Begriffe kommen aus Automotive SPICE. Also so wie ich das dann > verstanden habe gibt es dann keine richtigen Definitionen. Warum schreibst Du das nicht gleich im ersten Post mit dazu :( Eine Kurzdefinition findest Du hier (Seite 3): https://www.kuglermaag.de/fileadmin/05_CONTENT_PDF/2-11_automotive-spice_v3-0_factsheet.pdf Hier gibt es nochmal was dazu (Seite 22): https://www.kuglermaag.de/fileadmin/05_CONTENT_PDF/2-11_automotive-spice_v3-0_update.pdf 'Unit' und 'Modul' sind in dem Zusammenhang mehr oder weniger identisch: "the smallest entity which can independently exist". Viele der Begriffe findet man in IEEE610, kostet normal $165, aber: http://www.informatik.htw-dresden.de/~hauptman/SEI/IEEE_Standard_Glossary_of_Software_Engineering_Terminology%20.pdf
Name H. schrieb: > Nach so viel Geschwafel.. Kommt noch mehr Geschwafel ... Z.B. Name H. schrieb: > Eine Unit ist eine administrative Einheit. zB ein source code file, > welches mehrere komponenten beinhaltet. In dem Zusammenhang leider voll daneben, umgekehrt wird ein Schuh draus. Zitat aus einem der obigen Links:
1 | Eine Software Component besteht aus mindestens einer Software Unit. |
Diese Begriffe sind maximal in einem konkreten Framework exakt definiert... Frameworks sind aber in größeren Projekten nicht selten, weshalb die Unterscheidung dann schon sinnvoll sein kann.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.