Softwareentwicklung

Softwareentwicklung (auch bekannt als Anwendungsentwicklung, Softwaredesign, Software, Softwareanwendungsentwicklung, Unternehmensanwendungsentwicklung oder Plattform-Entwicklung entwerfend), ist die Entwicklung eines Softwareproduktes. Der Begriff "Software-Entwicklung" kann gebraucht werden, um sich auf die Tätigkeit der Computerprogrammierung zu beziehen, die der Prozess des Schreibens und Aufrechterhaltens des Quellcodes ist, aber in einer breiteren Bedeutung des Terminus es schließt alles ein, was zwischen der Vorstellung der gewünschten Software durch zur Endmanifestation der Software ideal in einem geplanten und strukturierten Prozess beteiligt wird. Deshalb kann Softwareentwicklung Forschung, neue Entwicklung, prototyping, Modifizierung, Wiedergebrauch, Neugestaltung, Wartung oder irgendwelche anderen Tätigkeiten einschließen, die auf Softwareprodukte hinauslaufen.

Software kann für eine Vielfalt von Zwecken, die drei am üblichsten entwickelt werden seiend, um spezifischen Bedarf eines spezifischen Kunden/Geschäfts (der Fall mit der kundenspezifischen Software) zu decken, ein wahrgenommenes Bedürfnis nach einem Satz von potenziellen Benutzern (der Fall mit der kommerziellen und offenen Quellsoftware), oder für den persönlichen Gebrauch zu entsprechen (z.B ein Wissenschaftler kann Software schreiben, um eine weltliche Aufgabe zu automatisieren). Eingebettete Softwareentwicklung, d. h. die Entwicklung der eingebetteten Software solcher, wie verwendet, um Verbrauchsgüter zu kontrollieren, verlangt, dass der Entwicklungsprozess mit der Entwicklung des kontrollierten physischen Produktes integriert wird.

Das Bedürfnis nach der besseren Qualitätskontrolle des Softwareentwicklungsprozesses hat die Disziplin der Softwaretechnik verursacht, die zum Ziel hat, die systematische Annäherung anzuwenden, die im Technikparadigma zum Prozess der Softwareentwicklung veranschaulicht ist.

Übersicht

Es gibt mehrere verschiedene Annäherungen an die Softwareentwicklung, viel wie die verschiedenen Ansichten von politischen Parteien zur Regelung eines Landes. Einige bringen eine mehr strukturierte, technikbasierte Annäherung an das Entwickeln von Geschäftslösungen, wohingegen andere eine mehr zusätzliche Annäherung nehmen können, wo sich Software entwickelt, weil es stückweise entwickelt wird. Die meisten Methodiken teilen eine Kombination der folgenden Stufen der Softwareentwicklung:

  • Marktforschung
  • Das Sammeln von Voraussetzungen für die vorgeschlagene Geschäftslösung
  • Das Analysieren des Problems
  • Das Planen eines Plans oder Designs für die softwarebasierte Lösung
  • Durchführung (das Codieren) der Software
  • Die Prüfung der Software
  • Aufstellung
  • Wartung und Programmfehler, der befestigt

Auf diese Stufen wird häufig insgesamt als der Softwareentwicklungslebenszyklus oder SDLC verwiesen. Verschiedene Annäherungen an die Softwareentwicklung können diese Stufen in verschiedenen Ordnungen ausführen, oder mehr oder weniger Zeit verschiedenen Stufen widmen. Das Niveau des Details der in jeder Bühne der Softwareentwicklung erzeugten Dokumentation kann sich auch ändern. Diese Stufen können auch der Reihe nach (ein "Wasserfall" gestützte Annäherung) ausgeführt werden, oder sie können über verschiedene Zyklen oder Wiederholungen (eine mehr "äußerste" Annäherung) wiederholt werden. Die mehr äußerste Annäherung ist gewöhnlich mit weniger Zeit verbunden, die bei der Planung und Dokumentation, und mehr Zeit verbracht ist, die beim Codieren und der Entwicklung von automatisierten Tests verbracht ist. Mehr "äußerste" Annäherungen fördern auch dauernde Prüfung überall im Entwicklungslebenszyklus, sowie ein Arbeiten (oder ohne Programmfehler) Produkt zu jeder Zeit zu haben. Mehr strukturiert oder "Wasserfall" hat Annäherungsversuch gestützt, die Mehrheit von Gefahren zu bewerten und einen ausführlichen Plan für die Software zu entwickeln, bevor Durchführung (das Codieren) beginnt, und vermeiden Sie bedeutende Designänderungen und in späteren Stufen der Softwareentwicklungslebenszyklus-Planung wiedercodierend.

Es gibt bedeutende Vorteile und Nachteile zu den verschiedenen Methodiken, und die beste Annäherung an das Lösen eines Problems mit der Software wird häufig vom Typ des Problems abhängen. Wenn das Problem gut verstanden wird und eine Lösung vorzeitig, mehr "Wasserfall" effektiv geplant werden kann, kann gestützte Annäherung das beste arbeiten. Wenn, andererseits, das Problem einzigartig ist (mindestens zur Entwicklungsmannschaft) und die Struktur der Softwarelösung nicht leicht vorgesehen werden kann, dann kann eine mehr "äußerste" zusätzliche Annäherung am besten arbeiten.

