Você está na página 1de 33

Online Ticket Reservation System Reg.

No:30306104081

ONLINE TICKET RESERVATION SYSTEM

AIM:
To develop software for Online Ticket Reservation system with various
functional and non functional part of design namely,

• Problem analysis and requirement analysis


• Use case documentation
• UML diagram
• Test plan

PROBLEM DEFINITION:

The Online Ticket Reservation System has an online catalog using which the
passenger can login, search for Trains, search for Train tickets, and reserve Train tickets
online. Reservation manager is used to update the new Train in the database .The Airline
reservation system is a new system that replaces the current manual process for searching
the Train details. The reservation manager to manage all the Train details as well as
professional details. As a manager, we can manage passenger benefits & passenger
personnel information under confidentiality and accessibility.

OBJECTIVE OF THE APPLICATION


The ultimate goal of this project is to develop database software that enables
enterprise user to reserve the Train tickets, find and retrieve passenger information.

SIGNIFICANCE OF THE APPLICATION

The significance of the project includes the following key features

• The passenger can search all the Train details

• The passenger can book the Train tickets


Online Ticket Reservation System Reg.No:30306104081

• The manager maintaining all passenger details in the database


• The manager maintaining all the Train details in the database
• Add and cancel reservation

Access to database can be setup on username / password basis with multiple users and
privileges

FUNCTIONAL REQUIREMENTS

Add reservation The reservation manager adds the details of


passenger to be added in the database.
The reservation manager searches the
Cancel reservation passenger to be deleted and removes the
information about the book from the database.
Select reservation The user select for the particular reservation to
view the list of details.
select source and destination The user selects the particular source and
destination to view its details
find Train The user selects the Train name to view details

view information The user can view the details based on


selection.
Online Ticket Reservation System Reg.No:30306104081

USE CASE TEMPLATE

Use Case ID: 1

Use Case Name: Check availability of Trains

Created By: Sajeetharan S Last Updated By:

Date Created: September 24,2009 Date Last Updated:

Actors: Passenger

Description: The passenger can search for their Train and via online catalog, whether Train is
available or not available

Trigger Customer wants to book the ticket.

Preconditions: In this case there is no precondition.

Post conditions: • The reservation system menu will be displayed.


• The details about the Trains will be displayed.

Normal Flow • The Passenger wants to view menu for Trains


• The System displays the list of available Trains
• Then Passenger selects one Train from list

Alternative Flows: None

Exceptions: 1.0 Invalid search


If the Train name is invalid name, system displays error message.

Includes: None

Priority: High

Frequency of Use: Passenger

Business Rules: None

Special Requirements: Passenger shall be able to view the Train details, which he had reserved.

Assumptions: None

Notes and Issues: None


Use Case ID: 2

Use CaseReservation
Online Ticket Check availability
System of Train tickets Reg.No:30306104081
Name:

Created By: Sajeetharan S Last


Updated
By:

Date Created: September Date Last


24,2009 Updated:

Actors: Passenger

Description: The passenger can search for their Tickets and via online catalog, whether ticket is available or not
available

Trigger To book the ticket.

Preconditions: Check whether The Train is available or not available

Post • The reservation system menu will be displayed.


conditions:
• The details about the tickets will be displayed.

Normal Flow • Passenger asks to view menu for Train tickets.


• The system displays menu of available tickets.
• Then the passenger selects Train ticket from list.

Alternative None
Flows:

Exceptions: 1.0 Invalid search


If the Train name is invalid name, system displays error message.

Includes: None

Priority: High

Frequency of Approximately 400 users, average of one usage per day


Use:

Business None
Rules:

Special Passenger shall be able to view the tickets details, which he had reserved.
Requirements:

Assumptions: None

Notes and None


Issues:

Use Case ID: 3

Use Case Name: Check availability of seats in a Trains

Created By: Sajeetharan S Last Updated


By:

Date Created: September Date Last


24,2009 Updated:
Online Ticket Reservation System Reg.No:30306104081

4
Use Case ID:

Use Case Name: Book tickets

Created By: Sajeetharan S Last Updated By:

Date Created: September 24,2009 Date Last Updated:

Actors: Passenger, manager

Description: The passenger can book Train Tickets using online catalog.

Trigger To book the ticket.

Preconditions: The passenger can check the availability of tickets.

