Forum: Offtopic Software Begriffe


von Guest1234 (Gast)


Lesenswert?

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
von Stefan F. (Gast)


Lesenswert?

Das ist im Prinzip alles das gleiche. Teile einer größeren Software.

von Guest1234 (Gast)


Lesenswert?

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?

von Irgendwer (Gast)


Lesenswert?

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).

von Dr. Sommer (Gast)


Lesenswert?

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.

von Gurgl (Gast)


Lesenswert?

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.

von Dr. Sommer (Gast)


Lesenswert?

Selbst die Mathematiker können sich nicht einigen ob "N" jetzt die 0 
enthält oder nicht... ;-)

von Guest1234 (Gast)


Lesenswert?

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.

von Stefan F. (Gast)


Lesenswert?

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.

von Dirk K. (merciless)


Lesenswert?

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

von Cyblord -. (cyblord)


Lesenswert?

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
von Purzel H. (hacky)


Lesenswert?

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.

von Frank _. (fbi)


Lesenswert?

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

von Frank _. (fbi)


Lesenswert?

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.

von Alex G. (dragongamer)


Lesenswert?

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
Noch kein Account? Hier anmelden.