Software-Voraussetzungen



Die Software-Anforderungen sind Beschreibung der Features und Funktionen des Zielsystems. Anforderungen vermitteln die Erwartungen der Nutzer aus der Software-Produkt. Die Anforderungen können offensichtlich oder versteckt, bekannt oder unbekannt, erwartet oder unerwartet aus der Sicht des Kunden sein.

Requirement Engineering

Der Prozess um die Software-Anforderungen aus Kunden, sammeln, analysieren und dokumentieren sie ist bekannt als Requirement Engineering.

Das Ziel des Requirements Engineering ist die Entwicklung und Pflege anspruchsvoller und aussagekräftigen 'System Requirements Specification' -Dokument.

Requirement Engineering Prozess

Es ist ein Vier-Schritt-Prozess, welche beinhaltet –

  • Machbarkeitsstudie
  • Anforderungs Versammlung
  • Software Requirement Specification
  • Software Requirement Validierung

Lassen Sie uns sehen, den Prozess kurz

Machbarkeitsstudie

Wenn der Client nähert sich dem Unternehmen für das Erhalten der gewünschten Produkt entwickelt, kommt es mit groben Überblick über das, was alle Funktionen der Software ausführen müssen, und dem alle Funktionen von der Software erwartet.

Verweisen auf diese Informationen, tut die Analysten eine detaillierte Studie darüber, ob das gewünschte System und seine Funktionalität sind möglich zu entwickeln.

Diese Machbarkeitsstudie ist auf Ziel der Organisation ausgerichtet. Diese Studie untersucht, ob das Software-Produkt kann praktisch in Bezug auf die Durchführung von Projekt Beitrag zur Organisation, Kostenzwänge und nach Werten und Zielen der Organisation materialisiert werden. Es erforscht die technischen Aspekte des Projekts und Produkt wie Benutzerfreundlichkeit, Wartbarkeit, Produktivität und Integrationsfähigkeit.

Der Ausgang dieser Phase sollte eine Machbarkeitsstudie, die eine angemessene Kommentare und Empfehlungen für die Verwaltung darüber, ob oder nicht das Projekt durchgeführt werden enthalten sein sollte.

Anforderungs Versammlung

Wenn die Machbarkeitsstudie positiv gegenüber, die das Projekt startet nächste Phase mit Raffung Anforderungen des Benutzers. Analysten und Ingenieure kommunizieren mit dem Kunden und Endnutzer, um ihre Ideen auf, was die Software liefern sollten wissen, und welche Funktionen sie die Software enthalten soll.

Software Requirement Specification

SRS ist ein Dokument, erstellt von Systemanalytiker, nachdem die Anforderungen gesammelt aus verschiedenen Interessengruppen.

SRS definiert, wie die vorgesehene Software interagieren mit Hardware, externe Schnittstellen, Betriebsgeschwindigkeit, Reaktionszeit des Systems, Portabilität von Software über verschiedene Plattformen, Wartbarkeit, Geschwindigkeit der Erholung nach einem Unfall, Sicherheit, Qualität, Einschränkungen usw.

Die von Client empfangen Anforderungen sind in natürlicher Sprache geschrieben. Es ist die Verantwortung des Systemanalytiker, die Anforderungen in der Fachsprache zu dokumentieren, so dass sie verstanden und sinnvoll durch den Software-Entwicklungsteam werden.

SRS sollte sich mit folgenden Features:

  • Benutzeranforderungen werden in natürlicher Sprache ausgedrückt.

  • Technische Anforderungen sind zum Ausdruck in strukturierte Sprache, die innerhalb der Organisation verwendet wird.

  • Design-Beschreibung sollte in Pseudo-Code geschrieben werden.

  • Format der Formulare und GUI-Bildschirm Drucke.

  • Bedingte und mathematische Notationen für DFDs etc.

Software Anforderungsvalidierung

Nach Anforderungsspezifikationen sind entwickelt, die in diesem Dokument genannten Anforderungen werden validiert. Benutzer könnten für illegale, unpraktische Lösung fragen und Sachverständigen die Anforderungen falsch interpretieren. Dies führt zu enormen Anstieg der Kosten, wenn nicht im Keim erstickt. Anforderungen können gegen folgende Bedingungen überprüft werden -

  • Wenn sie können praktisch umgesetzt
  • Wenn sie gültig und wie pro Funktionalität und Domäne der Software sind
  • Wenn es irgendwelche Unklarheiten
  • Wenn sie abgeschlossen sind
  • Wenn sie demonstriert werden können

