Software-Anforderungsspezifikation mit Beispiel

Eine Software-Anforderungsspezifikation (SRS) ist ein Dokument, das die Art eines Projekts, einer Software oder Anwendung beschreibt. In einfachen Worten ist das SRS-Dokument ein Handbuch für ein Projekt, sofern es vor dem Start eines Projekts/einer Anwendung erstellt wird. Dieses Dokument ist auch unter den Bezeichnungen SRS-Bericht und Software-Dokument bekannt. Ein Software-Dokument wird in erster Linie für ein Projekt, eine Software oder eine beliebige Anwendung erstellt.

Es gibt eine Reihe von Richtlinien, die bei der Erstellung des Software-Anforderungsspezifikationsdokuments zu beachten sind. Dazu gehören der Zweck, der Umfang, die funktionalen und nichtfunktionalen Anforderungen sowie die Software- und Hardwareanforderungen des Projekts. Darüber hinaus enthält es auch Informationen über die erforderlichen Umgebungsbedingungen, Sicherheitsanforderungen, Softwarequalitätsmerkmale des Projekts usw.

What is a Software Requirements Specification document?

A Software requirements specification document describes the intended purpose, requirements and nature of a software to be developed. It also includes the yield and cost of the software.

In this document, flight management project is used as an example to explain few points.

Table of Contents

Suggested Read:

  • SRS report for a Lab Administration project

INTRODUCTION

1.1 PURPOSE

The purpose of this document is to build an online system to manage flights and passengers to ease the flight management. <<Include the purpose as applicable to your project >>

1.2 DOCUMENT CONVENTIONS

This document uses the following conventions. <<Include the conventions as per your application >>

DB Database
DDB Distributed Database
ER Entity Relationship

1.3 INTENDED AUDIENCE AND READING SUGGESTIONS

This project is a prototype for the flight management system and it is restricted within the college premises. This has been implemented under the guidance of college professors. Dieses Projekt ist sowohl für das Flugmanagementteam als auch für die Passagiere nützlich.

1.4 PROJEKTBEREICH

Der Zweck des Online-Flugmanagementsystems ist es, das Flugmanagement zu erleichtern und eine bequeme und einfach zu bedienende Anwendung für Passagiere zu schaffen, die Flugtickets kaufen wollen. Das System basiert auf einer relationalen Datenbank mit ihren Flugverwaltungs- und Reservierungsfunktionen. Wir werden über einen Datenbankserver verfügen, der Hunderte von Großstädten auf der ganzen Welt sowie Tausende von Flügen verschiedener Fluggesellschaften unterstützt. Vor allem hoffen wir, eine komfortable Benutzererfahrung zusammen mit den besten verfügbaren Preisen zu bieten.

1.5 REFERENZEN

  • Grundlagen der Datenbanksysteme von ramez elmarsi und shamkant b.navathe

GESAMTBESCHREIBUNG

2.1 PRODUKTPERSPEKTIVEN

Ein verteiltes Datenbanksystem für Fluggesellschaften speichert folgende Informationen:

  • Flugdaten:
    Sie umfassen das Abflugterminal und das Zielterminal sowie die Zwischenstopps, die Anzahl der gebuchten/verfügbaren Plätze zwischen zwei Zielen usw.
  • Kundenbeschreibung:
    Sie umfasst Kundencode, Name, Adresse und Telefonnummer. Diese Informationen können verwendet werden, um die Daten des Kunden für Notfälle oder andere Informationen zu speichern.
  • Buchungsbeschreibung:
    Sie enthält Kundendaten, Code-Nummer, Flugnummer, Buchungsdatum, Reisedatum.

2.2 PRODUKTEIGENSCHAFTEN

Die Hauptmerkmale des Airline-Datenbanksystems sind im folgenden Entity-Relationship-Modell (ER-Modell)

Das Diagramm zeigt den Aufbau des Airline-Datenbanksystems – Entity-Relationship-Modell

2.3 BENUTZERKLASSE und EIGENSCHAFTEN

Die Benutzer des Systems sollen in der Lage sein, Fluginformationen zwischen zwei gegebenen Städten mit dem gegebenen Reisedatum und der gegebenen Reisezeit aus der Datenbank abzurufen. Eine Flugstrecke von Stadt A nach Stadt B ist eine Folge von Anschlussflügen von A nach B, die a) höchstens zwei Zwischenstopps mit Ausnahme der Start- und Zielstadt der Reise umfasst und b) eine Umsteigezeit von einer bis zwei Stunden hat. Das System wird zwei Arten von Benutzerrechten unterstützen: Kunden und Mitarbeiter. Die Kunden haben Zugang zu den Kundenfunktionen, die Mitarbeiter haben Zugang zu den Kunden- und Flugverwaltungsfunktionen. Der Kunde sollte in der Lage sein, folgende Funktionen auszuführen:

  • Eine neue Reservierung vornehmen
    – One-way
    – Round-Trip
    – Multi-city
    – Flexibles Datum/Zeit
    – Bestätigung
  • Eine bestehende Reservierung stornieren
  • Seine Reiseroute einsehen

