Zum Inhalt springen

Softwareentwicklung


Empfohlene Beiträge

für alle Anwendungsentwickler eine kleine Aufgabe die keine größere Hürde darstellen sollte:

Stellt euch vor ein Unternehmen hat ein Idee zu einem völlig neuen Produkt, was es nun umzusetzen gilt. Aufgabe ist es also ein sinvolles, zeitgemäßes Phasenmodell aufzustellen in welchem das Softwareentwicklungsprojekt abläuft.

Grüße,

Tommy

Link zu diesem Kommentar
Auf anderen Seiten teilen

Ich beginne mit der

Definitionsphase , in dieser Phase wird geschaut was ist schon vorhanden was braucht man noch welche Ziele sollen verwirklicht werden etc.

dann kommt die Planunsphase macht mal weiter... habe gerade keine Zeit mehr :-(!

Link zu diesem Kommentar
Auf anderen Seiten teilen

Ich gehe mal davon aus, das nicht nur die reine Softwareentwicklung berücksichtigt werden soll. Bezogen auf die obige Aufgabe würde ich das so machen:

1. Ist-Aufnahme

-> bezogen auf das Produkt:

- Feststellen, ob ähnliche Produkte am Markt vertreten sind

- Hersteller dieser Produkte ermitteln

- etc.

-> bezogen auf die SW-Entwicklung:

- Soft- und Hardwareumgebung des Unternehmens

- Welche Fachkräfte sind im Unternehmen (Stellenpläne)

- etc.

2. Analyse

-> bezogen auf das Produkt

- Marktanalyse

- Schwachstellen der Konkurenz(produkte) ermitteln

- Wirtschaftlichkeitsanalyse

- etc.

-> bezogen auf die SW-Entwicklung

- Feststellen, ob genügend Fachkräfte vorhanden sind

- Reicht die Hard- und Software zur Entwicklung (ggfl. Nachkauf z.B. von Lizenzen ...)

- Realisierbarkeit feststellen (z.B. durch Prototyping)

- etc.

3. Sollkonzept

- Pflichtenheft erstellen (nicht unbedingt notwendig bei einer internen Neuentwicklung)

- zumindest Muss-, Kann- und Wunschkriterien festhalten

- etc.

4. Umsetzung/Realisierung/Codierung

- Programmierung

- ggfl. Datenbanken erstellen

- etc.

5. Testphase

- Produkt auf Fehler überprüfen

- Simulationen

- etc.

6. Einführung / Schulung

- Produkt auf dem Markt anbieten

- Workshops anbieten

- etc.

7. Pflege / Support

- Updates und Upgrades erstellen

- Hilfestellungen den Kunden bieten z.B. Hotline

- etc.

-> Begleitet wird das Ganze natürlich durch eine ausführliche und lückenlose Dokumentation (wie lieben sie doch alle *fg*) <- etwas Ironie darf doch sein ;-)

... mehr läßt sich bei einer solchen Aufgabenstellung nicht sagen :-)) ... oder doch?

Gruss Metaner

Link zu diesem Kommentar
Auf anderen Seiten teilen

okay, ich versuche es mal:

Der traditionelle Entwicklungsprozess ist das sogenannte Wasserfallmodell. Es handelt sich hierbei um ein Phasenmodell. Unter einem Phasenmodell versteht man die zeitliche Gliederung eines Projektes in bestimmte Teilabschnitte. Da wir aber heute auf sehr schnellen Märkten arbeiten wird dieses Modell in der Form in der Praxis nicht mehr eingesetzt. Denn die einzelnen Phasen werden sehr streng, sequentiell nacheinander durchgelaufen, wobei eine klare inhaltliche und zeitliche Trennung gegenüber anderer Phasen besteht. Rückkopplungen gibt es an dieser Stelle nicht.

Ein typisches Wasserfallmodell sieht so aus:

------------------------------------------------------------------> Zeit

Analyse --> Entwurf --> Realisierung --> Nutzung

Sinnvollerweise verzahnt man einzelne Aktivitäten ineinader und spricht dann vom Ansatz des Simulaneous Engineering. Per Definition versteht man hier die zeitlich ineinader verzahnte Durchführung von phasenbezogenen Aufgaben während des gesamten Entwicklungsprozesses.