Anforderungs Erhebung Prozess

Anforderungserhebung Prozess kann mit Hilfe der folloiwng Diagramm dargestellt werden:

Voraussetzung Erhebung Prozess
  • Anforderungs Versammlung - Die Entwickler diskutieren mit den Kunden und Endanwendern und wissen, dass ihre Erwartungen an die Software.

  • Organisieren Anforderungen - Die Entwickler priorisieren und ordnen Sie die Anforderungen in der Reihenfolge ihrer Bedeutung, Dringlichkeit und Komfort.

  • Verhandlung & Diskussion - wenn Anforderungen sind mehrdeutig oder gibt es einige Konflikte in Anforderungen der verschiedenen Beteiligten, wenn sie sind, es wird dann ausgehandelt und mit den Beteiligten diskutiert. Anforderungen können dann priorisiert und vernünftigerweise beeinträchtigt werden.

    Die Anforderungen kommen aus verschiedenen Interessengruppen Um die Mehrdeutigkeit und Konflikte zu entfernen, werden sie aus Gründen der Klarheit und Richtigkeit diskutiert. Unrealistische Anforderungen sind recht gefährdet.

  • Dokumentation - Alle formellen und informellen, funktionalen und nicht-funktionalen Anforderungen werden dokumentiert und Verfügung gestellt für die nächste Phase Verarbeitung zur.

Anforderungsermittlungstechniken

Anforderungserhebung ist der Prozess, um die Anforderungen an ein Software-System soll durch die Kommunikation mit Kunden, Endverbraucher, Systembenutzer und andere, die eine Beteiligung an der Software-System-Entwicklung haben das herauszufinden.

Es gibt verschiedene Wege, um Anforderungen zu entdecken.

Interviews

Interviews sind starke Medium, zu sammel Anforderungen. Organisation kann verschiedene Arten von Interviews durchzuführen:

  • Strukturierte (geschlossen) Interviews, in denen jeder einzelne Informationen zu sammeln, wird im Voraus entschieden, sie folgen Muster und Gegenstand von Diskussionen fest.

  • Non-strukturiert (offen) Interviews, in denen Informationen zu sammeln, ist nicht im Voraus entschieden, flexibler und weniger voreingenommen.

  • Oral interviews

  • Schriftliche Interviews

  • One-to-One-Interviews, die zwischen zwei Personen über den Tisch gehalten werden.

  • Gruppeninterviews, die zwischen Teilnehmergruppen gehalten werden. Sie helfen, die fehlenden Anforderung aufzudecken, wie viele Menschen betroffen sind.

Umfragen

Organisation kann Umfragen unter verschiedenen Interessengruppen durch Abfrage über ihre Erwartungen und Anforderungen aus dem kommenden System durchzuführen.

Fragebogen

Ein Dokument mit vordefinierten Reihe von objektiven Fragen und entsprechenden Optionen ist handed zu allen Interessengruppen beantworten welche sind die gesammelt und zusammengestellt.

Ein Nachteil dieser Technik ist, wenn eine Option für einige Problem wird nicht im Fragebogen erwähnt, das Problem könnte unbeaufsichtigt gelassen werden.

Task-Analyse

Team von Ingenieuren und Entwicklern kann den Betrieb, für die das neue System ist erforderlich, zu analysieren. Wenn der Client bereits über eine Software auf bestimmte Operation durchzuführen, wird untersucht und Anforderungen der vorgeschlagenen System gesammelt werden.

Domain-Analyse

Jede Software fällt in eine Domäne Kategorie. Die Experten Menschen in der Domäne kann eine große Hilfe, um allgemeine und spezifische Anforderungen zu analysieren.

Brainstorming

Eine informelle Debatte zwischen den verschiedenen Interessengruppen statt und alle ihre Eingänge für weitere Bedarfsanalyse erfasst.

Prototyping