Ein Softwareentwicklungsprozess ist eine der Entwicklung eines Softwareproduktes auferlegte Struktur. Synonyme schließen Softwarelebenszyklus und Softwareprozess ein. Es gibt mehrere Modelle für solche Prozesse, jedes Beschreiben Annäherungen an eine Vielfalt von Aufgaben oder Tätigkeiten, die während des Prozesses stattfinden.

Konsistenz in der Software

Um sicherzustellen, dass sich Software in einem Weg entwickeln kann, der seinen innewohnenden multidimensionality aufrechterhält, muss man sicherstellen, dass sich die verschiedenen Dimensionen zusammen auf eine konsequente Weise entwickeln. Software hat zu viele Dimensionen, um sich innerhalb eines einzelnen Fachwerks zu verbinden. Ein guter Mechanismus sollte auf ein spezifisches Problem wie das Sicherstellen der Konsistenz eines UML Klassendiagramms mit dem Quellcode nicht eingestellt werden. Stattdessen sollte es flexibel genug sein, um die breite Reihe von Dimensionen zu behandeln, die wirklich an der Softwareentwicklung beteiligt werden.

Softwareentwicklungsthema

Marketing

Die Quellen von Ideen für Softwareprodukte sind Legion. Diese Ideen können aus der Marktforschung einschließlich der demographischen Daten von potenziellen neuen Kunden, vorhandenen Kunden, Verkaufsaussichten kommen, wer das Produkt, den anderen inneren Softwareentwicklungspersonal oder einen kreativen Dritten zurückgewiesen hat. Ideen für Softwareprodukte werden gewöhnlich zuerst vom Marktpersonal für die Wirtschaftsdurchführbarkeit, für den ausgerüsteten mit dem vorhandenen Kanalvertrieb, für mögliche Effekten auf vorhandene Erzeugnisse, erforderliche Eigenschaften, und für den ausgerüsteten mit den Marktzielen der Gesellschaft bewertet. In einer Markteinschätzungsphase werden die Kosten und Zeitannahmen bewertet. Zu einer Entscheidung wird Anfang der ersten Phase betreffs gekommen, ob, gestützt auf der ausführlicheren Information, die durch das Marketing und den Entwicklungspersonal erzeugt ist, das Projekt weiter verfolgt werden sollte. Pranay.

Im Buch "Große Softwaredebatten" setzt Alan M. Davis im Kapitel "Requirements", Subkapitel "Das Fehlende Stück der Softwareentwicklung" fest

Weil Softwareentwicklung mit dem Vergleichen oder Übertreffen verbunden sein kann, was vom Kunden erforderlich ist, kann ein Softwareentwicklungsprojekt in weniger technische Sorgen wie menschliche Arbeitskräfte, Risikomanagement, geistiges Eigentum, das Budgetieren, Krisenmanagement usw. streunen. Diese Prozesse können auch die Rolle der Geschäftsentwicklung veranlassen, mit der Softwareentwicklung zu überlappen.

Softwareentwicklungsmethodik

Eine Softwareentwicklungsmethodik ist ein Fachwerk, das an die Struktur, den Plan gewöhnt ist, und kontrollieren Sie den Prozess von sich entwickelnden Informationssystemen. Ein großes Angebot an solchem Fachwerk hat sich im Laufe der Jahre, jeder mit seinen eigenen anerkannten Kräften und Schwächen entwickelt. Eine Systementwicklungsmethodik ist für den Gebrauch durch alle Projekte nicht notwendigerweise passend. Jeder der verfügbaren Methodiken wird am besten spezifischen Arten von Projekten angepasst, die auf dem verschiedenen gestützt sind, technisch, organisatorisch, Projekt und Mannschaft-Rücksichten.

Siehe auch

Weiterführende Literatur

  • Jim McCarthy (1995). Dynamik der Softwareentwicklung.
  • Dan Conde (2002). Softwareproduktmanagement: Betriebssoftwareentwicklung von der Idee bis Produkt zum Marketing zu Verkäufen.
  • Vormittags Davis (2005). Gerade genug Voraussetzungsmanagement: Wo Softwareentwicklung Marketing entspricht.
  • Edward Hasted. (2005). Software, die verkauft: Ein praktisches Handbuch zum Entwickeln und Marketing Ihr Softwareprojekt.
  • Luke Hohmann (2003). Außer der Softwarearchitektur: Das Schaffen und Unterstützen von Gewinnen-Lösungen.
  • John W. Horch (2005). "Zwei Orientierungen Darauf, Wie man Mit Gegenständen Arbeitet." In: IEEE Software. vol. 12, Nr. 2, Seiten 117-118, Mrz 1995.
  • John Rittinghouse (2003). Betriebssoftware Deliverables: Eine Softwareentwicklungsverwaltungsmethodik.
  • Karl E. Wiegers (2005). Mehr über Softwarevoraussetzungen: Dornige Probleme und praktischer Rat.
  • Robert K. Wysocki (2006). Wirksames Softwareprojektmanagement.

Craigellachie, das britische Columbia / Andrew Luster
Impressum & Datenschutz