Da Aufgaben parallel ablaufen und auch Rückkoppelungen zu einer vorherigen Phase möglich sind, ergibt sich somit ein Zeitersparnis am Ende des Projektes. Logischerweise verbessert sich somit auch die Wettbewerbsfähigkeit eines Unternehmen am Markt. Die Produktion erfolgt kostengünstiger und schneller. Voraussetzung ist hier aber eine effiziente Kommunikation mit allen Beteiligten während des Projektverlaufes, wie eine ausreichende Organisation vor dem Projekt.

Neben den beiden genannten Modellen gibt es auch neuere, sogenannte ganzeinheitliche Modelle, welche sich nicht auf den reinen Softwareentwicklungsprozess beziehen sondern eine Betrachtung der Gesamtheit besitzen. Hier gibt es beispielsweise das sogenannte V-Modell, auch Vorgehensmodell genannt, was denn gesamten Projektverlauf von der Planung der Aktivitäten bis hin zur Integration des zu entwickelnden Systems in die vorhandene Systemumgebung enthält. Das Modell besitzt auch Funktionen der Qualitätssicherung und des Projektmanagements. Das V-Modell erstreckt sich überf olgende Subbereiche mit zugehörigen Aktivitäten:

Softwareentwicklung

(Analyse, Grobentwurf, Feinentwurf, Implementierung, Software-Integration, Systemintegration)

Qualitätssicherung

(Prüfung der Aktivitäten, Produktprüfung, Durchführungsentscheidung, Fertigprodukt prüfen, Qualitätsicherung-Berichtwesen)

Konfigurationsmanagement

(Konfigurationsmanagementplaung erstellen und einrichten, Changemanagement, Konfigurationsverwaltung, Konfigurationsmanagement-Berichtwesen)

Projektmanagement

(Projekt initialisieren, Projektplan, Projekthandbuch, Projekt begleiten, Projekthistprie, Berichtsdokumentation, Projekt abschließen, Projektschlußbericht)

Ziel des V-Modelles ist die standardisierung des Softwareentwicklungsprozesss, da so mehr transparenz bei der Durchführung vn Projekten möglich ist. Frühzeitig werden Fehler erkannt, es findet eine verbesserte Kontrolle der Qualität statt und man hat eine gewisse Vergleichbarkeit und objektive Bewertung von Projekten.

In den bisher genannten Modellen spielt der Benutzer also der Kunde eine eher untergeordnete Rolle. Projektleiter und die Entwicklungsteams bestimmen die Vorgehensweise und die Struktur des zu entwickelnden Systems. Gerade mal bei der Analyse des IST-Zustandes kann sich der Nutzer, beispielsweise in der Form eines Fragebogens, in den Prozess einbringen. Am Ende bekommt er lediglich das entwickelte System vorgesetzt. Letztendlich besitzt der Nutzer eine ganz andere Vorstellung von dem was er eigentlich haben möchte.

Differenzen zwischen Anwender und Entwickler entstehen auf unterschiedlichste Ebene. Ein Konflikt ist die abstrahierende Sicht er Entwickler und die praxisbezogene Sicht der Anwender. Hierzu gibt es jedoch einen Prozess, in welche der Kunde mit einbezogen wird. Das sogenante Prototyping kommt so einer Forderung sehr nah. Man versteht hierunter einen Prozess, indem ein vorläufiges Anwendungssystem entwickelt wird, das bereits die wesentlichen igenschaftend es entgültigen Systems besitzt. Bei der Analyse wird der Benutzer bereits aktiv mit einbezogen. Er bestimmt wie Benutzeroberflächen aussehen solen, bestimmt Datenfolgen etc.. Das Entwicklungssteam entwicklt auf Absprache einen sogenannten Prototypen und der Benutzer gewinnt mit dem Prototypen zumindest optisch einen Eindruck vom Endprodukt. Auch bei Entwurf und Realisierung wird der Nutzer mit einbezogen und er kann aus eigenen Erfahrungen heraus Hinweise zum Ablauf der Software geben. Prototyping durchbricht also das traditionelle Phasenkonzept, bei dem genau festgeschriebene Phasen mit vorgegebenen Aufgaben und Methoden zu durchlaufen sind.

Hierbei gibt es unterschiedliche Strategien:

