Een Software Requirements Specification (SRS) is een document dat de aard van een project, software of applicatie beschrijft. Eenvoudig gezegd is een SRS-document een handleiding voor een project, mits het is opgesteld voordat u een project/toepassing start. Dit document is ook bekend onder de namen SRS-rapport, softwaredocument. Een software document is in de eerste plaats opgesteld voor een project, software of elke vorm van toepassing.
Er zijn een set van richtlijnen die moeten worden gevolgd tijdens de voorbereiding van de software-eisen specificatiedocument. Dit omvat het doel, de reikwijdte, functionele en niet-functionele eisen, software en hardware-eisen van het project. In aanvulling op deze, het bevat ook de informatie over de vereiste milieu-omstandigheden, veiligheid en beveiliging eisen, software kwaliteitsattributen van het project, enz.
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. Dit project is nuttig voor het vlucht management team en ook voor de passagiers.
1.4 PROJECT SCOPE
Het doel van het online vlucht management systeem is om het vlucht management te vergemakkelijken en om een gemakkelijke en makkelijk te gebruiken applicatie te maken voor passagiers, die proberen om vliegtickets te kopen. Het systeem is gebaseerd op een relationele database met zijn vlucht management en reserverings functies. We zullen een databaseserver hebben die honderden grote steden over de hele wereld ondersteunt, alsmede duizenden vluchten van verschillende luchtvaartmaatschappijen. Bovenal hopen we een comfortabele gebruikerservaring te bieden samen met de beste prijzen die beschikbaar zijn.
1.5 REFERENTIES
- Fundamentals of database systems by ramez elmarsi and shamkant b.navathe
OVERAL DESCRIPTION
2.1 PRODUCTPERSPECTIEF
Een gedistribueerd databasesysteem voor luchtvaartmaatschappijen slaat de volgende informatie op.
- Vluchtgegevens:
Het bevat de terminal van vertrek en de terminal van bestemming, samen met de tussenstops, het aantal geboekte/beschikbare plaatsen tussen twee bestemmingen enz. - Beschrijving klant:
Het gaat om klantcode, naam, adres en telefoonnummer. Deze informatie kan worden gebruikt om de gegevens van de klant bij te houden voor eventuele noodgevallen of voor andere soorten informatie. - Beschrijving van de reservering:
Deze bevat klantgegevens, codenummer, vluchtnummer, datum van reservering, reisdatum.
2.2 PRODUCTKENMERKEN
De belangrijkste kenmerken van het airline database systeem zoals weergegeven in onderstaand entiteit-relatie model (ER-model)
Het diagram toont de lay-out van het airline database systeem – entiteit-relatie model
2.3 GEBRUIKERSKLASSE EN KENMERKEN
Gebruikers van het systeem moeten vluchtinformatie tussen twee gegeven steden met de gegeven datum/tijd van reizen uit de database kunnen opvragen. Een route van stad A naar stad B is een opeenvolging van aansluitende vluchten van A naar B zodanig dat: a) er ten hoogste twee aansluitende tussenstops zijn, de stad van vertrek en de stad van bestemming van de reis niet meegerekend, b) de aansluittijd tussen één en twee uur bedraagt. Het systeem zal twee soorten gebruikersprivileges ondersteunen, namelijk klanten en werknemers. Klanten zullen toegang hebben tot klantenfuncties, en de werknemers zullen toegang hebben tot zowel klanten- als vluchtbeheerfuncties. De klant moet de volgende functies kunnen uitvoeren:
- Een nieuwe reservering maken
– Enkele reis
– Rondreis
– Multi-steden
– Flexibele datum/tijd
– Bevestiging
- Een bestaande reservering annuleren
- Zijn reisschema bekijken
De werknemer moet de volgende beheerfuncties hebben:
- KLANTENFUNCTIES.
– Alle klanten opvragen die stoelen hebben gereserveerd op een bepaalde vlucht.
– Alle vluchten opvragen voor een bepaalde luchthaven.
– Vluchtschema bekijken.
– Alle vluchten opvragen waarvan de aankomst en vertrektijd op tijd/vertraagd zijn.
– Totale omzet berekenen voor een bepaalde vlucht.
- ADMINISTRATIEF
– Toevoegen/verwijderen van een vlucht
– Toevoegen van een nieuwe luchthaven
– Bijwerken tarief voor vluchten.
– Toevoegen van een nieuwe vlucht etappe-instantie.
– Bijwerken vertrek/aankomsttijden voor vlucht etappe-instanties.
Elke vlucht heeft een beperkt aantal beschikbare stoelen. Er zijn een aantal vluchten die vertrekken uit of aankomen in verschillende steden op verschillende data en tijden.
2.4 WERKOMGEVING
De werkomgeving voor het management systeem van de luchtvaartmaatschappij is zoals hieronder vermeld. <<Voeg de details in volgens uw toepassing >>
- gedistribueerde database
- client/server-systeem
- Besturingssysteem: Windows.
- database: sql+ database
- platform: vb.net/Java/PHP
2.5 ONTWERP- en UITVOERINGSVOORWAARDEN
- Het globale schema, het fragmentatieschema en het toewijzingssysteem.
- SQL-commando’s voor bovenstaande queries/toepassingen
- Hoe de respons voor toepassing 1 en 2 wordt gegenereerd. Ervan uitgaande dat dit globale query’s zijn. Leg uit hoe diverse fragmenten daartoe zullen worden gecombineerd.
- Installeer de database in ieder geval met behulp van een gecentraliseerd database management systeem.
2.6 ASSUMPTIEVERSCHILLEN
Laten we aannemen dat dit een gedistribueerd systeem voor het beheer van luchtvaartmaatschappijen is en dat het wordt gebruikt in de volgende toepassing:
- Een verzoek om reservering/annulering van een vlucht van een willekeurige bron naar een willekeurige bestemming, waarbij aansluitende vluchten worden gegeven in het geval er geen rechtstreekse vlucht tussen het opgegeven bron-bestemmingspaar bestaat.
- Berekening van de “high fliers” (meest frequente vliegers) en berekening van de juiste beloningspunten voor deze vliegers.
Aannemende dat beide transacties enkelvoudige transacties zijn, hebben we een gedistribueerde database ontworpen die geografisch verspreid is over vier steden Delhi, Mumbai, Chennai, en Kolkatta, zoals weergegeven in fig.
SYSTEEMFUNCTIES
- OMSCHRIJVING en PRIORITEIT
Het reserveringssysteem van de luchtvaartmaatschappij houdt informatie bij over vluchten, klassen van zitplaatsen, persoonlijke voorkeuren, prijzen en boekingen. Uiteraard heeft dit project een hoge prioriteit omdat het erg moeilijk is om door landen te reizen zonder vooraf te reserveren.
- STIMULUS/RESPONSE SEQUENCES
- Zoek naar Airline Flights voor twee Reissteden
- Toont een gedetailleerde lijst van beschikbare vluchten en maak een “Reservering” of Boek een ticket op een bepaalde vlucht.
- Verbreekt een bestaande Reservering.
- 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. Wij gebruiken eenvoudige elektronische formulieren voor de reserveringsformulieren, het boeken van tickets enz.
NONFUNCTIONELE VEREISTEN
5.1 PERFORMATIEVEREISTEN
De stappen die nodig zijn om de implementatie van de database van de luchtvaartmaatschappij uit te voeren zijn zoals hieronder vermeld.
A) E-R DIAGRAM
Het E-R Diagram is een techniek om de logische structuur van een database op een picturale manier weer te geven. Deze analyse wordt vervolgens gebruikt om de gegevens als een relatie te organiseren, de relatie te normaliseren en tenslotte een relatie-database te verkrijgen.
- ENTITIES: Die verschillende reële items in een toepassing specificeren.
- PROPERTIES/ATTRIBUTES: Die specificeren eigenschappen van een entiteit en relaties.
- RELATIESHIPS: Die entiteiten verbinden en zinvolle afhankelijkheden tussen hen weergeven.
B) NORMALISATIE:
Het hoofddoel van normalisatie is het verminderen van redundantie, hetgeen betekent dat informatie slechts eenmaal hoeft te worden opgeslagen. Het meermalen opslaan van informatie leidt tot verspilling van opslagruimte en toename van de totale omvang van de opgeslagen gegevens.
Als een database niet goed is ontworpen, kan dit aanleiding geven tot wijzigingsanomalieën. Wijzigingsanomalieën ontstaan wanneer gegevens worden toegevoegd aan, gewijzigd in of verwijderd uit een databasetabel. Evenzo kan in traditionele databases, evenals in niet goed ontworpen relationele databases, redundantie van gegevens een probleem vormen. Deze kunnen worden geëlimineerd door een database te normaliseren.
Normalisatie is het proces waarbij een tabel wordt opgedeeld in kleinere tabellen. Zodat elke tabel een enkel thema behandelt. Er zijn drie verschillende soorten normalisaties en de geformuleerde eerste, tweede en derde normaalvorm (3NF) wordt voor de meeste praktische doeleinden voldoende geacht. Het moet alleen worden overwogen na een grondige analyse en volledig begrip van de implicaties.
5.2 VEILIGHEIDSVOORSCHRIFTEN
Als er grote schade is aan een groot deel van de database door een catastrofale storing, zoals een schijfcrash, herstelt de herstelmethode een vroegere kopie van de database waarvan een back-up is gemaakt op archiefopslag (meestal tape) en reconstrueert een meer actuele toestand door de operaties van gecommitteerde transacties opnieuw toe te passen of opnieuw uit te voeren vanaf het logboek waarvan een back-up is gemaakt, tot aan het moment van de storing.
5.3 BEVEILIGINGSEISEN
Beveiligingssystemen hebben net als veel andere toepassingen databaseopslag nodig. De speciale eisen van de beveiligingsmarkt betekenen echter dat leveranciers hun databasepartner zorgvuldig moeten kiezen.
5.4 SOFTWAREKWALITEITSATRIBUTEN
- AVAILABILITEIT: De vlucht moet beschikbaar zijn op de opgegeven datum en het opgegeven tijdstip, omdat veel klanten aan voorreservering doen.
- CORRECTHEID: De vlucht moet vanaf de juiste startterminal vertrekken en de juiste bestemming bereiken.
- MAINTABILITEIT: De beheerders en vluchtinladers moeten correcte vluchtschema’s bijhouden.
- USABILITEIT: De vluchtschema’s moeten aan de behoeften van een maximaal aantal klanten voldoen.