Вы находитесь на странице: 1из 25

EX:NO: DATE:

PASSPORT AUTOMATION SYSTEM

AIM:
To Analyze the Problems, Gather the SRS(Software Requirements Specification) and
Model the UML or OOAD diagrams for "Passport Automation System" using Rational Rose
Software in CS1403 - CASE Tools Laboratory.

PROBLEM STATEMENTS:
Passport Automation System is used in the effective dispatch of passport to all of the
applicants. This system adopts a comprehensive approach to minimize the manual work and
schedule resources, time in a cogent manner. The core of the system is to get the online
registration form (with details such as name, address etc.,) filled by the applicant whose
testament is verified for its genuineness by the Passport Automation System with respect to the
already existing information in the database. This forms the first and foremost step in the
processing of passport application. After the first round of verification done by the system, the
information is in turn forwarded to the regional administrator's (Ministry of External Affairs)
office. The application is then processed manually based on the report given by the system, and
any forfeiting identified can make the applicant liable to penalty as per the law. The system also
provides the applicant the list of available dates for appointment to 'document verification' in the
administrator's office, from which they can select one. The system forwards the necessary details
to the police for its separate verification whose report is then presented to the administrator. The
administrator will be provided with an option to display the current status of application to the
applicant, which they can view in their online interface. After all the necessary criteria has been
met, the original information is added to the database and the passport is sent to the applicant.

SOFTWARE REQUIREMENTS SPECIFICATION:


1.OBJECTIVE:
To develop the passport automation system software using UML language.It is the
interface between applicant and authority responsible for issue the passport. It aims at improving
efficiency and reducing complexities.

2.SCOPE:
The system provides the online interface to the user where we can fill their
form and personal detail with necessary proof.The authority concerned with the issue of passport
can use this system to reduce is workload and process it speedy manner.It provides
communication platform between administrator and applicant.To transfer the data between
passport authority and local police verifying the applicant’s information.

3.PROJECT DESCRIPTION:
My project title is passport automation system. In this project we candevelop the 5
modules such as login, fill the form with necessary proof, verifying the applicant’s information,
validity checking and issue the passport for that particular applicant.In this login module, we can
perform that that perform that enters into the login website for the different actors, and then fill
for the can be done by the primary and verification, validation checking and issuing the passport
can be done for the supporting actor.
4.REQUIREMENTS:
4.1 FUNCTIONAL REQUIREMENTS:
1. Interface requirements
2. Business requirements
3. Security requirements
4.2 SOFTWARE REQUIREMENTS:
1. Windows 7
2. IBM Rational rose tool(for UML patterns)
3. Eclipse 4.4.1
4. JDK 1.7
5. Junit
6. Java
4.3 HARDWARE REQUIREMENTS:
1. Pentium processor
2. 4GB RAM
3. 500GB hard disk drive

5.IDENTIFIED ACTORS:
APPLICANT:
The person who applies to get a passport.
PASSPORT SYSTEM:
It is an interface between the applicant and the authority responsible for the issue of passport.
POLICE:
The person who verify the applicants information.
REGIONAL ADMINISTRATOR:
This person gets the details from database and verify with the database.
DATABASE:
Its purpose is to store data.

6.IDENTIFIED USECASES:

1. Fill the application: When we are go to fill the application form before you can tell
either apply for new passport or renewal the old passport. We can fill the application form with
corresponding ID proof and address proof and then submit the form.

2.Verification of the form: After submission of the form, to the responsible authority are
verified that given information is true or not and they are forwarded to local police. Local police
enquiry that corresponding information is true or not. After collecting the information it will
forwarded to higher authority.
3.Validation checking: When the customer, go to apply for the airline ticket. The
passport must be checked if it is valid or not. Every passport as valid up to 5 years only. The
applicant’s must renewal the passport for every five years.

4. Issue the passport: After verification and validation the passport can be issued to the
applicant through the post. Then the passport can be checked and signed the post record the
accepted the passport.

7.LIST OF MODULES:
i)login
ii)fill application
iii)verification
iv)validity checking
v)issue of passport

7.1 LOGIN:
7.1.1 BRIEF DESCRIPTION:
This module describes how the applicant logins into the passport automation system.
7.2.2 FLOW OF EVENTS:
7.1.2.1 BASIC FLOW: The applicant enters his name and password. After username, password
verification the applicant is logged into the system.
7.1.2.2 ALTERNATIVE FLOW: If the user enters a invalid username or password, the system
prompts the user to re-enter a valid username and password.
7.1.3 PRE CONDITON: enter the username and password.
7.1.4 POST CONDITION: Verify the username and password.