Post conditions: • The passenger can confirms Train tickets.


• The system display pay details
• System displays available Train name, source and destination details, date.

Normal Flow • When the passenger wants to view the menu for a specified date.
• System displays available Train name, source and destination details, date.
• System displays list of available tickets, and its price.
• The passenger select the particular date on which he wants to travel.
• System displays list of available tickets on the basis of classes.
• Passenger selects Train tickets from list and confirm tickets.

Alternative Flows: None

Exceptions: Invalid search: If the Train name is invalid name, system displays error message.

Includes: None

Priority: High

Frequency of Use: Approximately 100 passenger, average of one usage per day

Business Rules: None

Special Requirements: Passenger shall be able to view the tickets details, which he had reserved.

Assumptions: None

Notes and Issues: None


Online Ticket Reservation System Reg.No:30306104081

Use Case ID: 5

Use Case Name: Login

Created By: Sajeetharan S Last Updated By:

Date Created: September Date Last


24,2009 Updated:

Actors: Reservation Manager

Description: An authorized manager can login to the system and can view the online airline reservation. Only
manager can login to the system.

Trigger Reservation manager wants to login.

Preconditions: No preconditions

Post conditions: • The manager is logged in to the system.

• The manager is able to view the contents in the airline reservation.

Normal Flow • The menu is displayed to login for Reservation manager.


• Reservation manager enters the details.
• The user name and password is checked with database
• Authenticate the manager

Alternative Flows: None

Exceptions: 3.0 Invalid search


Incomplete information
The information entered by Reservation manager may be incomplete.

Includes: None

Priority: High

Frequenc of Use: Approximately 100 passenger, average of one usage per day

Business Rules: None

Special Requirements: The Reservation manager is asked to re-enter the user name and password if invalid.

Assumptions: none

Notes and Issues: None


Online Ticket Reservation System Reg.No:30306104081

Use Case ID: 6

Use Case Name: Check passenger information.

Created By: Sajeetharan S Last Updated By:

Date Created: September 24,2009 Date Last Updated:

Actors: Passenger, manager

Description: The manager verifies whether the provided details in form does matches with that of the
original data, if they are synchronizing then he proceed by allotting the ticket.

Trigger Submission of details

Preconditions: The manager check whether the given information and the original data.

Post conditions: If they are similar then the ticket would be allotted

Normal Flow • On the request of the passenger the manager compares the information provided by
the passenger to that of the original data

• In case of similarity the manager allots the ticket

Alternative Flows: None

Exceptions: 2.0 Invalid search

In case of dissimilarity, the ticket would be cancelled.

Includes: None

Priority: High

Frequency of use Approximately 5 passenger, average of one usage per day

Business Rules: None

Special Requirements: The continuous parallel assessment

Assumptions: none

Notes and Issues: None


Online Ticket Reservation System Reg.No:30306104081

Use Case ID: 7

Use Case Name: Add reservation

Created By: Sajeetharan S Last Updated By:

Date Created: September 24,2009 Date Last Updated:

Actors: Passenger, manager

Description: If the tickets are available on the specified date, the manager records passenger
information and confirms the tickets.

Trigger Updating the data.

Preconditions: The manager checks the details provided by the passenger.

Post conditions: Then confirms the tickets.

Normal Flow • The manager checks for the ticket availability


• The manager also checks for the passenger details

• If the details are correct the manager accepts the reservation

Alternative Flows: None

Exceptions: 3.0 Invalid search.


Wrong information’s provided by the passenger

Includes: None

Priority: High

Frequency of Use: Approximately 100 passenger, average of one usage per day

Business Rules: None

Special Requirements: Daily updation of the database information is mandatory

Assumptions: None

Notes and Issues: None


Online Ticket Reservation System Reg.No:30306104081

Use Case ID: 8

Use Case Name: Cancel reservation

Created By: Sajeetharan S Last Updated By:

Date Created: September 24,2009 Date Last Updated:

Actors: Passenger

Description: Manager verifies the cancellation information provided by the passenger and cancels the
Train ticket.

Trigger To cancel the ticket.

Preconditions: In case Passenger doesn’t want ticket on that day

Post conditions: Updating of the database informations.

Normal Flow 1. Manager compares original reservation data with the cancel reservation data
2. Manager cancels the ticket

Alternative Flows: None

Exceptions: 4.0 Invalid search