evolutionäres Prototyping: schrittweise werden mehrere Versionnen ancheinander entwickelt. Die Entwicklung des jeweils nächsten Prototypen resuliert aus notwendigen Änderungen zum letzten Prototypen.

inkrementelles Prototyping: einzelne Teile des Gesamtsystems werden getrennt als Prototypen entwickelt und vom Benutzer getestet. Vergleichbar mit einem Puzzle werden die teile solange hinzugefügt bis ein kompletter Prototyp entsteht.

Rapid Prototyping: Hierbei wird ein sehr schnell ein Prototyp entwickelt, welcher lediglich zu Testzwecken zur Verfügung stehen soll. Nach einem Test wird der Typ weggeworfen und ein komplett neues System entwickelt.

Vorteile des Prototypings:

- sehr hoher Deckungsgrad zwischen Benutzeranforderung und Funktionalität der Software

- Frühzeitige Erkennung von Fehlern bei Analys, Entwurf, Realisierung

- Große Akzeptanz der Benutzer mit der Software aufgrund eigener Mitwirkung

- Reduzierung von Softwareentwicklungszeiten

- Schulung der Nutzer erfolgt von Anfang an

Nachteile:

- Gefahr der unsauberen Entwicklung besteht, besonders wenn noch zu wenig Erfahrung mit Technik und Methoden des Prototypings besteht

- die Akzeptanz schwindet wenn Prototyp nicht den Vorstellungend es Nutzers entspricht

- Entwicklungsaufwand kann höher sein

- Gefahr der endlosen Softwareentwicklung besteht: permanente Änderungswünsche

Die Entwicklungsrichtungen unterscheiden sich in zwei Strategien. Der Botom-Up und der Top-Down Methode. Bei Top-Down wird das große Thema, die Gesamtaufgabe schrittweise in Teilaufgaben, Module heruntergebrochen. So findet eine zunehmende Verfeinderung der Aufgabe statt. Das Ergebnis ist eine Hierarchie von Aufgaben, die als Software-Module bezeichnet werden können.

Im gegensatz dur TopDown-Strategie werden bei der Bottom-Up Strategie einzelne Aufgaben zu immer höheren Ebenen zusammengefasst. Dieser Prozess wiederholt sich solang bis die Gesamtaufgabe feststeht. In der Praxis gibt es meist eine Mischform beider Strategien (Middle-up-down-Strategie).

Grüße,

Tommy

Link zu diesem Kommentar
Auf anderen Seiten teilen

@tommy ... sehr ausführlich ... aber ich hätte jetzt als Prüfer meine Schwierigkeiten, Deine Antwort zu bewerten. Du beschreibst bloss die unterschiedlichen Vorgehensweisen, aber gehst nicht konkret auf die Aufgabe ein.

Deine Aufgabenstellung war doch:

Aufgabe ist es also ein sinvolles, zeitgemäßes Phasenmodell aufzustellen in welchem das Softwareentwicklungsprojekt abläuft.

Ich lese aus der Aufgabe:

1.) Entscheide Dich für ein Phasenmodell (Wasserfall-, V-Modell etc.)

2.) Zeige wie anhand des gewählten Phasenmodells der Ablauf der Prozesse aussehen könnte (mit Beispielen vielleicht)

Wie siehst Du das?

Gruss Metaner

Link zu diesem Kommentar
Auf anderen Seiten teilen

jep, das ist richtig wollte mit dem Posting nur eine Hilfe geben und keine Anwort auf die Aufgabe. War an der Stelle etwas dumm formuliert ;-)

Die Aufgabe an sich ist auch etwas zu lasch formuliert um sich für ein Phasenmodell zu entscheiden.

Vielleicht hat jemand eine bessere Formulierung für eine Aufgabenstellung der Art. Prinzipiell glaube ich aber auch gar nicht das eine Aufgabe dran kommt, wo ein Phasenmodell direkt auszuwählen ist. Denn dafür gibt es keinen richtigen Standard. Genauso wie es keinen Standard gibt, wie ein Pflichtenheft auszusehen hat. Jede Firma handhabt das anders. An der Stelle kann man wirklich nur fragen, was ist eigentlich das Wasserfallmodell oder was ist Top-Down.

Ich hoffe trotzdem einigen Leuten mit der Ausführung geholfen zu haben ;)

Grüße,

Tommy

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...