Der Mitarbeiter sollte folgende Verwaltungsfunktionen haben:

  • KUNDENFUNKTIONEN.
    – Ermittelt alle Kunden, die Plätze für einen bestimmten Flug reserviert haben.
    – Ermittelt alle Flüge für einen bestimmten Flughafen.
    – Zeigt den Flugplan an.
    – Ermittelt alle Flüge, deren Ankunfts- und Abflugzeiten pünktlich/verspätet sind.
    – Berechnet den Gesamtumsatz für einen bestimmten Flug.
  • ADMINISTRATIV
    – Hinzufügen/Löschen eines Fluges
    – Hinzufügen eines neuen Flughafens
    – Aktualisieren des Flugpreises für Flüge.
    – Hinzufügen einer neuen Flugstreckeninstanz.
    – Aktualisieren der Abflug-/Ankunftszeiten für Flugstreckeninstanzen.
  • Jeder Flug hat eine begrenzte Anzahl an verfügbaren Plätzen. Es gibt eine Reihe von Flügen, die an verschiedenen Tagen und zu verschiedenen Zeiten von verschiedenen Städten abfliegen oder dort ankommen.

    2.4 BETRIEBSUMGEBUNG

    Die Betriebsumgebung für das Airline Management System sieht wie folgt aus. <<Fügen Sie die Details entsprechend Ihrer Anwendung ein >>

    • Verteilte Datenbank
    • Client/Server-System
    • Betriebssystem: Windows
    • Datenbank: sql+ database
    • Plattform: vb.net/Java/PHP

    2.5 KONSTRUKTIONS- und IMPLEMENTIERUNGSBEDINGUNGEN

    1. Das globale Schema, das Fragmentierungsschema und das Zuordnungsschema.
    2. SQL-Befehle für die oben genannten Abfragen/Anwendungen
    3. Wie die Antwort für Anwendung 1 und 2 erzeugt wird. Angenommen, es handelt sich um globale Abfragen. Erläutern Sie, wie die verschiedenen Fragmente dazu kombiniert werden.
    4. Implementieren Sie die Datenbank zumindest mit einem zentralen Datenbankmanagementsystem.

    2.6 ANNAHMEN

    Lassen Sie uns annehmen, dass es sich um ein verteiltes Airline-Management-System handelt, das in der folgenden Anwendung eingesetzt wird:

    • Eine Anfrage zur Buchung/Stornierung eines Fluges von einer beliebigen Quelle zu einem beliebigen Ziel, wobei Anschlussflüge angegeben werden, falls kein Direktflug zwischen dem angegebenen Quelle-Ziel-Paar existiert.
    • Berechnung von Vielfliegern und Berechnung der entsprechenden Prämienpunkte für diese Flieger.

    Angenommen, es handelt sich bei beiden Transaktionen um Einzeltransaktionen, so haben wir eine verteilte Datenbank entworfen, die geographisch auf die vier Städte Delhi, Mumbai, Chennai und Kolkatta verteilt ist, wie in Abb.

    SYSTEMEIGENSCHAFTEN

    • BESCHREIBUNG und PRIORITÄT

    Das Reservierungssystem für Fluggesellschaften verwaltet Informationen über Flüge, Sitzklassen, persönliche Präferenzen, Preise und Buchungen. Natürlich hat dieses Projekt eine hohe Priorität, da es sehr schwierig ist, ohne vorherige Reservierung über Ländergrenzen hinweg zu reisen.

    • STIMULUS/RESPONSE SEQUENCES
      • Suche nach Flügen für zwei Reisestädte
      • Zeigt eine detaillierte Liste der verfügbaren Flüge an und macht eine „Reservierung“ oder bucht ein Ticket für einen bestimmten Flug.
      • Storniere eine bestehende Reservierung.
    • FUNCTIONAL REQUIREMENTS

    Other system features include:

    DISTRIBUTED DATABASE:

    Distributed database implies that a single application should be able to operate transparently on data that is spread across a variety of different databases and connected by a communication network as shown in below figure.

    Distributed database located in four different cities

    CLIENT/SERVER SYSTEM

    The term client/server refers primarily to an architecture or logical division of responsibilities, the client is the application (also known as the front-end), and the server is the DBMS (also known as the back-end).

    A client/server system is a distributed system in which,

    • Some sites are client sites and others are server sites.
    • All the data resides at the server sites.
    • All applications execute at the client sites.

    EXTERNAL INTERFACE REQUIREMENTS

    4.1 USER INTERFACES

    • Front-end software: Vb.net version
    • Back-end software: SQL+

    4.2 HARDWARE INTERFACES

    • Windows.
    • A browser which supports CGI, HTML & Javascript.

    4.3 SOFTWARE INTERFACES

    Following are the software used for the flight management online application. <<Include the software details as per your project >>

    Software used Description
    Operating system We have chosen Windows operating system for its best support and user-friendliness.
    Database To save the flight records, passengers records we have chosen SQL+ database.
    VB.Net To implement the project we have chosen Vb.Net language for its more interactive support.

    4.4 COMMUNICATION INTERFACES

    This project supports all types of web browsers. Wir verwenden einfache elektronische Formulare für die Reservierungsformulare, die Ticketbuchung usw.

    NICHT-FUNKTIONALE ANFORDERUNGEN

    5.1 LEISTUNGSANFORDERUNGEN

    Die Schritte, die für die Implementierung der Fluggesellschaftsdatenbank erforderlich sind, sind im Folgenden aufgeführt.

    A) E-R DIAGRAM

    Das E-R Diagramm ist eine Technik zur bildlichen Darstellung der logischen Struktur einer Datenbank. Diese Analyse wird dann verwendet, um Daten als Relationen zu organisieren, Relationen zu normalisieren und schließlich eine Relationen-Datenbank zu erhalten.

    • ENTITIES: Diese spezifizieren unterschiedliche reale Objekte in einer Anwendung.
    • PROPERTIES/ATTRIBUTES: Diese spezifizieren Eigenschaften einer Entität und Beziehungen.
    • RELATIONSHIPS: Diese verbinden Entitäten und stellen sinnvolle Abhängigkeiten zwischen ihnen dar.

    B) NORMALISIERUNG:

    Grundlegendes Ziel der Normalisierung ist es, Redundanz zu reduzieren, d.h. Informationen sollen nur einmal gespeichert werden. Die mehrfache Speicherung von Informationen führt zu einer Verschwendung von Speicherplatz und zu einer Vergrößerung des Gesamtumfangs der gespeicherten Daten.

    Wenn eine Datenbank nicht richtig konzipiert ist, kann es zu Änderungsanomalien kommen. Änderungsanomalien treten auf, wenn Daten zu einer Datenbanktabelle hinzugefügt, geändert oder aus ihr gelöscht werden. In ähnlicher Weise können in herkömmlichen Datenbanken sowie in unsachgemäß konzipierten relationalen Datenbanken Datenredundanzen ein Problem darstellen. Diese können durch Normalisierung einer Datenbank beseitigt werden.

    Normalisierung ist der Prozess der Aufteilung einer Tabelle in kleinere Tabellen. So, dass jede Tabelle ein einziges Thema behandelt. Es gibt drei verschiedene Arten von Modifikationen von Anomalien und die Formulierung der ersten, zweiten und dritten Normalform (3NF) wird für die meisten praktischen Zwecke als ausreichend angesehen. Sie sollte nur nach einer gründlichen Analyse und einem vollständigen Verständnis ihrer Auswirkungen in Betracht gezogen werden.

    5.2 SICHERHEITSANFORDERUNGEN

    Wenn ein großer Teil der Datenbank durch einen katastrophalen Ausfall, wie z.B. einen Festplattenabsturz, stark beschädigt wird, stellt die Wiederherstellungsmethode eine frühere Kopie der Datenbank wieder her, die auf einem Archivspeicher (in der Regel einem Band) gesichert wurde, und rekonstruiert einen aktuelleren Zustand, indem sie die Operationen zugesagter Transaktionen aus dem gesicherten Protokoll bis zum Zeitpunkt des Ausfalls erneut anwendet oder wiederholt.

    5.3 SICHERHEITSANFORDERUNGEN

    Sicherheitssysteme brauchen Datenbankspeicher wie viele andere Anwendungen auch. Die besonderen Anforderungen des Sicherheitsmarktes erfordern jedoch eine sorgfältige Auswahl des Datenbankpartners.

    5.4 SOFTWAREQUALITÄTS-ATTRIBUTEN

    • VERFÜGBARKEIT: Der Flug sollte zum angegebenen Datum und zur angegebenen Uhrzeit verfügbar sein, da viele Kunden Vorbestellungen vornehmen.
    • RICHTIGKEIT: Der Flug sollte vom korrekten Startterminal aus starten und das korrekte Ziel erreichen.
    • MAINTABILITÄT: Die Administratoren und Flugplaner sollten korrekte Flugpläne pflegen.
    • NUTZBARKEIT: Die Flugpläne sollten eine maximale Anzahl von Kundenbedürfnissen erfüllen.

    Schreibe einen Kommentar

    Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.