Software Requirements Specification: Online System To Manage Flights

Download as ppt, pdf, or txt
Download as ppt, pdf, or txt
You are on page 1of 24

Software Requirements

Specification

For
Online System To Manage Flights

Prepared by:

Group Name : L.A.I.D.A

‫اسماء مكرم البوريني‬ 128690 Section 1


‫دانا علي العزام‬ 128055 Section 1
‫احمد طالل الذيب‬ 129400 Section 1
‫ليث يوسف حداد‬ 130981 Section 1
‫ابراهيم وديع بشابشه‬ 133527 Section 2
 

Instructo: ‫يوسف خصاونه‬.‫د‬

Course: SE230 - FUNDAMENTALS OF SOFTWARE


ENGINEERING
Page 1

Table of Contents
TABLE OF CONTENTS…………………………………………………..1&2
1 INTRODUCTION………………………………………………………3

1.1 Document Purpose ……………………………………………3


1.2 Objective and Motivation ……………………………………..3
1.3 Product Scope …………………………………………………3

2 Context Diagram...........................................................................4
3 Process..........................................................................................5

4 Risk….……………………………………………....…….……...…..6

5 Feasibility Study……………….……………..…..……………........6

6 Schedule………………………..……….……….…..……………… 7

7 Techniques………………………………………………..……….…8

8 Functional Requirements ......................................................9


8.1 System Requirements ……..…....................................................9
8.2 Admin Requirements …................................................................10
8.3 Customer Requirements ..............................................................10
Non Functional. .................................................................................11

9 Use Case of system .........................................................................12

10 Diagrams...............................................................................................13

11 Class Diagram……………… …………………………….……….…..…14

12 Sequence Diagram…………………………………………….…..…..15

13 Behavioral Diagram…………………………………..……..…...…..16
Page 2

Table of Contents

14 Architectural Design Using MVC patterns ……………...…...17

15 Business Model…………………………………………………………..17

16 Context Models…………………………………………………………..18

17 Use Case
Diagram………………………………………………………..18

18 Class
Diagram……………………………………………………………..19

19 Sequence Diagram………………………………………………………
19

20 Behavioral
Diagram…………………………………………………….19

21 MVC pattern…………………………………………………….…………
20

22 Architecture Designs ……………………………………….…………


20

23 Type of design (pattern or Patterns)…………………….……..21


"it's not included in materials"

24 Sequence diagram of…………………………………….…………….22


an Abstract Factory production

25 Where Would I Use This Pattern ?................................23


Page 3

1Introduction

1.1 Document Purpose

The purpose of this document is to build an online


system to manage flights and passengers for easy of
management.

1.2 Objective and Motivation


Flight and Passenger Management System was created
to give customers a great ticket service with a more
diverse selection in flight, also making customers more
enjoyable and more convenient and comfortable
environment for booking their flights.
The main objective of this project is to process
common problems of the aviation and passenger
management system.
The aim of our project is to design and develop a
software which would automate the major airline
operations like providing the facilities for the
reservation of online air tickets or any other operations
through an effective and yet simple for a normal
passenger intending to travel through airways.
Page 4

1.3 Product Scope


The purpose of the online flight management system is
to ease flight management and to create a convenient
and easy-to-use application for passengers, trying to
buy airline tickets.
Above all, we hope to provide a comfortable user
experience along with the best pricing available.

2 Context Diagram
Page 5

3 Process

Waterfall model:
A software process model that involves discrete development stages:
specification, design, implementation, testing, and maintenance. In
principle, one stage must be complete before progress to the next stage
is possible. In practice, there is significant iteration between stages

1.as our system proceeds from one phase to another in sequential and
systematic manner i.e. the phases are well segregated and only after the
completion of one phase, the development of software moves to the
next phase.

2.as our system is simple to implement and represents processes which


are easy to manage and measure.

3.all the requirements stated by the user are known before hand and are
well understood.

