Offshore Software Development Company, zuverlässiger Software-Programmierung
110 mal angesehenSoftware-Zuverlässigkeit ist eine wichtige Aufgabe des Software-Qualität. Es ist definiert als "die Wahrscheinlichkeit, störungsfreien Betrieb von einem Computer-Programm in einem bestimmten Umfeld für eine bestimmte Zeit"
Zur Verbesserung der Zuverlässigkeit Software kann auf verschiedenen Stufen der Entwicklung eines Programms, bei der eigentlichen Software. Diese Phasen umfassen: die Anforderungen, Design, Programmierung, Prüfung, Bewertung und Laufzeit. Das Studium der theoretischen Software ist vor allem die Zuverlässigkeit, die mit dem Konzept der Richtigkeit, eine mathematische Gebiet der Wissenschaft, ist eine Folge der Sprache und der Automatentheorie.
Anforderungen
Ein Programm kann nicht erwartet werden, dass die gewünschte Wirkung, wenn die Entwickler das Programm nicht in der Tat wissen, das Programm der gewünschten Verhalten im Voraus, oder, wenn sie nicht mindestens seine gewünschte Verhalten parallel mit der Entwicklung, die so ausführlich sind. Was ist ein hohes Maß an Genauigkeit als ausreichend angesehen wird heiß diskutiert. Die Idee der perfekte Detail ist attraktiv, kann aber unpraktisch, wenn nicht gar unmöglich, in der Praxis. Dies liegt daran, dass das gewünschte Verhalten zu ändern, eher wie die Palette des Verhaltens wird durch aktuelle Versuche, oder besser gesagt, nicht versucht, dies zu erreichen.
Ob ein Programm, das gewünschte Verhalten kann erfolgreich im voraus festgelegt ist umstritten, ob das Verhalten kann nicht angegeben werden, auf allen, und dies ist der Schwerpunkt der Bemühungen zur Formalisierung des Prozesses der Schaffung von Voraussetzungen für neue Software-Projekten. In-situ mit der Formalisierung Aufwand ist ein Versuch zu helfen, informieren, Nicht-Spezialisten, insbesondere Nicht-Programmierer, die Kommission Software-Projekte ohne ausreichende Kenntnisse der EDV-Software ist in der Tat. Die Kommunikation dieses Wissens wird erschwert durch die Tatsache, dass, wie oben angedeutet, auch Programmierer können nicht immer im Voraus wissen, was überhaupt möglich ist für die Software im Voraus zu versuchen.
Design
Während die Anforderungen sind, um was für ein Programm tun soll, ist dazu, zumindest auf einem hohen Niveau, um festzulegen, wie das Programm es tun sollten. Der Nutzen von Design ist auch von einigen in Frage gestellt, aber diejenigen, die sich zur Formalisierung der Zuverlässigkeit bieten oft gute Software-Design-Prozesse als die wichtigsten Mittel, um sie. Software-Design in der Regel den Einsatz von mehr abstrakt und allgemein Mittel zur Festlegung der Teile der Software und was sie tun. Als solche kann sie als einen Weg, um ein großes Programm in viele kleine Programme, so dass die kleineren Stücke zusammen, die Arbeit des gesamten Programms.
Im Sinne der High-Level-Design sind wie folgt. Es trennt, was sich als Probleme der Architektur, oder den Programm-Konzept und die Struktur, aus der tatsächlichen Probleme Codierung, die Lösung von Problemen der tatsächlichen Datenverarbeitung. Es gilt zusätzliche Auflagen für die Entwicklung von Verfahren, um den Anwendungsbereich der kleineren Software-Komponenten, und damit - es ist zu hoffen - die Beseitigung Variablen, die die Wahrscheinlichkeit erhöhen, der Programmierfehler. Es bietet ein Programm Vorlage, einschließlich der Spezifikation der Schnittstellen, die gemeinsam genutzt werden können von den verschiedenen Teams von Entwicklern arbeiten an verschiedenen Teilen, so dass sie im Voraus wissen, wie jeder ihrer Beiträge werden mit denen der anderen Teams. Schließlich, und vielleicht kontrovers, es gibt das Programm unabhängig von der Umsetzung der Sprache oder Sprachen, wodurch Sprache-spezifische Verzerrungen und Einschränkungen, die ansonsten kriechen in die Konstruktion, die vielleicht ungewollt auf der Programmierer-Designer.
Programmierung
Die Geschichte der Computer-Programmiersprache Entwicklung kann oft am besten vor dem Hintergrund der Versuche zur Beherrschung der Komplexität von Computerprogrammen, die sonst immer schwer zu verstehen, in einem angemessenen Verhältnis (vielleicht exponentiell) an die Größe der Programme. (Eine weitere Möglichkeit, sich auf die Entwicklung von Programmiersprachen ist schlicht und einfach als ein Weg, um den Computer zu tun, mehr und mehr von der Arbeit, aber das kann eine andere Art zu sagen, die gleiche Sache.) Der Mangel an Verständnis für ein Programm " s allgemeine Struktur und Funktionalität ist ein sicherer Weg, um nicht zu erkennen, Fehler im Programm, und damit die Verwendung von Sprachen sollte besser, umgekehrt, die Zahl der Fehler, indem Sie ein besseres Verständnis.
Verbesserungen in den Sprachen der Regel um inkrementell, was Software-Design zu tun versucht hat, auf einen Schlag: die Software immer auf ein höheres Maß an Abstraktion. Solche Erfindungen als Erklärung, Sub-Routine, Datei-, Klassen-, Template-, Bibliotheks-, Komponenten und mehr haben die Anordnung der ein Programm, das Teile werden mit Abstraktionen wie Schichten, Hierarchien und Module, die die Struktur bei verschiedenen granularities, so dass von jedem Punkt der Auffassung, die Programm-Code kann sich vorstellen zu geordneten und verständlich.
Darüber hinaus sind Verbesserungen in den Sprachen aktiviert haben mehr Kontrolle über die genaue Form und die Verwendung von Daten, bis hin zu den abstrakten Datentyp. Diese Daten können angegeben werden, um ein sehr feines Grad, wie und wann auf sie zugegriffen wird, und sogar den Zustand der Daten vor und nach dem sie zugegriffen wird.
Testing
Software-Tests, wenn sie korrekt, kann die gesamte Software-Qualität der Konformität durch Prüfung, dass das Produkt auf seine Anforderungen. Testing enthält, aber nicht beschränkt auf:
- Unit Testing
- Funktionstests
- Performance Testing
- Failover-Test
- Usability Testing
Eine Reihe von agilen Methoden verwenden Prüfung in einer frühen Phase des Entwicklungszyklus, um die Qualität in ihren Produkten. Zum Beispiel, ist der Test-Driven Development der Praxis, wo die Tests geschrieben werden, bevor sie den Code testen, wird in Extreme Programming, um die Qualität.
Runtime
Runtime Zuverlässigkeit Bestimmungen sind ähnlich zu den Prüfungen, sondern über das hinausgehen, einfache Bestätigung des Verhaltens der Beurteilung von Eigenschaften wie Leistung und die Interoperabilität mit anderen Code oder bestimmte Hardware-Konfigurationen ...
Quelle: http://www.articlesbase
Verwandte Web-Design Artikel
Schlagwörter: Software-Outsourcing
Dieser Eintrag wurde am Freitag, 7. November 2008 bei 9:07 und ist Gespeichert unter Flash, Flex-Design, Software Development, Software-Outsourcing, Web-Entwicklung. Sie können alle Antworten auf diesen Eintrag durch den RSS 2.0 Feed. Sie können eine Antwort oder trackback from your own site.

















