RAILWAY RESERVATION SYSTEM

1. INTRODUCTION:
1.1. PURPOSE:
The purpose of this source is to describe the railwayreservation system which provides the train timing details, reservation,billing and cancellation.
1.2. DOCUMENT CONVENTIONS:
Main headings: Bold
Not applicable
1.3INTENDED AUDIENCE AND READING SUGGESTIONS:
The different types of readers are:
Customers
Developers
Management people.
1.4PROBLEM DIFINITION AND PRODUCT SCOPE:
It consists of  
Train details
Reservation form
Billing
Cancellation.
2. OVERALL DESCRIPTION:
2.1. PRODUCT PERSPECTIVE:
It enables us to maintain the railway train details like their timings,number of seat available and reservation billing and cancelling the tickets.
2.2. PRODUCT FUNCTIONS:
It tells the short note about the product.
2.2.1. TRAIN DETAILS:
Customers may view the train timing at a date their nameand number of tickets.
2.2.2. RESERVATION:
After checking the number of seats available thecustomers reserve the tickets.
2.2.3. BILLING:
After reserving the required amount of tickets, thecustomer paid the amount.
2.2.4. CANCELLATION:
If the customers want to cancel the ticket, then half of theamount paid by the customer will be refunded to him.
3. USER CLASS AND CHARACTERISTICS:
Knowledgeable user
Novice user
Expert user
4. OPERATING ENVIRONMENT:
The OS types are
Windows NT
Windows XP
Windows 98
Linux
5. SOFTWARE CONSTRAINTS:
Designing -> Rational RoseDeveloping -> Visual Basic
6. USER DOCUMENTATION:
USER MANUAL:
Manual helps to understand the product details abouthow to work.
TUTORIALS:For beginners use.
7. EXTERNAL INTERFACE REQUIREMENTS:
7.1. USER INTERFACE:
Keyboard and Mouse.
7.2. HARDWARE INTERFACE:
Printer
Normal PC
7.3. SOFTWARE INTERFACE: 
Front end -> Visual Basic
Back end -> MS-Access
8. OTHER NON-FUNCTIONAL REQUIREMENTS:
8.1. PERFORMANCE REQUIREMENTS:
It is available during all 24 hours.
8.2. SOFTWARE SYSTEM ATTRIBUTES:
Reliable
Available
Secure
DATA FLOW DIAGRAM
Data Flow Diagram (DFD) is used widely for modelingthe requirement.
They have been used for many yearsprior to the advent of computer. DFDs show the flow of data through the system.
The system may be a company,an organization, a set of procedural, a computer hardwaresystem, a software system, or any combination of thepreceding.

Case diagram

Level 1 Data Flow Diagram :-

Question 3. How will you comment about the quality of a Software System? (20 Marks)
Ans: 
Software quality may be defined as conformance to explicitly stated functional and performance
requirements, explicitly documented development standards and implicit characteristics that are
expected of all professionally developed software.

The three key points in this definition: 

  • Software requirements are the foundations from which quality is measured. Lack of conformance to requirement is lack of quality.
  • Specified standards define a set of development criteria that guide the manager is software engineering. If criteria are not followed lack of quality will usually result.
  • A set of implicit requirements often goes unmentioned, for example ease of use, maintainability etc. If software confirms to its explicit requirement but fails to meet implicit requirements, software quality is suspected. 

Software Quality Factors
A software quality factor is a non-functional requirement for a software program, which is not
called up by the customer’s contract, but it is a desirable requirement that enhances the quality
of the software program. Some software qualities factors are listed here:-
McCall Software Quality Model 

Product operation: 
Factors which are related to the operation of a product are combined.
These five factors are related to operational performance, convenience, ease of usage and its
correctness. 
The factors are:
  • Correctness: Extent to which a program satisfies its specifications and fulfils the user’s mission objectives.
  • Efficiency: Amount of computing resources and code required by a program to perform a function.
  • Integrity: Extent to which access to software or data by unauthorized persons can be controlled.
  • Reliability: Extent to which a program can be expected to perform its intended function with required precision.
  • Usability: Effort required learning, operating, preparing input and interpreting output of a program. 
Product Revision: These factors pertain to the testing & maintainability of software. They give
us idea about ease of maintenance, flexibility and testing effort.
Factors are:-
  • Maintainability: Effort required for locating and fixing a defect in an operational program.
  • Flexibility: Effort required for modifying an operational program.
  • Testability: Effort required for testing a program to ensure that it performs its intended functions.

Product Transition: We may have to transfer a product from one platform to another

platform or from one technology to another technology. The factors are given below:-
  • Portability: Effort required transferring a program from one hardware and/or software environment to another.
  • Reusability: Extent to which parts of a software system can be reused in other applications.
  • Interoperability: Effort required to couple one system with another. 
ISO 9126 Software Quality Model
There are six factors:-
Functionality has been subdivided into:
  • Suitability
  • Accuracy
  • Interoperability: The capability of the software to interact with one or more specified systems.
  • Security
Reliability has been subdivided into:
  • Maturity: The capability of the software to avoid failure as a result of faults in the software.
  • Fault Tolerance:
  • Recoverability:
Usability has been subdivided into: 
  • Understandability
  • Learnability
  • Operability
  • Attractiveness
Efficiency has been subdivided into:
  • Time Behaviour
  • Resource Utilization:
Maintainability has been subdivided into:
  • Analyzability: The capability of the software product to be diagnosed for deficiencies or causes of failures in the software or for the parts to be modified to be identified.
  • Changeability:
  • Stability: The capability of the software to minimize unexpected effects from modifications of the software.
  • Testability
Portability has been subdivided into:
  • Adaptability:
  • Installability
  • Coexistence
  • Replaceability