4.as this is a short duration project.

4 Risk

1. according to our fulfilled university schedule it is


difficult to concentrate on both : the project and
what we supposed to learn and how to get all our
tasks done is taking the whole time .

2. financially we're not able to get all the materials and


the necessary equipment's ready for this project.
Page 6

5 Feasibility Study

Feasibility study, is this project achievable (doable)


financially, technically

A)Financially

1.preparing cost and benefit analysis


2. Financing the project from investment authorities like
banks
3.providing infrastructure (land labor, capital, stakeholder)
4.preparation of outsourcing plans (machines.. ..)
5. preparation of survey to the market behavior
6. competitors analysis
 
B) Technically

1. identifying the needs for machines and equipment to run


the project
2. structuring the it department and dividing missions over all
the areas that cover the programming and implementation
of the project
3. preparing programming of the project customized for in-
bounding and out-bounding the information
4. the possibility of recalling the data from the system and the
possibility of imposing technical control on data
5. preparation of backup of the data in the system and
imposing security on the server
Page 7

6 Schedule

Task Name duration Start Finish

1. introduction 1 day 19/12/2019 20/12/2019

2.project initiation &


planning phase 5 days 20/12/2019 25/12/2019

3.analysis phase 15 days 25/12/2019 9/1/2020

4.design phase 13 days 9/1/2020 22/1/2020

22/1/2020
3 days
5. delivery 25/1/2020
Page 8

7 Techniques

Google -Review : we put many questions to supervisor in the


Company for example why do you need the system and what
the system should do and can the system help company in
their works ?

8 Functional Requirements

8.1System Requirements :

1.The system shall provide information about flights.


2. The system shall provide deatails about classes of
seats, personal preferences, prices, and bookings.
3.The system shall Search for Airline Flights for two
cities.
4.The system shall Display a detailed list of available
flights.
5. The system shall Display a detailed list of a
Reservation on a particular flight.
6. The system shall Cancel an existing Reservation.
7- The system must check the account balance before
executing a reservation.
Page 9

8- The system shall show Flights trips information.


9- The system shall keep track for each flight trip with
the following details: name, amount, date, type,
payment method and remaining amount .
10.The system shall find better result to the customer
depend on a price and time.
11.The system shall provide a log in screen for the
customer.
12.The system shall provide a registration (sign up) for
the customer.
13.The system shall allow customer to enter his full
name and password, email and his phone number.
14.The system shall send any alert to the customer by
his mobile phone or email.
15.The system shall allow user to make any change for
his/her flight.
16.The system shall allow the customer to accept the
application policy.
17.The system shall provide a graghic flights track to the
customer.
Page 10

8.2Admin Requirements :

1. The admin shall determine the flight times


2. The admin shall provide a direct description of each trip
3. The admin shall determine the prices of the trips
4. The admin shall provide the flight dates.
5. The admin shall update the flight information.
6. The admin shall send a notification to the customers.
7. The admin shall edit the flight.
8. The admin shall provide a discount for a customers.
8.3Customer Requirements :

1.The customer shall select the system language.


2.The customer shall select the flight type.
3.The customer shall identify the payment method such
as credit card payment service.
4.The customer who is using a credit card, shall
provided with an account number and a password
5.The customer who apply a cash method should enter
the money into machine.
6.The customer shall get automatic invoicing to his
payment
7.The customer shall select the date of the flight.
8.The customer shall select what's the country he want
to
make a flight.
9.The customer shall select the time of the fight.
Page 11

10.The customer shall compare the flight prices to choose the


better.
11.The customer shall select the company flight name.
12.The customer shall receive a notification about his flight.
13.The customer shall update his choice.
14.The customer shall cancel his flight before three day from
the flight date.
15.The customer shall enter his information to his profile.
16.The customer shall update his profile information.

Non Functional :

1.Usability: The system shell be easy to use. The system shell


