Une spécification des exigences logicielles (SRS) est un document qui décrit la nature d’un projet, d’un logiciel ou d’une application. En termes simples, le document SRS est le manuel d’un projet à condition qu’il soit préparé avant de donner le coup d’envoi d’un projet/application. Ce document est également connu sous les noms de rapport SRS, document logiciel. Un document logiciel est principalement préparé pour un projet, un logiciel ou tout type d’application.
Il existe un ensemble de directives à suivre lors de la préparation du document de spécification des exigences logicielles. Celui-ci comprend l’objectif, la portée, les exigences fonctionnelles et non fonctionnelles, les exigences logicielles et matérielles du projet. En plus de cela, il contient également les informations sur les conditions environnementales requises, les exigences de sûreté et de sécurité, les attributs de qualité logicielle du projet, etc.
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. Ce projet est utile pour l’équipe de gestion des vols et ainsi que pour les passagers.
1.4 PORTÉE DU PROJET
Le but du système de gestion des vols en ligne est de faciliter la gestion des vols et de créer une application pratique et facile à utiliser pour les passagers, essayant d’acheter des billets d’avion. Le système est basé sur une base de données relationnelle avec ses fonctions de gestion des vols et de réservation. Nous aurons un serveur de base de données supportant des centaines de grandes villes du monde entier ainsi que des milliers de vols de diverses compagnies aériennes. Par-dessus tout, nous espérons fournir une expérience utilisateur confortable ainsi que les meilleurs prix disponibles.
1.5 RÉFÉRENCES
- Fundamentals of database systems by ramez elmarsi and shamkant b.navathe
DESCRIPTION GLOBALE
2.1 PERSPECTIVE DU PRODUIT
Un système de base de données distribué de compagnie aérienne stocke les informations suivantes.
- Détails du vol :
Il comprend le terminal du vol d’origine et le terminal de destination, ainsi que les escales entre les deux, le nombre de places réservées/les places disponibles entre deux destinations, etc. - Description du client:
Il comprend le code du client, son nom, son adresse et son numéro de téléphone. Ces informations peuvent être utilisées pour conserver les dossiers du client en cas d’urgence ou pour tout autre type d’information. - Description de la réservation:
Elle comprend les coordonnées du client, le numéro de code, le numéro de vol, la date de la réservation, la date du voyage.
2.2 CARACTÉRISTIQUES DU PRODUIT
Les principales caractéristiques du système de base de données des compagnies aériennes comme indiqué dans le modèle entité-relation (modèle ER)
Le diagramme montre la disposition du système de base de données des compagnies aériennes – modèle entité-relation
2.3 CLASSE D’UTILISATEUR et CARACTÉRISTIQUES
Les utilisateurs du système doivent pouvoir récupérer dans la base de données des informations sur les vols entre deux villes données avec la date/heure de voyage donnée. Un itinéraire d’une ville A à une ville B est une séquence de vols de correspondance de A à B telle que : a) il y a au plus deux escales de correspondance, à l’exclusion de la ville de départ et de la ville de destination du voyage, b) le temps de correspondance est compris entre une et deux heures. Le système prendra en charge deux types de privilèges d’utilisateur : le client et l’employé. Les clients auront accès aux fonctions clients, et les employés auront accès aux fonctions clients et aux fonctions de gestion des vols. Le client devrait pouvoir faire les fonctions suivantes :
- Faire une nouvelle réservation
– Aller simple
– Aller-retour
– Multi-villes
– Date/heure flexible
– Confirmation - Annuler une réservation existante
- Voir son itinéraire
- FONCTIONS CLIENT.
– Obtenir tous les clients qui ont des sièges réservés sur un vol donné.
– Obtenir tous les vols pour un aéroport donné.
– Visualiser les horaires des vols.
– Obtenir tous les vols dont les heures d’arrivée et de départ sont à l’heure/retardées.
– Calculer les ventes totales pour un vol donné. - ADMINISTRATIF
– Ajouter/supprimer un vol
– Ajouter un nouvel aéroport
– Mettre à jour le tarif des vols.
– Ajouter une nouvelle instance de segment de vol.
– Mettre à jour les heures de départ/arrivée des instances de segment de vol. - base de données distribuée
- système client/serveur
- Système d’exploitation : Windows.
- Base de données : base de données sql+
- plateforme : vb.net/Java/PHP
L’employé devrait avoir les fonctionnalités de gestion suivantes :
Chaque vol a un nombre limité de sièges disponibles. Il existe un certain nombre de vols qui partent ou arrivent dans différentes villes à des dates et des heures différentes.
2.4 ENVIRONNEMENT D’EXPLOITATION
L’environnement d’exploitation du système de gestion de la compagnie aérienne est le suivant . <<Incluez les détails selon votre application >>
2.5 CONSTRAINTES DE CONCEPTION ET D’IMPLANTATION
- Le schéma global, le schéma de fragmentation et le schéma d’allocation.
- Les commandes SQL pour les requêtes/applications ci-dessus
- Comment la réponse pour l’application 1 et 2 sera générée. En supposant que ce sont des requêtes globales. Expliquez comment les divers fragments seront combinés pour ce faire.
- Mettre en œuvre la base de données au moins en utilisant un système de gestion de base de données centralisé.
2.6 ASSUMPTION DEPENDANCES
Supposons qu’il s’agit d’un système de gestion de compagnie aérienne distribué et qu’il est utilisé dans l’application suivante :
- Une demande de réservation/annulation d’un vol de n’importe quelle source vers n’importe quelle destination, donnant des vols connectés au cas où aucun vol direct entre la paire Source-Destination spécifiée n’existe.
- Calcul des grands voyageurs (voyageurs les plus fréquents) et calcul des points de récompense appropriés pour ces voyageurs.
En supposant que les deux transactions sont des transactions uniques, nous avons conçu une base de données distribuée qui est géographiquement dispersée dans quatre villes Delhi, Mumbai, Chennai et Kolkatta, comme le montre la fig. ci-dessous.
FONDS DU SYSTÈME
- DESCRIPTION et PRIORITÉ
Le système de réservation des compagnies aériennes maintient des informations sur les vols, les classes de sièges, les préférences personnelles, les prix et les réservations. Bien sûr, ce projet a une priorité élevée car il est très difficile de voyager d’un pays à l’autre sans réservation préalable.
- Séquences STIMULUS/RESPONSE
- Recherche de vols de compagnies aériennes pour deux villes de voyage
- Affiche une liste détaillée des vols disponibles et fait une « Réservation » ou Réserver un billet sur un vol particulier.
- Annulation d’une réservation existante.
- 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. Nous utilisons des formulaires électroniques simples pour les formulaires de réservation, la réservation de billets, etc.
EXIGENCES NON FONCTIONNELLES
5.1 EXIGENCES DE PERFORMANCE
Les étapes nécessaires pour effectuer la mise en œuvre de la base de données des compagnies aériennes sont énumérées ci-dessous.
A) DIAGRAMME E-R
Le diagramme E-R constitue une technique pour représenter la structure logique d’une base de données de manière imagée. Cette analyse est ensuite utilisée pour organiser les données sous forme de relation, normaliser la relation et finalement obtenir une base de données de relations.
- Les entités : Qui spécifient des éléments distincts du monde réel dans une application.
- Propriétés/attributs : Qui spécifient les propriétés d’une entité et des relations.
- Relations : Qui relient les entités et représentent des dépendances significatives entre elles.
B) NORMALISATION:
L’objectif fondamental de la normalisation est de réduire la redondance, ce qui signifie que l’information ne doit être stockée qu’une seule fois. Stocker les informations plusieurs fois conduit à un gaspillage de l’espace de stockage et à une augmentation de la taille totale des données stockées.
Si une base de données n’est pas correctement conçue, elle peut donner lieu à des anomalies de modification. Les anomalies de modification apparaissent lorsque des données sont ajoutées, modifiées ou supprimées d’une table de base de données. De même, dans les bases de données traditionnelles ainsi que dans les bases de données relationnelles mal conçues, la redondance des données peut être un problème. Celles-ci peuvent être éliminées en normalisant une base de données.
La normalisation consiste à décomposer une table en tables plus petites. De sorte que chaque table traite d’un seul thème. Il existe trois différents types de modifications des anomalies et formulé la première, deuxième et troisième formes normales (3NF) est considéré comme suffisant pour la plupart des fins pratiques. Elle ne doit être envisagée qu’après une analyse approfondie et une compréhension complète de ses implications.
5.2 EXIGENCES DE SÉCURITÉ
Si une large partie de la base de données subit des dommages importants en raison d’une défaillance catastrophique, telle qu’un crash de disque, la méthode de récupération restaure une copie passée de la base de données qui a été sauvegardée sur un stockage d’archives (généralement sur bande) et reconstruit un état plus actuel en réappliquant ou en refaisant les opérations des transactions engagées à partir du journal sauvegardé, jusqu’au moment de la défaillance.
5.3 EXIGENCES DE SÉCURITÉ
Les systèmes de sécurité ont besoin d’un stockage de base de données comme de nombreuses autres applications. Cependant, les exigences particulières du marché de la sécurité signifient que les fournisseurs doivent choisir soigneusement leur partenaire de base de données.
5.4 ATTRIBUTS DE QUALITÉ DU LOGICIEL
- DISPONIBILITÉ : Le vol doit être disponible à la date et à l’heure spécifiées car de nombreux clients font des réservations à l’avance.
- CORRECTURE : Le vol doit atteindre le départ à partir du terminal de départ correct et doit atteindre la destination correcte.
- MAINTAINABILITE : Les administrateurs et les chargeurs de vol dans doivent maintenir des horaires corrects des vols.
- USABILITE : Les horaires de vol doivent satisfaire un maximum de besoins des clients.
.