None.

Includes: None

Priority: High

Frequency of Use: Approximately 5 passenger, average of one usage per day

Business Rules: None

Special Requirements: Manager has to view the cancellation details on time.

Assumptions: none

Notes and Issues: None

1.USECASE DIAGRAM
Online Ticket Reservation System Reg.No:30306104081

IS S U E T IC K E T
VIE W R E S E R VAT IO N S T AT U S

< < e xte n d s > > < < e xte n d s > > VIE W T R AIN F AR E
VIE W T R AIN S C H E D U L E S

< < e xte n d s > >

E N Q U IR Y

R E S E R VAT IO N USER
C LERK

R E S E R VE S E AT

C AN C E L L AT IO N
AU T H E N T IC AT E

U P D AT E D ATAB AS E

B AN K AD M IN

T R AN S AC T IO N
Online Ticket Reservation System Reg.No:30306104081

2.SEQUENCE DIAGRAM:

(i).LOGIN:

:PASSENGER :LOGIN :RESERVATIO


N CLERK
1:enter name and password

2:sending name and pwd

3:verify

4:shows home page


Online Ticket Reservation System Reg.No:30306104081

(ii).VIEWING DETAILS:

:passenger :login :reservation


clerk
1:enter name and pwd

2:sending name & pwd

3:verify

4:show home page

5:ask for reservation status

6:show reservation status

7:ask for train schedule

8:show train schedule

9:process completed
Online Ticket Reservation System Reg.No:30306104081

(iii).TICKET RESERVATION:

:passenger :login :reservation :bank admin


clerk

:1.enter name and pwd

2:sending nmae and pwd

3:verfy

4:shows home page

5:book tickets(reserve)

6:verify for tic...

7:ask for account no.

8:enter acc. no.

9:send acc. no9

10:verify

11.successfully verified

12.successfully reserved

13.issue ticket
Online Ticket Reservation System Reg.No:30306104081

(iv).TICKET CANCELLATION:

:passenger :login :reservation 10:verify


clerk
1:enter name & pwd

2:sending name & pwd

3:verify

4:shows home page

5:cancellation

6:ask for details and acc.no

7:enter details and acc.no

8:verify

9:send acc.no

11.successfully verif...

12.successfully cancelled
Online Ticket Reservation System Reg.No:30306104081

3.COLLABORATION DIAGRAMS:

(i).LOGIN:

1: 1:enter name and password


:PASSE :LOGIN
NGER

4: 4:shows home page


3: 3:verify

2: 2:sending name and pwd

:RESERVATION
CLERK

(ii).TICKET RESERVATION:
1: :1.enter name and pwd
:passen :login
ger

5: 5:book tickets(reserve)
8: 8:enter acc. no.
4: 4:shows home page
7: 7:ask for account no.
12: 12.successfully reserved
13: 13.issue ticket

2: 2:sending nmae and pwd


3: 3:verfy
6: 6:verify for ticket

10: 10:verify

9: 9:send acc. no9


:reservation :bank
clerk admin
11: 11.successfully verified
Online Ticket Reservation System Reg.No:30306104081

(iii).TICKET CANCELLATION:

1: 1:enter name & pwd


:passen :login
ger

5: 5:cancellation
7: 7:enter details and acc.no
4: 4:shows home page
6: 6:ask for details and acc.no
12: 12.successfully cancelled
2: 2:sending name & pwd

3: 3:verify
8: 8:verify 10:

9: 9:send acc.no
:reservation 10:verify
clerk
11: 11.successfully verified

(iv).VIEWING DETAILS
1: 1:enter name and pwd
:passen :login
ger

5: 5:ask for reservation status


7: 7:ask for train schedule

4: 4:show home page 3: 3:verify 2: 2:sending name & pwd


6: 6:show reservation status
8: 8:show train schedule
9: 9:process completed

:reservation
clerk
Online Ticket Reservation System Reg.No:30306104081

4.STATE CHART DIAGRAM:

Login

Enter name and password


Select the
process

decide the process

Ticket
Ticket Reservation Availability
Cancellation checking
no
Not yet confirmed
no
Enter the
train

Date and train no

Enter the
data...

special offers

Enter persons detials


for special offers

for payment

Enter the bank


account number

if cancel
For Reservation

Crdit the Debit the


amount amount

verification
take xerox