7.2 FILL APPLICATION FORM:


7.2.1 BRIEF DESCRIPTION:
This module tell about how an actor enters applicant detail into the system.
7.2.2 FLOW OF EVENTS:
7.2.2.1 BASIC FLOW: The staff logs into the system. Then the applicant details are entered
into the system. The entered details are verified for its correctness
7.2.2.2 ALTERNATIVE FLOW: If the entered applicant detail is invalid then the information
is re-verified with the respective applicant.
7.2.3 PRE CONDITON: Fill the form with details.
7.2.4 POST CONDITION: Submit the form.

7.3 VERIFICATION:
7.3.1 BRIEF DESCRIPTION:
After submission of the form, to the responsible authority are verified.
7.3.2 FLOW OF EVENTS:
7.3.2.1 BASIC FLOW: .Local police enquiry that corresponding information is true or not.
7.3.2.2 ALTERNATIVE FLOW: If the verified details are not true it will be a penalty as per
law
7.3.3 PRE CONDITON: Taking the applicant form.
7.3.4 POST CONDITION: Verify the information and enquiry to applicant.
7.4 VALIDITY CHECKING:
7.4.1 BRIEF DESCRIPTION:
Passport must be checked if it is valid or not.
7.4.2 FLOW OF EVENTS:
7.4.2.1 BASIC FLOW: The passport must be checked if it is valid or not. Every passport as
valid up to 5 years only.
7.4.2.2 ALTERNATIVE FLOW: The applicant’s must renewal the passport for every five
years.
7.4.3 PRE CONDITON: Checking validity date.
7.4.4 POST CONDITION: Renewal the old passport.

7.5 ISSUE OF PASSPORT:


7.2.1 BRIEF DESCRIPTION:
The passport is issued to the applicant.
7.1.2 FLOW OF EVENTS:
7.1.2.1 BASIC FLOW: After verification and validation the passport can be issued to the
applicant through the post.
7.1.2.2 ALTERNATIVE FLOW:If not verified and validated it is processed again.
7.5.3 PRE CONDITON: Send the passport to applicant address.
7.5.4 POST CONDITION: Receive the passport form the postman.

8.ARCHITECTURE LAYER:

8.1 TECHINCAL SERVICE LAYER:


This shows the interaction between the actor and object in sequence diagram. The forward arrow
from system admin to authority it indicates verifies the applicant’s details. The system admin
verify the application details and then the authority issue the passport.

8.2 DOMAIN SERVICE LAYER:


After composing the technical service layer from partial layer architecture. Since we are going to
generate the coding in java/VB the project domain is experienced in java/VB using rational rose
software.

8.3 USER INTERFACE LAYER:


This layer shows the interface with sequence diagram by changing the sequence symbol. The
sequence symbol is replaced by an actor symbol, which shows interface between use case and
sequence diagram.
USE CASE DIAGRAM FOR PASSPORT AUTOMATION SYSTEM

login

applicant

database
fill application form

submit details
store &update verification

check status
police

verify details

passport system

check validity

payment
bank
regional admin

issue of passport
CLASS DIAGRAM FOR PASSPORT AUTOMATION SYSTEM
SEQUENCE DIAGRAM FOR PASSPORT AUTOMATION SYSTEM

Applicant Passport Regional admin Police Database Bank


system
login

verify login

login verfied

ask details

submit details

store details

verify details

update details

send details

verify details

send verification

update details

send dsetails

verify details

send verification

update details

details verified and updated

ask payment

select payment

verify acc

verified acc

enter amt

check bal

bal available

amt paid

issue passport
ACTIVITY DIAGRAM FOR PASSPORT AUTOMATION SYSTEM

login acc

fill application

submit detials

penalities per
law online
payment

passport office passport seva


kendra

done payment

receive
passport
PACKAGE DIAGRAM FOR PASSPORT AUTOMATION SYSTEM

User Interface Layer

Swing Web

Domain Layer Layer

Applicant Passport Regional Admin Police Database Bank


System

Technical service layer

login persistence authentication


STATE CHART DIAGRAM FOR PASSPORT AUTOMATION SYSTEM

login

get detials

store
details

verification

update
detials

receive
payment

issue
passport
COMPONENT DIAGRAM FOR PASSPORT AUTOMATION SYSTEM

