Hallo, ich lese in Stellenangeboten immer wieder das Wort "Softwarearchitektur". Was ist damit gemeint? Ich programmiere seit fast 10 Jahren Mikrocontroller, sehe mich aber nicht als Architekt :-) Gruß Frank
Ein Architekt denkt erst nach, dann baut oder programmiert er. Bei Gebäuden endet die umgekehrte Reihenfolge ziemlich filmreif. Bei Software ist es etwas subtiler.
Das man vor Arbeitsbeginn erst nachdenkt ist mir schon klar. Gibt es denn irgendwelche speziellen Herangehensweisen auf dem Gebiet? Meist wird ja eh schon immer so gearbeitet. Es wird dann nur irgendwann mal total wichtig bezeichnet, damit keiner mehr weis worum es geht :-)
http://de.wikipedia.org/wiki/Software_Engineering > Meist wird ja eh schon immer so gearbeitet. Ach?
Frag mal Tante G. OOGLE nach "TOP Down" und "Bottom UP". Sollte für den Anfang einen Einstieg bieten;) avr
Frank schrieb: > Das man vor Arbeitsbeginn erst nachdenkt ist mir schon klar. So? Wenn ich hier in diesem Forum mal so in diverse Quellcodes schaue, dann zeigt sich mir das komplette Gegenteil. Da wird erstmal lustig drauflosprogrammiert und dann erst nachgedacht. Ganz häufig sehe ich hier Beiträge, wo sich Leute verrannt haben und lediglich nach einer Lösung für ihr nächstbestes Detail suchen - ohne jemals zuvor strategisch über ihr Projekt nachgedacht zu haben. Das tägliche "vor Arbeitsbeginn erst nachdenken" ist zu wenig. Wenn es was werden soll, dann braucht es zuvor etwas, das ich hier mal ein "strategisches Konzept" nennen möchte. Bei diversen 'Profis' verhält es sich leider auch nicht anders als hier bei den Bastlern. Guck dir mal die tolle "STM Standard Peripheral Library" von ST an. Das ist ein gutes Beispiel dafür, was dabei herauskommt, wenn Leute eben so drauflos programmieren und von einer vernünftigen Softwarearchitektur keinen blassen Schimmer haben: 30 MB angefüllt mit Schaumschlägerei. W.S.
W.S. schrieb: > Bei diversen 'Profis' verhält es sich leider auch nicht anders als hier > bei den Bastlern. Guck dir mal die tolle "STM Standard Peripheral > Library" von ST an. Ob das wirklich erfahrene Profis waren? Wirkt eher wie ein Produkt der "Generation Praktikum".
schau dir an wie unix funktioniert. das ist software-architektur. alles ist möglichst gleich zu bedienen und nutzt (intern) möglichst einheitliche wege. typische mikrocontroller-projekte sind "nur" brain-to-terminal, ab einer gewissen größe funktioniert das aber nur äußerst suboptimal. im "mythos vom mann monat" (frederik brooks) wird daher öfter vom "ärzte"-team gesprochen, bei dem eben der architekt vorgibt, wie das system zu funktionieren hat (bei unix wäre das z.b "alles hat eine datei zu sein") ist etwas abstrakt das thema, aber um entwickeln zu können notwendig... sonst programmiert man einfach nur (großer unterschied!). 73
A. K. schrieb: > Ein Architekt denkt erst nach, dann baut oder programmiert er. Bei > Gebäuden endet die umgekehrte Reihenfolge ziemlich filmreif. Bei > Software ist es etwas subtiler. Siehe hier: http://www.mikrocontroller.net/attachment/53023/sw_engin.pdf ;-)
Frank schrieb: > "Softwarearchitektur". Was ist damit gemeint? Mach dir keine grauen Haare, ist so eine Mode. Wie "validieren und verifizieren", wenn du auf ne Stellenanzeige triffst, guck halt auf deren HP was die unter den genannten Begriffen verstehen. Im Bewerbungsschreiben bettest dann deren Def. runter! Na, alles klar!
Marx W. schrieb: > Im Bewerbungsschreiben bettest dann deren Def. runter! Es gibt sogar ein paar Normen dazu, was man darunter zu verstehen hat. Verifizierung = Haben wir es richtig gemacht? Ist es so wie geplant umgesetzt worden? Stimmen die Anforderungen mit dem Ergebnis überein? Validierung = Haben wir überhaupt das Richtige gemacht? Decken sich die Anforderungen mit dem, was tatsächlich gebraucht wird? Ist das Ergebnis für den vorgesehenen Einsatzzweck nutzbar? mfg mf PS @Läubi: Sehr genial! Aber so läuft es leider oft...
Joachim минифлоть schrieb: > Es gibt sogar ein paar Normen dazu, was man darunter zu verstehen hat. Höh, wer liest den im "Management" Normen?
Es gibt sehr viele unterschiedliche Definitionen was ein Softwarearchitekt ist und macht. Jede Firma versteht darunter etwas anderes. Vielleicht auch deshalb, weil Softwarearchitekten lediglich die erfahrenen Softwareentwickler sind welche an den "wichtigen" Themen arbeiten. Und die Themen sind in jeder Firma andere. Martin Fowler hat mal einen netten Artikel dazu geschrieben: http://www.in-ag.eu/uploads/media/whoNeedsArchitect.pdf Gruß, Martin
Softwarearchitektur ist das, was Leute wie mich von euch Ing-Fricklern unterscheidet.
Läubi .. schrieb: > Siehe hier: http://www.mikrocontroller.net/attachment/53023/sw_engin.pdf > ;-) Schön blöd, wenn man die Innenwände gleich starr einplant. Änderungen sind dann so gut wie ausgeschlossen. Günstiger ist es wenn das Gebäude (über die Außenwände) freitragend oder mit ein begrenzte Anzahl Stützpfeiler realisiert wird. Dann ist das viel flexibler. Ich hab mal in einer Firma gearbeitet, wo ganze Büroetagen auf die Art konstruiert wurden und wenn sich die Räumlichkeiten ändern sollten, war das ruck-zuck erledigt und kein Thema mehr. Der Wohnungsbau ist da scheinbar noch nicht so auf den richtigen Nenner gekommen. Was das Thema Software-Architektur angeht kann ich nur zustimmen das das mal ziemlich komplex werden kann, bis man irgendwann schlimmstenfalls den Überblick verliert. Da muss man schon ziemlich fit sein um das gebacken zu bekommen.
Michael S. schrieb: > Ich hab mal in einer Firma gearbeitet, wo ganze Büroetagen auf die Art > konstruiert wurden und wenn sich die Räumlichkeiten ändern sollten, > war das ruck-zuck erledigt und kein Thema mehr. Nennt sich dann Großraum-Wohnung. Trennwände sind 1,8m hoch, Stoffbespannt und können umgestellt werden. :-)
Udo Schmitt schrieb: > Nennt sich dann Großraum-Wohnung. Trennwände sind 1,8m hoch, > Stoffbespannt und können umgestellt werden. :-) Nicht ganz, die Firma hat sich sogar den Luxus geleistet einen eigenen Bautischler zu beschäftigen der die Wände vom Fußboden bis zur Decke zog, alles Leichtbau. Da kann jeder Großraumbüro- geschädigter nur von träumen. Jedenfalls hatte der Tischler immer gut zu tun.
Michael S. schrieb: > Nicht ganz, die Firma hat sich sogar den Luxus geleistet einen > eigenen Bautischler zu beschäftigen der die Wände vom Fußboden > bis zur Decke zog, alles Leichtbau. Mal im Ernst. Das ist normal. Ich sitze in so einem Gebäude, und die Firma nebenan hat 2 Bürogebäude gebaut die genauso aufgebaut sind. Stahlbetongerüst, meist nur Decke und tragende Säulen, dann noch die Treppenhäuser und evt. die Toiletten in Massivbauweise, die komplette Aussenverkleidung ist dann Metall/Glas und die Innenraumtrennung Metallständer mit Gipskarton einfach beplankt. Dabeim wollte ich das nicht unbedingt.
gassit schrieb: > Design Patterns != Softwarearchitektur klar, aber
Du wirst in Literatur zu Softwarearchitektur sehr oft was zu den Patterns finden, weil sie die Kommunikation extrem vereinfachen. Ein Architekt sagt auch nicht "vorstehende Betonplatte mit Geländer und Wasserablauf", sondern benutzt den Namen des Entwurfsmusters, "Balkon" und jeder auf dem Gebiet weiß sofort, was da alles dazu gehört und zu beachten sein könnte ;)
Udo Schmitt schrieb: > Mal im Ernst Ich kenne keinen Ernst. > Dabeim wollte ich das nicht unbedingt. Dann musst du, auch im ernst, die Unflexibilität hin nehmen oder du suchst dir eine Wohnung oder Haus das deinen Wünschen entspricht. Nur wer hat so viel Geld, so viel Pinke-Pinke, sich das alles leisten zu können? Sicher nicht jeder.
Michael S. schrieb: > Der Wohnungsbau ist > da scheinbar noch nicht so auf den richtigen Nenner gekommen. Schon mal die Unterschied von tragenden und nichtragenden Wänden von der Kostenseite betrachtet?
Udo Schmitt schrieb: > Nennt sich dann Großraum-Wohnung. Trennwände sind 1,8m hoch, > Stoffbespannt und können umgestellt werden. :-) HeHeHe, wandernde Wände! Der Nachbar schiebt Morgens und Abends immer ein paar Millimeter nach aussen!
Michael S. schrieb: > Nur wer hat so viel Geld, so viel Pinke-Pinke, sich > das alles leisten zu können? Sicher nicht jeder. Hast du mal ausgerechnet was es dich kostet so ein "Haus" umzubauen? Alte Wände rausreißen Neue Wände reinstellen Alter Bodenbelag raus Alte Decken ggf. raus Neuer Bodenbelag Neue Decken Neuer Boden Neue Elektrikinstallation Neue Türen neue Tapeten -> weitere Nachteile schlechte Schallisolation wenig Stabilität schlechte Möglichkeiten was an der Wand zu befestigen (Rigips) wenig Wärmekapzität kaum Feuchtigkeitsregulation -> wenig praktikabel Zumal Küche und Bad wegen der Installation und der Feuchtigkeit so nicht gut zu bauen sind. Macht also nicht unbedingt Sinn p.s. Was nicht heisst das man das für einzelne Umbauten und zusätzliche Trennwände nicht trotzdem machen kann, aber nicht als generelles Konzept beim Hausbau. Wir sind übrigens ziemlich offtopic :-)
Udo Schmitt schrieb: > Michael S. schrieb: >> Nur wer hat so viel Geld, so viel Pinke-Pinke, sich >> das alles leisten zu können? Sicher nicht jeder. > > Hast du mal ausgerechnet was es dich kostet so ein "Haus" umzubauen? Sicher ist das nicht umsonst, aber darum geht es primär ja nicht, sondern um die Machbarkeit und Flexibiltät. > Alte Wände rausreißen > Neue Wände reinstellen Da in der Regel Metallständerwerk verbaut wird, ließe sich einiges Material wieder verwenden. > Alter Bodenbelag raus Wenn man durchgängigen Bodenbelag hat, muss man, wenn man keine Vorkehrungen trifft Teile davon sanieren. Ist aber nicht immer möglich. Bei Fliesen kann man z.B. sauber in die Fugen bohren und später wieder zu spachteln. > Alte Decken ggf. raus Kommt wirklich aufs Deckensystem an. Betondecke gestrichen oder tapeziert dürften da kaum große Probleme bringen. Ist die Decke dagegen vertäfelt, dann sollte man hoffen das man noch Nachschub bekommt. Bei Wegnahme wäre es dann wurscht. > Neuer Bodenbelag Kann ja auch ein Teppich sein, was man mag. > Neue Decken > Neuer Boden > Neue Elektrikinstallation Es heißt zwar Elektroinstallation, aber das macht die wenigste Mühe weil es für Hohlwände entsprechende Systeme gibt. Einzig über eine flexible Zuführung muss man sich Gedanken machen, was über eine abgehängte Gibskartondecke leicht zu realisieren sein sollte. > Neue Türen Man kann die alten Türen meist wieder verwenden. Es gibts sogar Türensanierer wie Portas die sich darauf spezialisiert haben die wieder her zu richten, vor allem wenn es edle Stücke sind. > neue Tapeten Ist auch wirklich soooo teuer, aber zumindest etwas was auch ein wenig begabter Heimwerker noch hin bekäme. Manche machen das sogar absichtlich alle paar Jahre. > -> weitere Nachteile > schlechte Schallisolation Kann durch Beplankung und Schalldämmmatten kompensiert werden was innerhalb einer Wohnung oft ohnehin unerheblich ist. > wenig Stabilität Kann durch Verstärkungsprofile erreicht werden die dann auch schwere Lasten, wie Hängeschränke tragen. > schlechte Möglichkeiten was an der Wand zu befestigen (Rigips) Dafür muss man nur die geeigneten Befestigungssysteme nehmen dann kann man auch eine Schwein an die Wand hängen. > wenig Wärmekapzität Ist im Innenbereich auch nicht nötig. Da kommst eher auf gute Dämmung nach Außen hin. > kaum Feuchtigkeitsregulation Gibskarton kann vergleichsweise und verhältnismäßig genug Feuchtigkeit aufnehmen und auch wieder abgeben. Das Problem der Taupunktbildung tritt im Innenbereich so nicht auf. > -> wenig praktikabel > Zumal Küche und Bad wegen der Installation und der Feuchtigkeit so nicht > gut zu bauen sind. Das ist tatsächlich eine Einschränkung, aber man verschiebt solche Räume in aller Regel sowieso nie, aber man kann die verkleinern oder vergrößern. Gipskarton ist Nässeempfindlich, aber es gibt dagegen imprägnierte Platten, die genau für diesen Zweck im Nassbereich konstruiert wurden. Knackpunkt sind da immer die offenen Schnittkanten, die man gegen Nässe versiegeln müsste. > Macht also nicht unbedingt Sinn Macht schon Sinn, wenn man das ganze versteht und zu Montieren fähig ist. > p.s. Was nicht heisst das man das für einzelne Umbauten und zusätzliche > Trennwände nicht trotzdem machen kann, aber nicht als generelles Konzept > beim Hausbau. Kommt eben darauf an ob man es bei der Hausplanung gleich berücksichtigt. Gemauerte Wände sind meist in der Regel für die Ewigkeit und damit unflexibel. > Wir sind übrigens ziemlich offtopic :-) Stört mich nicht die Bohne. Auch im Bereich Software gibts Analogien wo solche Prinzipien Anwendung finden können. Die Wände symbolisieren dann Objekte. Türe und Fenster die Inputs/Outputs. Die Streams die Versorgung, etc.
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.