Specifikace požadavků na software (SRS) je dokument, který popisuje podstatu projektu, softwaru nebo aplikace. Zjednodušeně řečeno, dokument SRS je manuálem projektu za předpokladu, že je připraven před zahájením projektu/aplikace. Tento dokument je znám také pod názvy SRS report, software document. Softwarový dokument se primárně připravuje pro projekt, software nebo jakýkoli druh aplikace.
Při přípravě dokumentu specifikace softwarových požadavků je třeba dodržovat řadu pokynů. Ten zahrnuje účel, rozsah, funkční a nefunkční požadavky, požadavky na software a hardware projektu. Kromě toho obsahuje také informace o požadovaných podmínkách prostředí, požadavcích na bezpečnost a zabezpečení, atributech kvality softwaru projektu atd.
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. Tento projekt je užitečný pro tým řízení letů a stejně tak pro cestující.
1.4 OBSAH PROJEKTU
Účelem online systému řízení letů je usnadnit řízení letů a vytvořit pohodlnou a snadno použitelnou aplikaci pro cestující, kteří se snaží koupit letenky. Systém je založen na relační databázi s jejími funkcemi správy a rezervace letů. Budeme mít databázový server podporující stovky velkých měst po celém světě a také tisíce letů různých leteckých společností. Především doufáme, že poskytneme pohodlné uživatelské prostředí spolu s nejlepšími dostupnými cenami.
1.5 ODKAZY
- Základy databázových systémů autorů ramez elmarsi a shamkant b.navathe
VŠEOBECNÝ POPIS
2.1 PERSPEKTIVA PRODUKTU
Distribuovaný databázový systém letecké společnosti uchovává následující informace.
- Údaje o letu:
Obsahuje výchozí a cílový terminál letu spolu se zastávkami mezi nimi, počtem rezervovaných/míst mezi dvěma destinacemi atd. - Popis zákazníka:
Obsahuje kód zákazníka, jméno, adresu a telefonní číslo. Tyto informace mohou být použity pro evidenci zákazníka pro případ nouze nebo pro jakýkoli jiný druh informací. - Popis rezervace:
Obsahuje údaje o zákazníkovi, číslo kódu, číslo letu, datum rezervace, datum cesty.
2.2 VLASTNOSTI PRODUKTU
Hlavní vlastnosti databázového systému letecké společnosti, jak je uvedeno v níže uvedeném modelu entit a vztahů (ER model)
Diagram ukazuje uspořádání databázového systému letecké společnosti – model entit a vztahů
2.3 UŽIVATELSKÁ TŘÍDA A CHARAKTERISTIKA
Uživatelé systému by měli být schopni získat z databáze informace o letu mezi dvěma danými městy s daným datem/časem cesty. Trasa z města A do města B je posloupnost navazujících letů z A do B taková, že: a) existují nejvýše dvě přestupní zastávky s výjimkou výchozího a cílového města cesty, b) doba přestupu je v rozmezí jedné až dvou hodin. Systém bude podporovat dva typy uživatelských oprávnění: Zákazník a Zaměstnanec. Zákazníci budou mít přístup k zákaznickým funkcím a zaměstnanci budou mít přístup k zákaznickým funkcím i k funkcím správy letů. Zákazník by měl mít možnost provádět následující funkce:
- Vytvořit novou rezervaci
– Jednosměrnou
– Zpáteční
– Vícemístnou
– Flexibilní datum/čas
– Potvrzení
- Zrušit stávající rezervaci
- Prohlédnout si svůj itinerář
Zaměstnanec by měl mít následující funkce správy:
- FUNKCE ZÁKAZNÍKA.
– Získat všechny zákazníky, kteří mají rezervovaná místa na daném letu.
– Získat všechny lety pro dané letiště.
– Zobrazit letový řád.
– Získat všechny lety, jejichž časy příletu a odletu jsou na čas/se zpožděním.
– Vypočítat celkové tržby za daný let.
- ADMINISTRATIVNÍ
– Přidat/odstranit let
– Přidat nové letiště
– Aktualizovat tarif pro lety.
– Přidat novou instanci letového úseku.
– Aktualizovat časy odletů/příletů pro instance letových úseků.
Každý let má omezený počet volných míst. Existuje řada letů, které odlétají z různých měst nebo do nich přilétají v různých termínech a časech.
2.4 PROVOZNÍ PROSTŘEDÍ
Provozní prostředí pro systém řízení letecké společnosti je uvedeno níže. <<Uveďte údaje podle vaší aplikace >>
- distribuovaná databáze
- systém klient/server
- Operační systém:
- databáze: databáze sql+
- platforma: vb.net/Java/PHP
2.5 PODMÍNKY NÁVRHU A IMPLEMENTACE
- Globální schéma, fragmentační schéma a alokační schéma.
- SQL příkazy pro výše uvedené dotazy/aplikace
- Jak bude generována odpověď pro aplikaci 1 a 2. Za předpokladu, že se jedná o globální dotazy. Vysvětlete, jak se k tomu budou kombinovat různé fragmenty.
- Zavedení databáze alespoň pomocí centralizovaného systému správy databází.
2.6 PŘEDPOKLÁDANÉ DOPADY
Předpokládejme, že se jedná o distribuovaný systém správy leteckých společností a že se používá v následující aplikaci:
- Žádost o rezervaci/zrušení letu z libovolného zdroje do libovolného cíle s uvedením navazujících letů v případě, že mezi zadanou dvojicí zdroj-cíl neexistuje přímý let.
- Výpočet nejčastějších cestujících (high fliers) a výpočet příslušných odměnových bodů pro tyto cestující.
Předpokládáme-li, že obě transakce jsou jednorázové, navrhli jsme distribuovanou databázi, která je geograficky rozptýlena ve čtyřech městech: Dillí, Bombaj, Čennaí a Kalkata, jak je znázorněno na obr. 1. níže.
FUNKCE SYSTÉMU
- POPIS a PRIORITY
Rezervační systém letecké společnosti uchovává informace o letech, třídách sedadel, osobních preferencích, cenách a rezervacích. Tento projekt má samozřejmě vysokou prioritu, protože je velmi obtížné cestovat napříč zeměmi bez předchozí rezervace.
- STIMULUS/RESPEKTY ODPOVĚDI
- Vyhledá lety letecké společnosti pro dvě cestovní města
- Zobrazí podrobný seznam dostupných letů a provede „Rezervaci“ nebo Rezervuje letenku na konkrétní let.
- Zruší stávající rezervaci.
- 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. Používáme jednoduché elektronické formuláře pro rezervační formuláře, rezervaci letenek atd.
NEFUNKČNÍ POŽADAVKY
5.1 VÝKONOVÉ POŽADAVKY
Kroky potřebné k provedení implementace databáze letecké společnosti jsou uvedeny níže.
A) E-R DIAGRAM
E-R diagram představuje techniku pro znázornění logické struktury databáze obrázkovým způsobem. Tato analýza se pak používá k uspořádání dat jako vztahů, normalizaci vztahů a nakonec k získání databáze vztahů.
- ENTITY: Které specifikují odlišné položky reálného světa v aplikaci.
- VLASTNOSTI/ATRIBUTY: Které specifikují vlastnosti entity a vztahů.
- VZTAHY: Které spojují entity a představují smysluplné závislosti mezi nimi.
B) NORMALIZACE:
Základním cílem normalizace je snížit redundanci, což znamená, že informace mají být uloženy pouze jednou. Ukládání informací několikrát vede k plýtvání úložným prostorem a zvětšování celkové velikosti uložených dat.
Pokud není databáze správně navržena, může vést ke vzniku modifikačních anomálií. Modifikační anomálie vznikají při přidávání, změně nebo odstraňování dat z databázové tabulky. Podobně v tradičních databázích i v nesprávně navržených relačních databázích může být problémem redundance dat. Ty lze odstranit normalizací databáze.
Normalizace je proces rozdělení tabulky na menší tabulky. Tak, aby se každá tabulka zabývala jedním tématem. Existují tři různé druhy modifikací anomálií a formulovaná první, druhá a třetí normální forma (3NF) se pro většinu praktických účelů považuje za dostatečnou. Mělo by se o ní uvažovat až po důkladné analýze a úplném pochopení jejích důsledků.
5.2 POŽADAVKY NA BEZPEČNOST
Pokud dojde k rozsáhlému poškození rozsáhlé části databáze v důsledku katastrofického selhání, například havárie disku, metoda obnovy obnoví minulou kopii databáze, která byla zálohována na archivní úložiště (obvykle pásku), a rekonstruuje aktuálnější stav opětovným použitím nebo opakováním operací odevzdaných transakcí ze zálohovaného protokolu až do okamžiku selhání.
5.3 BEZPEČNOSTNÍ POŽADAVKY
Bezpečnostní systémy potřebují databázové úložiště stejně jako mnoho jiných aplikací. Speciální požadavky bezpečnostního trhu však znamenají, že prodejci musí pečlivě vybírat svého databázového partnera.
5.4 KVALITATIVNÍ ATRIBUTY SOFTWARU
- DOSTUPNOST: Let by měl být dostupný ve stanovený den a stanovený čas, protože mnoho zákazníků provádí rezervace předem.
- CORRECTNESS: Let by měl startovat ze správného startovacího terminálu a měl by doletět do správné destinace.
- MAINTAINABILITY: Administrátoři a nabíječi letů by měli udržovat správné letové řády.
- USABILITY: Letové řády by měly uspokojit potřeby maximálního počtu zákazníků.