Applicant
Database
PassportSys Regional
tem admin

Bank Police
COLLOBORATION DIAGRAM FOR PASSPORT AUTOMATION
SYSTEM

10: verify details


7: verify details
1: login
5: submit details
19: select payment
22: enter amt
Applican 9: send details
t Regional
Passport admin
system
11: send verification
2: verify login
6: store details
8: update details
12: update details
27: 21: verified acc 16: update details
26: issue passport 24: bal available
25: amt paid
18: ask payment
4: ask details 17: details verified and updated
3: login verfied
15: send verification
23: check bal
20: verify acc
Databas
e
Bank
14: verify details

13: send dsetails

Police
DEPLOYMENT DIAGRAM FOR PASSPORT AUTOMATION SYSTEM

regional
applicant pc passport admin pc
system pc

police pc database
bank pc pc
IMPLEMENTATION:
After the compeletion of UML diagrams for Passport Automation System we should generate the
code. Select the tools option from main menu and then select the sub option program module in
which we are going to generate the code in JAVA/J2EE.Then go ahead and select the generate
code option. Select the path for the code to be generated and thus the code is generated.

APPLICANT.JAVA:
import PassportSystem;
import Bank;
public class Applicant
{
private String name;
private String mailId;
private integer ph.no;
private String username;
private String password;
private String address;
private integer age;
private String idProofName;
private integer idProofNo;
private integer userId;
public PassportSystems thePassportSystems;
public Bank theBank;
public Applicant()
{
}
public void login()
{
}
public void submitDetails()
{
}
public void payment()
{
}
public void receivePassport()
{
}
}

PASSPORT SYSTEM.JAVA:
import Database;
import RegionalOfficer;
public class PassportAdmin
{
private String userName;
private String password;
private Integer administratorId;
private String name;
public PassportAdmin()
{
}
public void verify()
{
}
public void update()
{
}
public void checkStatus()
{
}
public void issuePassport()
{
}
}

POLICE.JAVA:
import PassportSystem;
public class Police
{
private String name;
private integer policeId;
private String password;
private String idProofName;
private integer idProofNo;
private integer branchId;
public PassportSystems thePassportSystems;

public Police()
{
}

public void verify()


{
}
public void update()
{
}
public void checkValidity()
{
}
public void checkStatus()
{
}
}
void Police.login(){
}
void Police.verifyDetails(){
}
void Police.verify(){
}
void Police.checkValidity(){
}
void Police.login(){
}
void Police.verifyDetails(){
}

REGIONAL ADMINSTRATOR.JAVA:
import Police;
public class RegionalAdmin
{
private integer adminId;
private String password;
private String name;
private String idProofName;
private integer idProofNo;
private integer branchId;
public Police thePolice[];
public RegionalAdmin()
{
}
public void verify()
{
}
public void update()
{
}

public void checkValidity()


{
}
public void checkStatus()
{
}
}

BANK.JAVA:
public class Bank
{
private String accName;
private integer acc.no;
private integer branchId;
private integer pinNo;
private integer amount;
private String branchName;
public PassportSystems thePassportSystems;
public Bank()
{
}
public void payment()
{
}
}

REGISTERATION.JAVA