Print the xerox


of ticket
Online Ticket Reservation System Reg.No:30306104081

5.ACTIVITY DIAGRAMS:

(i).LOGIN:
Online Ticket Reservation System Reg.No:30306104081

(ii).TICKET RESERVATION:
Online Ticket Reservation System Reg.No:30306104081

(iii).TICKET CANCELLATION:
Online Ticket Reservation System Reg.No:30306104081

6.CLASS DIAGRAM:

; AU TH EN TIC ATE
us er nam e : char n am e : char
us er pa s s w ord : char pas s w ord : char
us e r age : int
a ddres s : char lo gin()

check availa bility]()


book ticket()
ca ncel ticke t()
C AN C EL R ESERVATION

d elete nam e : char


d elete inform ation : char

cancel()

R ESER VATION BANK


CL ER K
accou nt no : int
is s u e ticke t() balance : in t
u pd ate details () cus to m er nam e : char
valida te()
ad d res ervation() verify()
AD D RESER VATION cancel res ervation() update ()

a dd nam e : char
record info : char

a dd res ervation()

CHECK P A SSW ORD INFO


name : c har
passenger id : char DETAILS

train na m e : ch ar
check pass enger info() train no : in t
s chedu le : num

view ()
Online Ticket Reservation System Reg.No:30306104081

7.COMPONENT DIAGRAM:

s e rve r. h s e rve r. ja va

L o g in .h L o g in .ja va

s e rve r. e x e

A u t h e n t ic a te . h Au th e n tic a te .ja va

A d d R e s e rva ti o n .h C a n c e l R e s e r va tio n .ja va C a n c e l R e s e r va tio n .h C a n c e l R e s e rva tio n .ja va


Online Ticket Reservation System Reg.No:30306104081

8.DEPLOYMENT DIAGRAM:

user

printer

railway administrator

user user

printer
printer

railway
database
bank admin
server

bank database
system
Online Ticket Reservation System Reg.No:30306104081

APPENDIX:

CODE:

1.AUTHENTICATE.H

#ifndef AUTHENTICATE_h
#define AUTHENTICATE_h 1
class AUTHENTICATE
{
public:
AUTHENTICATE();
AUTHENTICATE(const AUTHENTICATE &right);
~AUTHENTICATE();
AUTHENTICATE & operator=(const AUTHENTICATE &right);
int operator==(const AUTHENTICATE &right) const;
int operator!=(const AUTHENTICATE &right) const;
void login ();
protected:
const char get_password () const;
void set_password (char value);
private:
const char get_name () const;
void set_name (char value);
private:
char name;
}
char password;
};

inline const char AUTHENTICATE::get_name () const


{
return name;
}

inline void AUTHENTICATE::set_name (char value)


{
name = value;
}

inline const char AUTHENTICATE::get_password () const


{

return password;
}
Online Ticket Reservation System Reg.No:30306104081

inline void AUTHENTICATE::set_password (char value)


{
password = value;

}
#endif

2.RESERVATION CLERK.H

#ifndef RESERVATION_CLERK_h
#define RESERVATION_CLERK_h 1
#include "BANK.h"
#include ".h"
class RESERVATION_CLERK : public BANK //## Inherits: <unnamed>
%4AC3284302EE
{
public:
RESERVATION_CLERK();
RESERVATION_CLERK(const RESERVATION_CLERK &right);
~RESERVATION_CLERK();
RESERVATION_CLERK & operator=(const RESERVATION_CLERK &right);
int operator==(const RESERVATION_CLERK &right) const;
int operator!=(const RESERVATION_CLERK &right) const;
void issue_ticket ();
void update_details ();
void validate ();
void add_reservation ();
void cancel_reservation ();
const BANK * get_the_BANK () const;
void set_the_BANK (BANK * value);
const X * get_the_X () const;
void set_the_X (X * value);
private:
BANK *the_BANK;
};
inline const BANK * RESERVATION_CLERK::get_the_BANK () const
{
return the_BANK;
}
inline void RESERVATION_CLERK::set_the_BANK (BANK * value)
{
the_BANK = value;
}
inline const X * RESERVATION_CLERK::get_the_X () const
{
Online Ticket Reservation System Reg.No:30306104081

return the_X;
}
inline void RESERVATION_CLERK::set_the_X (X * value)
{
the_X = value;
}
#endif

