Specyfikacja wymagań oprogramowania (SRS) jest dokumentem, który opisuje charakter projektu, oprogramowania lub aplikacji. W prostych słowach, dokument SRS jest podręcznikiem projektu, pod warunkiem, że jest on przygotowany przed rozpoczęciem projektu/aplikacji. Dokument ten znany jest również pod nazwami: raport SRS, dokument programowy. Dokument oprogramowania jest przede wszystkim przygotowywany dla projektu, oprogramowania lub dowolnego rodzaju aplikacji.
Istnieje zestaw wytycznych, których należy przestrzegać podczas przygotowywania dokumentu specyfikacji wymagań programowych. Obejmuje ona cel, zakres, wymagania funkcjonalne i niefunkcjonalne, wymagania programowe i sprzętowe projektu. Oprócz tego, zawiera on również informacje o wymaganych warunkach środowiskowych, wymaganiach bezpieczeństwa i ochrony, atrybutach jakości oprogramowania w projekcie itp.
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. Projekt ten jest przydatny dla zespołu zarządzającego lotami, jak również dla pasażerów.
1.4 ZAKRES PROJEKTU
Celem systemu zarządzania lotami online jest ułatwienie zarządzania lotami oraz stworzenie wygodnej i łatwej w użyciu aplikacji dla pasażerów, próbujących kupić bilety lotnicze. System oparty jest o relacyjną bazę danych z funkcjami zarządzania i rezerwacji lotów. Do dyspozycji będziemy mieli serwer bazodanowy obsługujący setki największych miast na świecie oraz tysiące lotów różnych linii lotniczych. Ponad wszystko, mamy nadzieję zapewnić wygodne doświadczenie użytkownika wraz z najlepszymi dostępnymi cenami.
1.5 REFERENCJE
- Fundamentals of database systems by ramez elmarsi and shamkant b.navathe
Ogólny opis
2.1 PERSPEKTYWA PRODUKTU
System rozproszonej bazy danych linii lotniczych przechowuje następujące informacje.
- Szczegóły lotu:
Zawierają terminal początkowy lotu i terminal docelowy wraz z przystankami pomiędzy nimi, liczbę zarezerwowanych/dostępnych miejsc pomiędzy dwoma miejscami docelowymi itp. - Opis klienta:
Obejmuje kod klienta, nazwę, adres i numer telefonu. Informacje te mogą być wykorzystywane do prowadzenia rejestrów klienta w nagłych wypadkach lub do innych rodzajów informacji. - Opis rezerwacji:
Zawiera dane klienta, numer kodu, numer lotu, datę rezerwacji, datę podróży.
2.2 CECHY PRODUKTU
Główne cechy systemu baz danych linii lotniczych przedstawione w poniższym modelu encji-relacji (model ER)
Schemat przedstawia układ systemu baz danych linii lotniczych – model encji-relacji
2.3 KLASA UŻYTKOWNIKA I CHARAKTERYSTYKA
Użytkownicy systemu powinni mieć możliwość pobierania z bazy danych informacji o lotach pomiędzy dwoma podanymi miastami z podaną datą/czasem podróży. Trasa z miasta A do miasta B to sekwencja lotów z przesiadkami z miasta A do B taka, że: a) są co najwyżej dwa przystanki z przesiadkami, z wyłączeniem miasta początkowego i docelowego podróży, b) czas przesiadki wynosi od jednej do dwóch godzin. System będzie obsługiwał dwa rodzaje uprawnień użytkowników: Klient oraz Pracownik. Klienci będą mieli dostęp do funkcji klienta, natomiast pracownicy będą mieli dostęp zarówno do funkcji klienta jak i zarządzania lotami. Klient powinien być w stanie wykonać następujące funkcje:
- Zrobić nową rezerwację
– W jedną stronę
– W obie strony
– Wiele miast
– Elastyczna data/czas
– Potwierdzenie
- Anulować istniejącą rezerwację
- Przeglądać swój plan podróży
Pracownik powinien mieć następujące funkcje zarządzania:
- FUNKCJE KLIENTA.
– Uzyskanie wszystkich klientów, którzy mają zarezerwowane miejsca na dany lot.
– Uzyskanie wszystkich lotów dla danego lotniska.
– Wyświetlenie rozkładu lotów.
– Uzyskanie wszystkich lotów, których czasy przylotu i odlotu są punktualne/opóźnione.
– Obliczenie całkowitej sprzedaży dla danego lotu.
- ADMINISTRACJA
– Dodaj/usuń lot
– Dodaj nowe lotnisko
– Zaktualizuj taryfę dla lotów.
– Dodaj nową instancję lotu.
– Zaktualizuj czasy odlotu/przylotu dla instancji lotu.
Każdy lot ma ograniczoną liczbę dostępnych miejsc. Istnieje wiele lotów, które odlatują lub przylatują do różnych miast w różnych dniach i godzinach.
2.4 ŚRODOWISKO OPERACYJNE
Środowisko operacyjne dla systemu zarządzania liniami lotniczymi jest następujące. <<Dołącz szczegóły zgodnie ze swoją aplikacją >>
- rozproszona baza danych
- system klient/serwer
- System operacyjny: Windows.
- baza danych: baza danych sql+
- platforma: vb.net/Java/PHP
2.5 KONSTRYNCJE PROJEKTOWANIA I WDROŻENIA
- Schemat globalny, schemat fragmentacji i schemat alokacji.
- KomendySQL dla powyższych zapytań/aplikacji
- Jak będzie generowana odpowiedź dla aplikacji 1 i 2. Zakładając, że są to zapytania globalne. Wyjaśnij, w jaki sposób różne fragmenty będą łączone w tym celu.
- Wdrożenie bazy danych przynajmniej przy użyciu scentralizowanego systemu zarządzania bazą danych.
2.6 ZAŁOŻENIA
Załóżmy, że jest to rozproszony system zarządzania liniami lotniczymi i jest on wykorzystywany w następującej aplikacji:
- Zapytanie o rezerwację/anulację lotu z dowolnego źródła do dowolnego miejsca docelowego, z podaniem lotów połączonych w przypadku, gdy nie istnieje bezpośredni lot pomiędzy określoną parą Źródło-Docel.
- Obliczenie osób często podróżujących (najczęściej podróżujących) i obliczenie odpowiednich punktów nagrody dla tych osób.
Zakładając, że obie transakcje są pojedyncze, zaprojektowaliśmy rozproszoną bazę danych, która jest geograficznie rozproszona w czterech miastach Delhi, Mumbai, Chennai i Kolkatta, jak pokazano na rys. poniżej.
CECHY SYSTEMU
- OPIS I PRIORYTET
System rezerwacji linii lotniczych utrzymuje informacje o lotach, klasach miejsc, osobistych preferencjach, cenach i rezerwacjach. Oczywiście, ten projekt ma wysoki priorytet, ponieważ bardzo trudno jest podróżować przez kraje bez wcześniejszej rezerwacji.
- SEKWENCJE STIMULUS/RESPONSE
- Wyszukuje loty linii lotniczych dla dwóch miast podróży
- Wyświetla szczegółową listę dostępnych lotów i dokonuje „Rezerwacji” lub Rezerwacji biletu na konkretny lot.
- Anuluje istniejącą Rezerwację.
- 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. Używamy prostych formularzy elektronicznych dla formularzy rezerwacji, rezerwacji biletów itp.
Wymagania niefunkcjonalne
5.1 WYMAGANIA DOTYCZĄCE WYKONANIA
Kroki związane z implementacją bazy danych linii lotniczych są wymienione poniżej.
A) DIAGRAM E-R
Diagram E-R stanowi technikę reprezentacji logicznej struktury bazy danych w sposób obrazowy. Analiza ta jest następnie wykorzystywana do organizacji danych jako relacji, normalizacji relacji i w końcu uzyskania relacyjnej bazy danych.
- ENTITY: Które określają odrębne elementy świata rzeczywistego w aplikacji.
- PROPERTIES/ATTRIBUTES: Które określają właściwości encji i relacji.
- RELATIONSHIPS: Które łączą encje i reprezentują znaczące zależności między nimi.
B) NORMALIZACJA:
Podstawowym celem normalizacji jest zmniejszenie redundancji, co oznacza, że informacja ma być przechowywana tylko raz. Przechowywanie informacji kilka razy prowadzi do marnowania przestrzeni dyskowej i zwiększenia całkowitego rozmiaru przechowywanych danych.
Jeżeli baza danych nie jest właściwie zaprojektowana, może powodować anomalie modyfikacji. Anomalie modyfikacji powstają, gdy dane są dodawane do tabeli bazy danych, zmieniane lub usuwane z niej. Podobnie, w tradycyjnych bazach danych, jak również w niewłaściwie zaprojektowanych relacyjnych bazach danych, problemem może być redundancja danych. Można je wyeliminować poprzez normalizację bazy danych.
Normalizacja jest procesem rozbicia tabeli na mniejsze tabele. Tak, aby każda tabela zajmowała się jednym tematem. Istnieją trzy różne rodzaje modyfikacji anomalii i sformułowanie pierwszej, drugiej i trzeciej formy normalnej (3NF) jest uważane za wystarczające dla większości praktycznych celów. Powinna być rozważana tylko po dokładnej analizie i pełnym zrozumieniu jej implikacji.
5.2 WYMAGANIA BEZPIECZEŃSTWA
Jeśli dojdzie do rozległego uszkodzenia dużej części bazy danych w wyniku katastrofalnej awarii, takiej jak awaria dysku, metoda odzyskiwania przywraca przeszłą kopię bazy danych, która została zapisana w kopii zapasowej na archiwalnej pamięci masowej (zwykle taśmie) i rekonstruuje bardziej aktualny stan przez ponowne zastosowanie lub ponowne wykonanie operacji popełnionych transakcji z zapisanego w kopii zapasowej dziennika, aż do czasu awarii.
5.3 WYMAGANIA BEZPIECZEŃSTWA
Systemy bezpieczeństwa potrzebują pamięci masowej bazy danych tak samo jak wiele innych aplikacji. Jednak specjalne wymagania rynku bezpieczeństwa oznaczają, że sprzedawcy muszą starannie wybierać swojego partnera bazodanowego.
5.4 ATRYBUTY JAKOŚCI OPROGRAMOWANIA
- DOSTĘPNOŚĆ: Lot powinien być dostępny w określonym dniu i określonym czasie, ponieważ wielu klientów dokonuje wcześniejszych rezerwacji.
- KORYGINALNOŚĆ: Lot powinien rozpocząć się od właściwego terminala startowego i powinien dotrzeć do właściwego miejsca docelowego.
- MAINTAINABILNOŚĆ: Administratorzy i ładowacze lotów powinni utrzymywać prawidłowe rozkłady lotów.
- UŻYTECZNOŚĆ: Rozkłady lotów powinny zaspokajać maksymalną liczbę potrzeb klientów.
.