be easy to interface with other elements The system shell be
easy to understand The system shell be easy is fast

2.Reliability: The system supported by data security system


The system is supported by main server in the site The system
is supported by qualified staff. The system is supported by
continual improvement
Page 12

9Use Case of system

use case diagram of customer :

use case diagram of administrative :


Page 13

10Diagrams
Page 14

11 Class Diagram

Class Diagram for flight Reservation system


Page 15

12 Sequence Diagram

Sequence Diagram for customer

Sequence Diagram for admin


Page 16

13 Behavioral Diagram

State transaction diagram for user

State transaction diagram for admin


Page 17

14 Architectural Design Using MVC patterns

when the user (Customer) enters a URL in the browser,


it goes to the server and calls appropriate controller.
Then, the Controller uses the appropriate View and
Model and creates the response and sends it back to
the user.
15 Business Model
Page 18

16 Context Models

Context models are used to illustrate the operational


context of a system - they show what lies outside the
system boundaries.

17 Use Case Diagram

The diagram representation of a user's interaction with


the system that shows the relationship between the
user and the different use cases in which the user is
involved. A use case diagram can identify the different
types of users of a system and the different use cases
and will often be accompanied by other types of
diagrams as well. The use cases are represented by
either circles or ellipses. a use-case diagram can help
provide a higher-level view of the system. The diagram
provides a simplified and graphical representation of
what the system must actually do.
Page 19

18 Class Diagram

Class diagrams, are part of UML , which show the


object classes in the system and the associations
between these classes

19 Sequence Diagram

Sequence Diagram Sequence diagrams are part of UML


and are used to model the interactions between the
actors and the objects within a system.

20 Behavioral Diagram

Behavioral Diagram . They show what happens or what


is supposed to happen when a system responds to a
stimulus from its environment.
Page 20

21 MVC pattern

The MVC (Model , view , controller ) Separates presentation


and interaction from the system data. The system is
structured into three logical components that interact with
each other. The Model component manages the system data
and associated operations on that data. The View component
defines and manages how the data is presented to the user.
The Controller component manages user interaction and
passes these interactions to the View and the Model

22 Architecture Designs

The design process for identifying the sub-systems making up


a system and the framework for sub-system control and
communication.
Page 21

23 Type of design (pattern or Patterns) "it's not included in materials"

Design pattern is a general and reusable solution to a


commonly occurring problem within a given context in 
software design, it is not a finished design that can be
transformed directly into source or machine code, it is a
description or template for how to solve a problem that
can be used in many different situations. Design
patterns are formalized best practices that the
programmer can use to solve common problems when
designing an application or system.
 
Object-oriented design patterns typically show
relationships
and interactions between classes or objects, without
specifying the final application on classes or objects that
are involved, design patterns that imply changeable
cases may be unsuited for functional
programming languages, some patterns can be
rendered unnecessary in languages that have built-in
support for solving the problem they are trying to solve,
and object-oriented patterns are not necessarily
suitable for non-object-oriented languages. Design
patterns may be viewed as a structured approach
to computer programming intermediate between the
levels of a programming pattern  and a concrete
algorithm.
Page 22

24 Sequence diagram of an Abstract Factory production

While the class diagram looked a bit busy, the sequence


diagram shows how simple this pattern is from the Clients
point of view. The client has no need to worry about what
implementations are lying behind the interfaces, protecting
them from change further down the line.
Page 23

Where Would I Use This Pattern ?

The pattern is best utilized when your system has to create


multiple families of products or you want to provide a
library of products without exposing the implementation
details. As you'll have noticed, a key characteristic is that
the pattern will decouple the concrete classes from the
client. An example of an Abstract Factory in use could be
UI toolkits. Across Windows, Mac and Linux, UI composites
such as windows, buttons and text fields are all provided in
a widget API like SWT. However, the implementation of
these widgets vary across platforms. You could write a
platform independent client thanks to the Abstract Factory
implementation.

You might also like