3.BANK.H

#define BANK_h 1
class BANK
{
public:
BANK();
BANK(const BANK &right);
~BANK();
BANK & operator=(const BANK &right);
int operator==(const BANK &right) const;
int operator!=(const BANK &right) const;
void verify ();
void update ();
protected:
const int get_account_no () const;
void set_account_no (int value);
private:
const int get_balance () const;
void set_balance (int value);
const char get_customer_name () const;
void set_customer_name (char value);
int account_no;
int balance;
char customer_name;
};
inline const int BANK::get_account_no () const
{
return account_no;
}
inline void BANK::set_account_no (int value)
{
account_no = value;
}
inline const int BANK::get_balance () const
{
return balance;
}
Online Ticket Reservation System Reg.No:30306104081

inline void BANK::set_balance (int value)


{
balance = value;
}
inline const char BANK::get_customer_name () const
{
return customer_name;
}
inline void BANK::set_customer_name (char value)
{
customer_name = value;
}
#endif

4.CHECK PASSWORD INFO.H


#include "RESERVATION CLERK.h"
class CHECK_PASSWORD_INFO : public RESERVATION_CLERK
{
public:
CHECK_PASSWORD_INFO();
CHECK_PASSWORD_INFO(const CHECK_PASSWORD_INFO &right);
~CHECK_PASSWORD_INFO();
CHECK_PASSWORD_INFO & operator=(const CHECK_PASSWORD_INFO
&right);
int operator==(const CHECK_PASSWORD_INFO &right) const;
int operator!=(const CHECK_PASSWORD_INFO &right) const;
void check_passenger_info ();
const RESERVATION_CLERK * get_the_RESERVATION_CLERK () const;
void set_the_RESERVATION_CLERK (RESERVATION_CLERK * value);
private:
const char get_name () const;
void set_name (char value);
const char get_passenger_id () const;
void set_passenger_id (char value);
private:
char name;
char passenger_id;
RESERVATION_CLERK *the_RESERVATION_CLERK;
};

inline const char CHECK_PASSWORD_INFO::get_name () const


{
return name;
}

inline void CHECK_PASSWORD_INFO::set_name (char value)


Online Ticket Reservation System Reg.No:30306104081

{
name = value;
}
inline const char CHECK_PASSWORD_INFO::get_passenger_id () const
{
return passenger_id;
}
inline void CHECK_PASSWORD_INFO::set_passenger_id (char value)
{
passenger_id = value;
}
inline const RESERVATION_CLERK *
CHECK_PASSWORD_INFO::get_the_RESERVATION_CLERK () const
{
return the_RESERVATION_CLERK;
}
inline void CHECK_PASSWORD_INFO::set_the_RESERVATION_CLERK
(RESERVATION_CLERK * value)
{
the_RESERVATION_CLERK = value;
}
#endif