import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.sql.*;
public class Registration extends JFrame implements ActionListener
{
JLabel l1, l2, l3, l4, l5, l6, l7, l8;
JTextField tf1, tf2, tf5, tf6, tf7;
JButton btn1, btn2;
JPasswordField p1, p2;
Registration()
{
setVisible(true);
setSize(700, 700);
setLayout(null);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setTitle("Registration Form for Passport Automation System");
l1 = new JLabel("Registration Form for Passport Automation System");
l1.setForeground(Color.blue);
l1.setFont(new Font("Serif", Font.BOLD, 20);
l2 = new JLabel("Applicant Name:");
l3 = new JLabel("Email-ID:");
l4 = new JLabel("Create Passowrd:");
l5 = new JLabel("Confirm Password:");
l6 = new JLabel("Country:");
l7 = new JLabel("State:");
l8 = new JLabel("Phone No:");
tf1 = new JTextField();
tf2 = new JTextField();
p1 = new JPasswordField();
p2 = new JPasswordField();
tf5 = new JTextField();
tf6 = new JTextField();
tf7 = new JTextField();
btn1 = new JButton("Submit");
btn2 = new JButton("Clear");
btn1.addActionListener(this);
btn2.addActionListener(this);
l1.setBounds(100, 30, 400, 30);
l2.setBounds(80, 70, 200, 30);
l3.setBounds(80, 110, 200, 30);
l4.setBounds(80, 150, 200, 30);
l5.setBounds(80, 190, 200, 30);
l6.setBounds(80, 230, 200, 30);
l7.setBounds(80, 270, 200, 30);
l8.setBounds(80, 310, 200, 30);
tf1.setBounds(300, 70, 200, 30);
tf2.setBounds(300, 110, 200, 30);
p1.setBounds(300, 150, 200, 30);
p2.setBounds(300, 190, 200, 30);
tf5.setBounds(300, 230, 200, 30);
tf6.setBounds(300, 270, 200, 30);
tf7.setBounds(300, 310, 200, 30);
btn1.setBounds(50, 350, 100, 30);
btn2.setBounds(170, 350, 100, 30);

add(l1);
add(l2);
add(tf1);
add(l3);
add(tf2);
add(l4);
add(p1);
add(l5);
add(p2);
add(l6);
add(tf5);
add(l7);
add(tf6);
add(l8);
add(tf7);
add(btn1);
add(btn2);
}
public void actionPerformed(ActionEvent e)
{
if (e.getSource() == btn1)
{
int x = 0;
String s1 = tf1.getText();
String s2 = tf2.getText();
char[] s3 = p1.getPassword();
char[] s4 = p2.getPassword();
String s8 = new String(s3);
String s9 = new String(s4);

String s5 = tf5.getText();
String s6 = tf6.getText();
String s7 = tf7.getText();
if (s8.equals(s9))
{
try
{
Class.forName("oracle.jdbc.driver.OracleDriver");
Connection con =
DriverManager.getConnection("jdbc:oracle:thin:@mcndesktop07:1521:xe", "sandeep",
"welcome");
PreparedStatement ps = con.prepareStatement("insert into reg values(?,?,?,?,?,?)");
ps.setString(1, s1);
ps.setString(2, s2);
ps.setString(3, s8);
ps.setString(4, s5);
ps.setString(5, s6);
ps.setString(6, s7);
ResultSet rs = ps.executeQuery();
x++;
if (x > 0)
{
JOptionPane.showMessageDialog(btn1, "Data Saved Successfully");
}
}
catch (Exception ex)
{

System.out.println(ex);
}
}
else
{
JOptionPane.showMessageDialog(btn1, "Password Does Not Match");
}
}
else
{
tf1.setText("");
tf2.setText("");
p1.setText("");
p2.setText("");
tf5.setText("");
tf6.setText("");
tf7.setText("");
}
}
public static void main(String args[])
{
new Registration();
}
}

OUTPUT:
FORM WITHOUT ENTRIES:
FORM WITH ENTRIES:

FORM SAVED SUCCESSFULLY:


TESTING:
To perform the testing for the code generated open eclipse & create a project with a
packagecontaining a class file & java test unit file. write the coding which is to be tested &
test the code for a correct input. thus the code is tested.

APPLICANT.JAVA
package passportsystem;
//import PassportSystem;
//import Bank;

public class Applicant


{
private String name;
private String mailId;
private int phno;
private String username;
private String password;
private String address;
private int age;
private String idProofName;
private int idProofNo;
private int userId;

/**
@roseuid 5B7E66B600B1
*/
public Applicant()
{
}

/**
@roseuid 5B7E600E035A
*/
int c;

public int Login()


{
String username = new String("aishu");
String password = new String("y");
if ((username.equals("aishu")) || (password.equals("y")))
{
c=2;
}
else
{
c=3;
}
return c;
}
/**
@roseuid 5B7E600E035B
*/
public void submitDetails()
{
}

/**
@roseuid 5B7E600E035C
*/
public void payment()
{
}

/**
@roseuid 5B7E600E035D
*/
public void receivePassport()
{
}

JUNIT TEST CODE:

TEST CASE VALID DATA


package passportsystem;
import static org.junit.Assert.*;
import org.junit.Test;
public class test1 {
@Test
public void test() {
Applicant test=new Applicant();
int out= test.Login();
assertEquals(2,out);
}
}
TEST CASE VALID DATA:

TEST CASE INVALID DATA


package passportsystem;
import static org.junit.Assert.*;
import org.junit.Test;
public class test1 {
@Test
public void test() {
Applicant test=new Applicant();
int out= test.Login();
assertEquals(9,out);
}
}
TEST CASE INVALID DATA:

CONCLUSION:

Вам также может понравиться