Prototyping baut Benutzeroberfläche ohne Zugabe von Detail-Funktionalität für Benutzer, um die Funktionen des Software-Produkt soll zu interpretieren. Es hilft woraus eine bessere Idee von Anforderungen. Wenn es keine Software Endkunden für Referenz Entwicklers installiert und der Client ist nicht bekannt, ihre eigenen Anforderungen der Entwickler erzeugt einen Prototyp eingangs erwähnten Anforderungen. Der Prototyp wird auf dem Client angezeigt und der Rückkopplung festgestellt. Das Kunden-Feedback dient als Eingang für Anforderung Versammlung.

Beobachtung

Team von Experten besuchen Organisation oder am Arbeitsplatz des Kunden. Sie beobachten die eigentliche Arbeit der bereits installierten Systemen. Sie beobachten den Arbeitsablauf am Ende des Kunden und wie Ausführungsprobleme behandelt werden. Das Team selbst einige Schlussfolgerungen gezogen, welche Hilfe die Anforderungen aus der Software erwartet zu bilden.

Software-Anforderungen Eigenschaften

Versammlung Software-Anforderungen ist die Grundlage des gesamten Software-Entwicklungsprojekt. Daher müssen sie klare, richtige und gut definiert.

eine komplette Software-Pflichtenheft muss sein:

  • Klar
  • Richtig
  • Konsequente
  • Coherent
  • Verständliche
  • Veränderbare
  • prüfbare
  • Priorisierte
  • Eindeutige
  • Nachvollziehbare
  • glaubwürdige Quelle

Software-Anforderungen

Wir sollten versuchen zu verstehen, welche Art von Anforderungen können in der Forderung Auslösephase entstehen und welche Arten von Anforderungen aus dem Software-System erwartet werden.

breit Softwareanforderungen sollten in zwei Kategorien eingeteilt werden:

Funktionale Anforderungen

Anforderungen, die funktionalen Aspekt der Software fallen in diese Kategorie zu tun haben.

Sie definieren Funktionen und Funktionalität innerhalb und aus der Software-System.

Beispiele -

  • Suche Option, um Benutzer gegeben, um aus verschiedenen Rechnungen zu suchen.
  • Benutzer sollten von jedem Bericht an das Management per Post zu.
  • Benutzer können in Gruppen eingeteilt werden und Gruppen können gesonderte Rechte gegeben werden.
  • Sollte Geschäftsregeln und administrative Funktionen zu erfüllen.
  • Software hält intakte Abwärtskompatibilität entwickelt.

nicht-funktionalen Anforderungen

Anforderungen, die nicht mit funktionalen Aspekt von Software verbunden sind, fallen in diese Kategorie. Sie sind implizit oder erwarteten Eigenschaften von Software, die Nutzer Annahme zu machen.

Nicht-funktionale Anforderungen sind -

  • Sicherheit
  • Protokollierung
  • Speicher
  • Konfiguration
  • Performance
  • Kosten
  • Interoperabilität
  • Flexibilität
  • Disaster recovery
  • Accessibility

Die Anforderungen sind logisch als kategorisiert

  • Muss : Software kann nicht gesagt werden, Betriebs ohne sie.

  • sollte : Verbesserung der Funktionalität von Software.

  • Hätte : Software kann immer noch funktionieren mit diesen Anforderungen.

  • Merkliste : Diese Anforderungen gelten nicht für Ziele der Software-Karte.

Während der Entwicklung von Software, "must have" muss umgesetzt werden, "sollte" ist eine Frage der Debatte mit den Betroffenen und Negation, während "könnte" und "Wunschliste" für Software-Updates gehalten werden.

User Interface Anforderungen

UI ist ein wichtiger Teil der Software oder Hardware oder Hybrid-System. Eine Software ist weitgehend akzeptiert, wenn es sich -

  • einfach zu bedienen
  • schnelle Reaktion
  • effektiv Umgang mit operationellen Fehler
  • Bereitstellung von einfachen, aber konsistente Benutzeroberfläche

