ソフトウェア要求仕様 (SRS) は、プロジェクト、ソフトウェア、アプリケーションの性質を記述したドキュメントです。 簡単に言うと、SRS 文書は、プロジェクト/アプリケーションを開始する前に作成される、プロジェクトのマニュアルです。 この文書は、SRSレポート、ソフトウェア文書という名前でも知られています。
ソフトウェア要求仕様のドキュメントを準備する際に従うべきガイドラインのセットがあります。 これには、プロジェクトの目的、範囲、機能的および非機能的な要件、ソフトウェアおよびハードウェアの要件が含まれます。 これに加えて、必要な環境条件、安全およびセキュリティ要件、プロジェクトのソフトウェア品質属性などに関する情報も含まれます。
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.
1.4 プロジェクトの範囲
オンラインフライト管理システムの目的は、フライト管理を容易にし、航空券を買おうとする乗客に便利で使いやすいアプリケーションを作成することです。 このシステムは、フライト管理と予約機能を備えたリレーショナルデータベースをベースにしています。 私たちは、世界の数百の主要都市と、様々な航空会社の数千のフライトをサポートするデータベースサーバーを用意する予定です。
1.5 参考文献
- Fundamentals of Database Systems by ramez elmarsi and shamkant b.navathe
全体概要
2.1 概要
1.1.5 参考文献
- 1.1.5 参考文献
- フライトの詳細:
出発地のフライトターミナルと目的地のターミナル、およびその間の立ち寄り先、目的地間の予約座席数/空席数などを含みます。 - 顧客情報:
顧客コード、名前、住所、電話番号などが含まれます。 この情報は、緊急時やその他の種類の情報のために顧客の記録を保持するために使用される場合があります。 - 予約の説明:
顧客の詳細、コード番号、フライト番号、予約日、旅行日が含まれます。 - 新しい予約をする
-片道
-往復
-複数都市
-柔軟な日付/時間
-確認 - 既存の予約をキャンセルする
- 彼の旅程を見る
- 顧客の機能(customer functions)。
– 指定されたフライトの座席を予約しているすべての顧客を取得します。
– 指定された空港のすべてのフライトを取得します。
– フライトスケジュールの表示。
– 到着および出発時間が時間通りまたは遅延しているすべてのフライトを取得します。
– 指定されたフライトの合計売上を計算します。 - ADMINISTRATIVE
– フライトの追加/削除
– 新しい空港の追加
– フライトの運賃を更新
– 新しいフライトレッグのインスタンスを追加
– フライトレッグインスタンスの出発/到着時刻を更新
。 - distributed Database
- client/server system
- operating system.OWN.OHN.OHON.OHN.OHN.OHN.OHN.OHN.OHN.OHN.OHN.OHN.OHN.OHN.OHN.OHN.OHN.OHON Windows.
- database: sql+ データベース
- platform: vb.net/Java/PHP
- 1.2.1 概要概要
1.1 製品の観点
分散型航空会社データベースシステムは、以下の情報を保存します。
2.2 製品の機能
航空会社データベースシステムの主な機能は、以下のエンティティ-リレーションシップモデル(ERモデル)に示されています
図は航空会社データベースシステムのレイアウト-エンティティ-リレーションシップモデル
2.3 USER CLASS and CHARACTERISTICS
システムのユーザーは、データベースから、与えられた日付/時間の2つの都市間のフライト情報を取得することができるはずです。 都市Aから都市Bへのルートは、次のようなAからBへの接続便のシーケンスです:a)旅行の出発都市と目的都市を除いて、最大2つの接続点がある、b)接続時間は1時間から2時間の間である。 このシステムは、顧客と従業員の2種類のユーザー権限をサポートします。 顧客は顧客の機能にアクセスでき、従業員は顧客とフライト管理の両方の機能にアクセスできるようになります。
社員は次の管理機能を持つ必要があります:
各フライトには、利用可能な座席数に制限があります。
2.4 OPERATING ENVIRONMENT
航空会社管理システムの動作環境は、以下のとおりです。 <<>>
2.5 設計と実装の制約
- グローバルスキーマ、フラグメントスキーマ、および割り当てスキーマを使用します。
- 上記のクエリ/アプリケーションの SQL コマンド
- アプリケーション 1 および 2 の応答がどのように生成されるか。 これらがグローバルクエリであると仮定します。
- 少なくとも集中型データベース管理システムを使用して、データベースを実装する。6 仮定の前提条件
これが分散型航空会社管理システムで、次のアプリケーションで使用されると仮定します:
- 任意の発信地から任意の目的地へのフライトの予約/キャンセルのリクエスト、指定した発信地-目的地のペア間の直行便が存在しない場合の接続便の提供。
- ハイフライヤー (最も頻繁に利用する航空会社) の計算と、これらの航空会社に対する適切な報酬ポイントの計算
両方の取引が単一取引であると仮定し、図に示すように、デリー、ムンバイ、チェンナイ、コルカタの 4 都市に地理的に分散されたデータベースを設計しています。
システムの特長
- 説明と優先順位
航空会社の予約システムは、フライト、座席のクラス、個人の好み、価格、および予約に関する情報を維持します。
- 刺激/応答シーケンス
- 旅行する 2 都市の航空便を検索する
- 利用可能なフライトの詳細リストを表示し、特定のフライトで「予約」またはチケットを予約する
- 既存の予約をキャンセルする。
- 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. 予約フォームやチケット予約などには、シンプルな電子フォームを使用しています。
5.1パフォーマンス要件
航空会社データベースの実装に関わる手順は、以下のとおりです。 この分析は、データを関係として整理し、関係を正規化し、最終的に関係データベースを得るために使用されます
- ENTITIES:
- PROPERTIES/ATTRIBUTES: アプリケーションにおける明確な実世界の項目を指定します。 エンティティやリレーションシップのプロパティを指定します。
- RELATIONSHIPS (関係)。 エンティティを接続し、それらの間の意味のある依存関係を表します。
B)正規化:
正規化の基本的な目的は冗長性を減らすことであり、情報が一度だけ保存されることを意味します。
データベースが適切に設計されていない場合、変更異常が発生する可能性があります。 修正異常は、データベース テーブルにデータが追加、変更、または削除されたときに発生します。 同様に、従来のデータベースや不適切に設計されたリレーショナル データベースでは、データの冗長性が問題になることがあります。
正規化とは、テーブルをより小さなテーブルに分割するプロセスです。
正規化とは、テーブルをより小さなテーブルに分解するプロセスです。 異常の修正には 3 つの種類があり、第1、第2、第3正規形 (3NF) を策定することは、ほとんどの実用的な目的には十分であると考えられています。
5.2 安全性に関する要求
ディスククラッシュなどの壊滅的な障害により、データベースの広い範囲に大きな損傷があった場合、復旧方法はアーカイブストレージ(通常はテープ)にバックアップされたデータベースの過去のコピーを復元し、障害発生時までのバックアップされたログから、コミットしたトランザクションの操作を再適用またはやり直すことによってより現在の状態を再構築するものです。
5.3 セキュリティー要件
セキュリティーシステムは、他の多くのアプリケーションと同様に、データベースストレージを必要とします。
5.4 ソフトウェアの品質特性
- 可用性: 多くの顧客が事前予約をしているため、フライトは指定した日付と時間に利用可能でなければなりません。
- 正確性:フライトは、正しい開始ターミナルから開始し、正しい目的地に到達する必要があります。
- 保守性:管理者とフライトインチャージャーは、フライトの正しいスケジュールを維持する必要があります。