5.ADD RESERVATION.H
#ifndef ADD_RESERVATION_h
#define ADD_RESERVATION_h 1
#include "RESERVATION CLERK.h"
class ADD_RESERVATION : public RESERVATION_CLERK
{
public:
ADD_RESERVATION();
ADD_RESERVATION(const ADD_RESERVATION &right);
Destructor (generated)
~ADD_RESERVATION();
ADD_RESERVATION & operator=(const ADD_RESERVATION &right);
int operator==(const ADD_RESERVATION &right) const;
int operator!=(const ADD_RESERVATION &right) const;
void add_reservation ();
const RESERVATION_CLERK * get_the_RESERVATION_CLERK () const;
void set_the_RESERVATION_CLERK (RESERVATION_CLERK * value);
private:
const char get_add_name () const;
void set_add_name (char value);
const char get_record_info () const;
void set_record_info (char value);
private: //## implementation
Online Ticket Reservation System Reg.No:30306104081

char add_name;
char record_info;
RESERVATION_CLERK *the_RESERVATION_CLERK;
};
inline const char ADD_RESERVATION::get_add_name () const
{
return add_name;
}
inline void ADD_RESERVATION::set_add_name (char value)
{
add_name = value;
}
inline const char ADD_RESERVATION::get_record_info () const
{
return record_info;
}
inline void ADD_RESERVATION::set_record_info (char value)
{
record_info = value;
}
inline const RESERVATION_CLERK *
ADD_RESERVATION::get_the_RESERVATION_CLERK () const
{
return the_RESERVATION_CLERK;
}
inline void ADD_RESERVATION::set_the_RESERVATION_CLERK
(RESERVATION_CLERK * value)
{
the_RESERVATION_CLERK = value;
}
#endif
6.CANCEL RESERVATION.H
#ifndef CANCEL_RESERVATION_h
#define CANCEL_RESERVATION_h 1
#include "RESERVATION CLERK.h"
class CANCEL_RESERVATION : public RESERVATION_CLERK
{
public:
CANCEL_RESERVATION();
CANCEL_RESERVATION(const CANCEL_RESERVATION &right);
~CANCEL_RESERVATION();
CANCEL_RESERVATION & operator=(const CANCEL_RESERVATION &right);
int operator==(const CANCEL_RESERVATION &right) const;
int operator!=(const CANCEL_RESERVATION &right) const;
void cancel ();
const RESERVATION_CLERK * get_the_RESERVATION_CLERK () const;
Online Ticket Reservation System Reg.No:30306104081

void set_the_RESERVATION_CLERK (RESERVATION_CLERK * value);


private:
const char get_delete_name () const;
void set_delete_name (char value);
const char get_delete_information () const;
void set_delete_information (char value);
private:
char delete_name;
char delete_information;
};
inline const char CANCEL_RESERVATION::get_delete_name () const
{
return delete_name;
}
inline void CANCEL_RESERVATION::set_delete_name (char value)
{
delete_name = value;
}
inline const char CANCEL_RESERVATION::get_delete_information () const
{
return delete_information;
}
inline void CANCEL_RESERVATION::set_delete_information (char value)
{
delete_information = value;
}
inline const RESERVATION_CLERK *
CANCEL_RESERVATION::get_the_RESERVATION_CLERK () const
{
return the_RESERVATION_CLERK;
}
inline void CANCEL_RESERVATION::set_the_RESERVATION_CLERK
(RESERVATION_CLERK * value)
{
the_RESERVATION_CLERK = value;
}
#endif

7.DETAILS.H

#ifndef DETAILS_h
#define DETAILS_h 1
#include "RESERVATION CLERK.h"
class DETAILS : public RESERVATION_CLERK
{
public:
Online Ticket Reservation System Reg.No:30306104081

DETAILS();
DETAILS(const DETAILS &right);
~DETAILS();
DETAILS & operator=(const DETAILS &right);
int operator==(const DETAILS &right) const;
int operator!=(const DETAILS &right) const;
void view ();
private:
const char get_train_name () const;
void set_train_name (char value);
const int get_train_no () const;
void set_train_no (int value);
const num get_schedule () const;
void set_schedule (num value);
private:
char train_name;
int train_no;
num schedule;
};
inline const char DETAILS::get_train_name () const
{
return train_name;
}
inline void DETAILS::set_train_name (char value)
{
train_name = value;
}
inline const int DETAILS::get_train_no () const
{
return train_no;
}
inline void DETAILS::set_train_no (int value)
{
train_no = value;
}
inline const num DETAILS::get_schedule () const
{
return schedule;
}
inline void DETAILS::set_schedule (num value)
{
schedule = value;
}
#endif
Online Ticket Reservation System Reg.No:30306104081

TEST PLAN:

Overview
Test plan objectivesTo ensure that the Online Ticket reservation system will:
- Function consistently and reliably in accordance with
current business operations.
- Meet or exceed user requirements and technical
specifications.
- Not adversely impact other systems or the existing
technology environment.
Testing Assumptions - Reservation system which is used to manage the
reservation details are already implemented and tested and
there is no direct interaction between Online Reservation
System and Conventional Reservation system.
- It is assumed that User can book the Train tickets using
online reservation system which is already tested.
- These Trains tickets information are only used by online
reservation system.
Risks & The following risks apply to the testing process and may impact
Contingencies either the proposed date of readiness for the deployment of online
reservation system, or the comprehensive level of testing that can
be performed in each of the Functional Units:
- The actual deployment of online reservation system may
take longer to perform than anticipated, as the conventional
reservation system is also using the same database.
Online Ticket Reservation System Reg.No:30306104081

RESULT:
Thus the Problem analysis & Requirement Analysis and various Use case
scenarios ,UML diagrams, Test plans has been studied successfully

Você também pode gostar