Uma Especificação de Requisitos de Software (SRS) é um documento que descreve a natureza de um projecto, software ou aplicação. Em palavras simples, o documento SRS é um manual de um projeto desde que seja preparado antes do início de um projeto/aplicação. Este documento também é conhecido pelos nomes relatório SRS, documento de software. Um documento de software é preparado principalmente para um projeto, software ou qualquer tipo de aplicativo.
Há um conjunto de diretrizes a serem seguidas durante a preparação do documento de especificação de requisitos de software. Isso inclui o propósito, escopo, requisitos funcionais e não-funcionais, requisitos de software e hardware do projeto. Além disso, também contém as informações sobre as condições ambientais necessárias, requisitos de segurança e proteção, atributos de qualidade do software do projeto, 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. Este projeto é útil para a equipe de gerenciamento de vôo e também para os passageiros.
1.4 ESCOPO DO PROJETO
O objetivo do sistema de gerenciamento de vôo online é facilitar o gerenciamento de vôo e criar uma aplicação conveniente e fácil de usar para os passageiros, tentando comprar passagens aéreas. O sistema é baseado em uma base de dados relacional com suas funções de gerenciamento de vôo e reservas. Teremos um servidor de base de dados que suporta centenas de grandes cidades de todo o mundo, assim como milhares de voos de várias companhias aéreas. Acima de tudo, esperamos proporcionar uma experiência confortável ao usuário juntamente com os melhores preços disponíveis.
1.5 REFERÊNCIAS
- Fundamentals de sistemas de base de dados por ramez elmarsi e shamkant b.navathe
DESCRIÇÃO SOBRE O VOOO
2.1 PERSPECTIVO DO PRODUTO
Um sistema de base de dados distribuído de companhias aéreas armazena a seguinte informação.
- Detalhes do voo:
Inclui o terminal de origem e o terminal de destino, juntamente com as paragens no meio, o número de lugares reservados/disponíveis entre dois destinos, etc. - Descrição do cliente:
Inclui o código do cliente, nome, endereço e número de telefone. Esta informação pode ser utilizada para manter os registos do cliente para qualquer emergência ou para qualquer outro tipo de informação. - Descrição da reserva:
Inclui os dados do cliente, número de código, número do voo, data da reserva, data da viagem.
2.2 CARACTERÍSTICAS DO PRODUTO
As principais características do sistema de banco de dados de companhias aéreas como mostrado abaixo modelo de entidade-relacionamento (modelo ER)
O diagrama mostra o layout do sistema de banco de dados de companhias aéreas – modelo de entidade-relacionamento
2.3 CLASSE DE USUÁRIO e CARACTERÍSTICAS
Os usuários do sistema devem ser capazes de recuperar informações de vôo entre duas cidades determinadas com a data/hora de viagem determinada a partir da base de dados. Uma rota da cidade A para a cidade B é uma sequência de voos de ligação de A para B, de tal forma que: a) existem no máximo duas paragens de ligação, excluindo a cidade de partida e a cidade de destino da viagem, b) o tempo de ligação é entre uma a duas horas. O sistema suportará dois tipos de privilégios de usuário, Cliente e Empregado. Os clientes terão acesso às funções do cliente, e os funcionários terão acesso tanto às funções de cliente como às funções de gestão de voo. O cliente deverá ser capaz de fazer as seguintes funções:
- Fazer uma nova reserva
– One-way
– Round-Trip
– Multi-city
– Flexible Date/time
– Confirmation
- Cancelar uma reserva existente
- Ver seu itinerário
O Funcionário deverá ter as seguintes funcionalidades de gerenciamento:
- FUNÇÕES DO CLIENTE.
– Obter todos os clientes que têm lugares reservados num determinado voo.
– Obter todos os voos para um determinado aeroporto.
– Ver o horário dos voos.
– Obter todos os voos cujos horários de chegada e de partida estejam no horário/desfasamento.
– Calcular o total de vendas para um determinado voo.
- ADMINISTRATIVE
– Adicionar/eliminar um vôo
– Adicionar um novo aeroporto
– Atualizar tarifa para vôos.
– Adicionar uma nova instância de percurso de vôo.
– Atualizar horários de partida/chegada para instâncias de percurso de vôo.
Cada voo tem um número limitado de lugares disponíveis. Há um número de voos que partem ou chegam a diferentes cidades em datas e horas diferentes.
2.4 AMBIENTE OPERACIONAL
Operating environment for the airline management system is as listed below. <<Inclua os detalhes de acordo com sua aplicação >>
- base de dados distribuída
- cliente/servidor do sistema
- Sistema operacional: Windows.
- base de dados: sql+ base de dados
- plataforma: vb.net/Java/PHP
2.5 CONSTRUTOS DE DESIGN e IMPLEMENTAÇÃO
- O esquema global, esquema de fragmentação, e esquema de alocação.
- Comandos doSQL para consultas/aplicações acima
- Como será gerada a resposta para as aplicações 1 e 2. Assumindo que estas são consultas globais. Explique como vários fragmentos serão combinados para fazê-lo.
- Implementar a base de dados pelo menos usando um sistema de gerenciamento centralizado de base de dados.
2.6 DEPENDÊNCIAS DE ASSUMPÇÃO
Deixe-nos assumir que este é um sistema de gestão distribuído de companhias aéreas e é utilizado na seguinte aplicação:
- Um pedido de reserva/cancelamento de um voo de qualquer origem para qualquer destino, dando voos ligados no caso de não existir voo directo entre o par Fonte-Destino especificado.
- Cálculo de voos elevados (voos mais frequentes) e cálculo de pontos de recompensa apropriados para estes voos.
Assumindo que ambas as transacções são transacções únicas, desenhámos uma base de dados distribuída que está geograficamente dispersa em quatro cidades Deli, Mumbai, Chennai, e Kolkatta como mostra a figura. below.
SYSTEM FEATURES
- DESCRIÇÃO e PRIORIDADE
O sistema de reservas da companhia aérea mantém informações sobre vôos, classes de assentos, preferências pessoais, preços e reservas. É claro que este projeto tem uma alta prioridade porque é muito difícil viajar através de países sem reservas prévias.
- SeQUÊNCIAS ESTIMULAS/RESPONSADAS
- Pesquisa de Vôos de Companhia Aérea para duas cidades de Viagens
- Exibe uma lista detalhada de vôos disponíveis e faça uma “Reserva” ou Reserve um bilhete em um vôo em particular.
- Cancelar uma Reserva existente.
- 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. Estamos a utilizar formulários electrónicos simples para os formulários de reserva, reserva de bilhetes, etc.
Requisitos Não Funcionais
5.1 REQUISITOS DE DESEMPENHO
Os passos envolvidos na implementação da base de dados de companhias aéreas são os seguintes.
A) DIAGRAMA E-R
O Diagrama E-R constitui uma técnica para representar a estrutura lógica de uma base de dados de uma forma pictórica. Esta análise é então utilizada para organizar os dados como uma relação, normalizando a relação e finalmente obter uma base de dados de relação.
- ENTITIES: Que especificam itens distintos do mundo real em uma aplicação.
- PROPERTIES/ATTRIBUTES: Que especificam propriedades de uma entidade e relações.
- RELAÇÕES: Que conectam entidades e representam dependências significativas entre elas.
B) NORMALIZAÇÃO:
O objetivo básico da normalização é reduzir a redundância, o que significa que a informação deve ser armazenada apenas uma vez. O armazenamento de informação várias vezes leva ao desperdício de espaço de armazenamento e aumento do tamanho total dos dados armazenados.
Se uma base de dados não for adequadamente projetada, pode dar origem a anomalias de modificação. As anomalias de modificação surgem quando os dados são adicionados, alterados ou excluídos de uma tabela de banco de dados. Da mesma forma, em bancos de dados tradicionais, bem como em bancos de dados relacionais mal projetados, a redundância de dados pode ser um problema. Estas podem ser eliminadas pela normalização de um banco de dados.
Normalização é o processo de decomposição de uma tabela em tabelas menores. Para que cada tabela lide com um único tema. Existem três tipos diferentes de modificações de anomalias e a formulação da primeira, segunda e terceira formas normais (3NF) é considerada suficiente para a maioria dos fins práticos. Deve ser considerado somente após uma análise completa e compreensão completa de suas implicações.
5.2 REQUISITOS DE SEGURANÇA
Se houver danos extensos a uma grande parte do banco de dados devido a falhas catastróficas, como uma falha de disco, o método de recuperação restaura uma cópia passada do banco de dados que foi copiada para o armazenamento em arquivo (tipicamente fita) e reconstrói um estado mais atual, reaplicando ou refazendo as operações de transações comprometidas a partir do registro de backup, até o momento da falha.
5.3 REQUISITOS DE SEGURANÇA
Sistemas de segurança precisam de armazenamento de banco de dados como muitas outras aplicações. Contudo, os requisitos especiais do mercado de segurança significam que os fornecedores devem escolher cuidadosamente o seu parceiro de base de dados.
5.4 ATRIBUTOS DE QUALIDADE DO SOFTWARE
- AVAILABILIDADE: O voo deve estar disponível na data e hora especificadas, uma vez que muitos clientes estão a fazer reservas antecipadas.
- CORRETENÇÃO: O voo deve começar no terminal de partida correcto e deve chegar ao destino correcto.
- MAINTABILIDADE: Os administradores e o voo em carregadores devem manter os horários correctos dos voos.
- USABILIDADE: Os horários dos voos devem satisfazer um número máximo de necessidades dos clientes.