Benutzerakzeptanz majorly davon abhängig, wie Benutzer die Software verwenden. UI ist die einzige Möglichkeit für die Nutzer, um das System zu erkennen. Ein gut funktionierendes Softwaresystem muss auch mit attraktiven, klare, konsistente und ansprechende Benutzeroberfläche ausgestattet werden. Ansonsten werden die Funktionalitäten der Software-System kann in bequemer Weise verwendet werden. Ein System wird gut sein, wenn es sieht Mittel, um es effizient zu nutzen. Benutzerschnittstellenanforderungen werden im Folgenden kurz erwähnt -

  • Content-Präsentation
  • Einfache Navigation
  • Einfache Schnittstelle
  • Responsive
  • Konsequente UI-Elemente
  • Rück Mechanismus
  • Standardeinstellungen
  • Gezielte Layout
  • Strategische Verwendung von Farbe und Textur.
  • Geben Sie Hilfeinformationen
  • Benutzer zentrierten Ansatz
  • Ansichtseinstellungen basierend Group

Software System Analyst

System Analyst in einer IT-Organisation ist eine Person, die die Anforderungen der vorgeschlagenen System analysiert und stellt sicher, dass die Anforderungen konzipiert und richtig und korrekt dokumentiert. Rolle eines Analysten beginnt bei der Software-Analyse der Phase-SDLC. Es ist die Verantwortung des Analytikers, um sicherzustellen, dass die entwickelte Software die Anforderungen des Kunden erfüllt.

System-Analysten haben folgende Aufgaben:

  • Analyse und das Verständnis der Anforderungen bestimmt Software.

  • Verstehen, wie das Projekt in den Organisationsziele beitragen.

  • die Quellen für die Anforderung.

  • Validierung von Anforderungen.

  • Entwicklung und Umsetzung von Anforderungsmanagement Plan.

  • Dokumentation von Geschäfts, technische, Prozess-und Produktanforderungen.

  • Koordination mit Kunden, um Anforderungen zu priorisieren und zu entfernen und Mehrdeutigkeit.

  • Abschließen Akzeptanzkriterien mit Kunden und anderen Interessengruppen.

Software-Metriken und Maßnahmen

Software können Maßnahmen als einen Prozess der Quantifizierung und als Symbol für verschiedene Attribute und Aspekte der Software zu verstehen.

Software-Metriken liefern Maßnahmen für verschiedene Aspekte der Software-Prozess-und Software-Produkt.

Software Maßnahmen grundlegende Anforderung des Software Engineering. Sie helfen nicht nur, um den Software-Entwicklungsprozess zu steuern, sondern auch helfen, die Qualität der ultimative Produkt ausgezeichnet zu halten.

Laut Tom DeMarco, eine (Software Engineer) : "Sie können nicht kontrollieren, was man nicht messen kann." Durch sein Wort, es ist sehr deutlich, wie wichtig Maßnahmen Software.

Lassen Sie uns sehen einige Software-Metriken:

  • Größe Metrics - LOC (Lines of Code), meist in Tausenden von gelieferten Quellcode-Zeilen, wie KLOC bezeichnet berechnet

    Function-Point-Count ist Maß für die Funktionalität von der Software zur Verfügung gestellt. Function-Point-Zählung definiert die Größe des funktionalen Aspekt der Software.

  • Komplexität Metriken - Zyklomatische Komplexität McCabe quantifiziert die obere Grenze der Anzahl der unabhängigen Pfade in einem Programm, das als Komplexität des Programms oder seine Module wahrgenommen wird. Es ist in Bezug auf Konzepte der Graphentheorie, indem Kontrollflussgraphen repräsentiert.

  • Quality Metrics - Mängel, deren Art und Ursachen, Folgen, die Intensität der Schwere und ihre Auswirkungen definieren die Qualität des Produktes.

    Die Anzahl der Defekte in Entwicklungsprozess und der Anzahl der Mängel durch den Kunden gemeldet, nachdem das Produkt installiert oder am Client-Ende geliefert gefunden, definieren Qualität des Produkts.

  • Prozessmetriken - In verschiedenen Phasen des SDLC, den Methoden und Werkzeugen, die Unternehmensstandards und die Leistung der Entwicklung sind Software-Prozessmetriken.

  • Resource Metrics - Mühe, Zeit und verschiedenen Ressourcen verwendet, stellt Metriken für Ressourcenmessung.

Advertisements