• No results found

Passport Management System

N/A
N/A
Protected

Academic year: 2021

Share "Passport Management System"

Copied!
191
0
0

Loading.... (view fulltext now)

Full text

(1)

Dr. Hari Singh Gour Vishwavidyalaya, Sagar

(M.P.)

A Project Report On

PASSPORT MANAGEMENT

Submitted As A Part Fulfilment Of

B.C.A (SEMESTER VI) – MAJOR PROJECT

GUIDED BY:

Miss.

(LECTURER, DHSGVV,

SAGAR(M.P.))

SUBMITTED BY:

SWETA DANGI

PARUL SONI

(2)

DR.

HARI

SINGH

GOUR

VISHWAVIDYALAYA

SAGAR, (M.P.)

(SESSION 2011)

DEPARTMENT OF COMPUTER SCIENCE

C

ERTIFICATE

This is to certify that

Miss. Shweta Dangi and Miss Parul Soni,

students of B.C.A VI Semester, Dr. Hari Singh Gour Vishwavidyalaya, Sagar,

(M.P.), have completed their major project titled

“ICICI BANKING

SYSTEM“,

as per the syllabus and have submitted a satisfactory report. This

project is a partial fulfilment towards the award of degree of

Bachelor of

Computer Applications

under

Dr. Hari Singh Gour

Vishwavidyalaya, Sagar, (M.P.).

(3)

A

CKNOWLEDGEMENT

There always remains a pleasure to acknowledge the assistance of several individuals

to the accomplishment of our goal and complication of the project:

―ICICI BANKING SYSTEM‖.

We owe a debt of gratitude to our project guide, Miss???, whose devotion of valuable

time from her busy schedule and coordination lead us towards the completion of

this project. She was extremely generous and we give our sincere thanks to her for

the constant support and guidance.

Our heartiest thanks extended to???. Last but not the least, we are thankful to the

whole computer science faculty, who directly or indirectly helped and advised us at

every step to complete this project work.

Project Team:

Shweta Dangi

Parul Soni

(4)

D

ECLARATION

We, MISS SHWETA DANGI and MISS PARUL SONI hereby declare that the work

presented in this project report entitled, ‖ICICI BANKING SYSTEM‖, submitted to

Department of Computer Science And Application towards the partial fulfilment of

B.C.A Semester, is an original & authentic record of work and it has not been

submitted by anywhere.

We further declare that if the statement cited above found false, we will be liable to

be disqualified, at any stage.

(

)

Name & Signature Enrollment No

(

)

(5)

T

ABLE

O

F

C

ONTENTS

Contents

Page No.

1.

Certification

1.1

Acknowledgement

1.2

College Certificate

1.3

Declaration

1.4

Project Certificate

2.

About Company – Aptech Ltd., Mumbai

2.1

Company profile

3.

Introduction

3.1

Project Definition

3.2

Objective Definition

3.3

Software And Hardware Requirement

4.

Technology Introduction

4.1

Strategies For Making “ICICI Banking

System”

4.2

Technology Description:

4.2.1

Java

4.2.2

Advantages of Using Java

4.2.3

JDBC

4.3

Framework

4.4

Features

4.5

About DBMS – Oracle

5.

Methodology

5.1

Software Development Life Cycle

5.2

Software Process Model

(6)

5.3

Entity Relation Diagram

5.4

Data Flow Diagram

6.

Implementation

6.1

Coding

7.

Testing Results

7.1

Testing

7.2

Software Testing Techniques Used

7.3

Screen Layout

7.4

Database

8.

Conclusion & Future Scope

8.1

Conclusion

(7)
(8)

P

ROJECT

I

NTRODUCTION

The ideal structure of online passport registration provides security to the passports to be registered where in we can fill all the details in an efficient and easy manner. A passport is a document, issued by a national Government. This certifies, for the purpose of international travel, the identity and nationality of its holder. The Elements of identity are name, date-of-birth, sex and place of birth most often, most often nationality and citizenship are congruent. A passport does not of itself entitle the passport holder entry into another country, nor to consular protection while abroad or any other privileges it does. However normally entitle the passport holder to return to his country that issued the passport. Rights to consular protection arise from international agreements, and the right to return arises from the laws of issuing country. An individual can register for a passport irrespective of his/her age. The registration of passport is a major step for issuing of a passport. It is system or process in which an individual has to provide exact details of his /her personal information and residential information. Proper registration of a passport is very vital as all the detail filled by the individual are depicted on the passport that is issued.

(9)

P

ROJECT

I

NTRODUCTION

SYNOPSIS

The main aim of the project is to design innovative software,which deals with

the passport authority management. The motto of the projectis to simplify the job

of the administrative people and to render a user-friendly package.The system

provides information regarding the passportapplication and its status (enquiry). The

tedious jobs such as verifying all therecords of the applicant, confirming that all the

personal details are furnished,submission of emigration check documents, passing

of police enquiry, positivereport from the previous applied section, etc., are done in

the most convenientway to the administrator.Also security is being provided in

the most proficient way. Allthe intermediate stages starting from receiving of

the application form torevealing the passport number along with the dispatch of the

passport are beingdealt

(10)

SYSTEM DEFINITION

At

first,

the

applicant

is

given

the

application

form.

Theapplicant returns the application duly filled up with all the details. After returning

the application the administrator awards with a file number to thatapplicant. This file

number plays the major role in the entire administrative procedure.Using the file

number

administrator

enters

all

the

details

such

as personal information, address details, physical particulars and educationalqualifica

tions. If any one of these are found to be invalid then that particular section is stopped

for process and the confirmation is being stopped.Next section consists entirely of

validating all the details like police records, validation of the amount paid, previous

applied and submissionof all the documents including the photos. Only if the

concerned departmentscorrectly approve all the reports then the file is sent to the

passport writingsection. Then the passport writing is done and dispatched. Also an

ability of theapplicant to enquire about the status of his application can be known

throughthe enquiry section.

(11)

H

ARDWARE

R

EQUIREMENTS

1. Processor : Intel Pentium III 800 Mhz. or above

2. Hard Disc : A minimum of 10 MB Hard disc space

3. RAM : 64 MB or above

4. Keyboard : Standard

5. Mouse : Standard

(12)

S

OFTWARE

R

EQUIREMENT

(F

OR

D

EVELOPER

)

a .

Windows XP or later

b.

Java Development Kit 1.6.0

(13)
(14)

Passport Seva

Vision

"To deliver passport services to citizens in a timely, transparent, more

accessible, reliable manner and in a comfortable environment through

streamlined processes and committed, trained and motivated workforce"

In recent years, the Government of India has taken many initiatives to usher in an

era of Governance to improve the delivery of public services. The National

e-Governance Plan (NeGP) includes many high impact e-e-Governance projects that

have been identified as Mission Mode Projects (MMP's). One such project focuses

on reforming Passport services in India.

The Ministry of External Affairs (MEA) is responsible for issuance of Passports to

Indian Citizens through a network of 37 Passport offices across the Country and 180

Indian Embassies and Consulates abroad.

A Passport is an essential travel document for those who are traveling abroad for

education, tourism, pilgrimage, medical attendance, business purposes and family

visits. During the last few years, the growing economy and spreading globalization

have led to an increased demand for Passport and related services. The passport

demand is estimated to be growing by around 10% annually. This increased demand

for passport and related services is coming from both large cities and smaller towns,

creating a need for wider reach and availability. To augment and improve the

delivery of passport services to Indian citizens, the Ministry of External Affairs

(MEA) launched the Passport Seva Project (PSP) in May 2010.

The project has been implemented in a Public Private Partnership (PPP) mode with

Tata Consultancy Services, selected through a public competitive procurement

process. Under this program, the sovereign and fiduciary functions like verification,

granting and issuing of passport have been retained by MEA. The ownership and

strategic control of the core assets including data/information is with MEA.

Passport Seva enables simple, efficient and transparent processes for delivery of

passport and related services. Apart from creating a countrywide networked

environment for Government staff, it integrates with the State Police for physical

verification of applicant's credentials and with India Post for delivery of passports.

Transforming Passport Services for India Citizens

The Passport Seva Project is transforming passport and related services in India to

provide a best-in-class experience to Indian citizens. PSP is enabling MEA to

deliver passport services in a reliable, convenient and transparent manner, within

(15)

defined service levels. Key aspects of the service transformation achieved by PSP

are as follows:

1. Anywhere Anytime Access : Citizens can submit their passport applications

and seek an appointment on payment of passport fees online through the PSP

portal (www.passportindia.gov.in) at their convenience. The portal provides

comprehensive and latest information on all passport related services.

Citizens visit the nearest PSK with prior appointment date/time, thus

avoiding long queues and inconvenience.

2. Increased Network :As extended arms of 37 Passport Offices, 77 Passport

Seva Kendras (PSKs) have been made operational across the country and 16

Passport Seva Laghu Kendras(PSLKs) are being established as part of

Passport Seva.

3. Improved Amenities :The PSK provides a world class ambience. Amenities

in every PSK include helpful guides, information kiosks, photocopying, food

and beverage facilities, public phone booth, baby care, newspapers and

journals and television in a comfortable air-conditioned waiting lounge. The

Electronic Queue Management System ensures the 'first-in-first-out'

principle in application processing.

4. State of the Art Technology Infrastructure : Passport Seva is supported

by state-of-the-art technology infrastructure which enables end-to-end

passport services to be delivered with enhanced security comparable to the

best in the world. The photograph and biometrics of the applicants are

captured when they visit the PSK. Their applications and supporting

documents are digitized and stored in the system for further processing.

5. Integration with Police and India Post : The PSP network connects with

the State Police across all the states and union territories. The applicant's

data is sent electronically for police verification. PSP also provides an

interface to India Post for tracking delivery of passport to citizens.

6. Call Centre & Helpdesk : A multi-lingual National call centre operating in

17 Indian languages enables citizens to obtain passport service related

information and receive updates about their passport applications, round the

clock, seven days a week. An e-mail based helpdesk besides a mobile based

application 'mPassport Seva' provides information on passport services.

(16)

Technology

Introduction

(17)

J

AVA

Java is a programming language originally developed by James Gosling at Sun

Microsystems (which is now a subsidiary of Oracle Corporation) and released in

1995 as a core component of Sun Microsystems' Java platform. The language derives

much of its syntax from C and C++ but has a simpler object model and fewer

low-level facilities. Java applications are typically compiled to bytecode (class file) that

can run on any Java Virtual Machine (JVM) regardless of computer architecture. Java

is a general-purpose, concurrent, class-based, object-oriented language that is

specifically designed to have as few implementation dependencies as possible. It is

intended to let application developers "write once, run anywhere". Java is currently

one of the most popular programming languages in use, and is widely used from

application software to web applications.

The original and reference implementation Java compilers, virtual machines, and

class libraries were developed by Sun from 1995. As of May 2007, in compliance

with the specifications of the Java Community Process, Sun relicensed most of its

Java technologies under the GNU General Public License. Others have also

developed alternative implementations of these Sun technologies, such as the GNU

Compiler for Java, GNU Classpath, and Dalvik.

ADVANTAGES OF JAVA

Java offers a number of advantages to developers.

1. Java is simple: Java was designed to be easy to use and is therefore easy to

write, compile, debug, and learn than other programming languages. The

reason that why Java is much simpler than C++, is because Java uses

automatic memory allocation and garbage collection where else C++ requires

the programmer to allocate memory and to collect garbage.

2. Java is object-oriented: Java is object-oriented because programming in Java

is centered on creating objects, manipulating objects, and making objects

work together. This allows you to create modular programs and reusable code.

3. Java is platform-independent: One of the most significant advantages of Java

is its ability to move easily from one computer system to another. The ability

to run the same program on many different systems is crucial to World Wide

Web software, and Java succeeds at this by being platform-independent at

both the source and binary levels.

4. Java is distributed: Distributed computing involves several computers on a

network working together. Java is designed to make distributed computing

easy with the networking capability that is inherently integrated into it.

(18)

Writing network programs in Java is like sending and receiving data to and

from a file.

5. Java is interpreted: An interpreter is needed in order to run Java programs.

The programs are compiled into Java Virtual Machine code called bytecode.

The bytecode is machine independent and is able to run on any machine that

has a Java interpreter. With Java, the program need only be compiled once,

and the bytecode generated by the Java compiler can run on any platform.

6. Java is secure: Java is one of the first programming languages to consider

security as part of its design. The Java language, compiler, interpreter, and

runtime environment were each developed with security in mind.

7. Java is robust: Robust means reliable and no programming language can

really assure reliability. Java puts a lot of emphasis on early checking for

possible errors, as Java compilers are able to detect many problems that would

first show up during execution time in other languages.

8. Java is multithreaded: Multithreaded is the capability for a program to

perform several tasks simultaneously within a program. In Java, multithreaded

programming has been smoothly integrated into it, while in other languages,

operating system-specific procedures have to be called in order to enable

multithreading. Multithreading is a necessity in visual and network

programming.

JDBC

Java DataBase Connectivity, commonly referred to as JDBC, is an API for the Java

programming language that defines how a client may access a database. It provides

methods for querying and updating data in a database. JDBC is oriented towards

relational databases. A JDBC-to-ODBC bridge enables connections to any

ODBC-accessible data source in the JVM host environment.

Functionality

JDBC allows multiple implementations to exist and be used by the same application.

The API provides a mechanism for dynamically loading the correct Java packages

and registering them with the JDBC Driver Manager. The Driver Manager is used as

a connection factory for creating JDBC connections.

JDBC connections support creating and executing statements. These may be update

statements such as SQL's CREATE, INSERT, UPDATE and DELETE, or they may

be query statements such as SELECT. Additionally, stored procedures may be

(19)

invoked through a JDBC connection. JDBC represents statements using one of the

following classes:

Statement – the statement is sent to the database server each and every time.

PreparedStatement – the statement is cached and then the execution path is

pre-determined on the database server allowing it to be executed multiple

times in an efficient manner.

CallableStatement – used for executing stored procedures on the database.

Update statements such as INSERT, UPDATE and DELETE return an update count

that indicates how many rows were affected in the database. These statements do not

return any other information.

Query statements return a JDBC row result set. The row result set is used to walk

over the result set. Individual columns in a row are retrieved either by name or by

column number. There may be any number of rows in the result set. The row result

set has metadata that describes the names of the columns and their types.

There is an extension to the basic JDBC API in the javax.sql.

Examples

The method Class.forName(String) is used to load the JDBC driver class. The line

below causes the JDBC driver from some jdbc vendor to be loaded into the

application. (Some JVMs also require the class to be instantiated with

.newInstance().)

Class.forName( "com.somejdbcvendor.TheirJdbcDriver" );

In JDBC 4.0, it's no longer necessary to explicitly load JDBC drivers using

Class.forName().

When a Driver class is loaded, it creates an instance of itself and registers it with the

DriverManager. This can be done by including the needed code in the driver class's

static

block. e.g.

DriverManager.registerDriver(Driver driver)

Now when a connection is needed, one of the

DriverManager.getConnection()

methods is

used to create a JDBC connection.

Connection conn = DriverManager.getConnection(

"jdbc:somejdbcvendor:other data needed by some jdbc vendor",

"myLogin",

(20)

try {

/* you use the connection here */

} finally {

//It's important to close the connection when you are done with it

try { conn.close(); } catch (Throwable ignore) { /* Propagate the original exception

instead of this one that you may want just logged */ }

}

JDBC drivers

JDBC drivers are client-side adapters (installed on the client machine, not on the

server) that convert requests from Java programs to a protocol that the DBMS can

understand.

Types

There are commercial and free drivers available for most relational database servers.

These drivers fall into one of the following types:

Type 1 that calls native code of the locally available ODBC driver.

Type 2 that calls database vendor native library on a client side. This code

then talks to database over network.

Type 3, the pure-java driver that talks with the server-side middleware that

then talks to database.

Type 4, the pure-java driver that uses database native protocol.

There is also a type called internal JDBC driver, driver embedded with JRE in

Java-enabled SQL databases. It's used for Java stored procedures. This does not belong to

the above classification, although it would likely be either a type 2 or type 4 driver

(depending on whether the database itself is implemented in Java or not). An example

of this is the KPRB driver supplied with Oracle RDBMS. "jdbc:default:connection" is

a relatively standard way of referring making such a connection (at least Oracle and

Apache Derby support it). The distinction here is that the JDBC client is actually

running as part of the database being accessed, so access can be made directly rather

than through network protocols.

(21)

F

RAMEWORK

T

ECHNOLOGY IN

B

ANKING

S

ECTOR

Over the years as the consumer demand increased and the retailers geared up to meet

this increase, technology evolved rapidly to support this growth. The hardware and

software tools that have now become almost essential for retailing can be into 2 broad

categories.

Customer Interfacing Systems:

Bar Coding and Scanners

Point of sale systems use scanners and bar coding to identify an item, use pre-stored

data to calculate the cost and generate the total bill for a client. Tunnel Scanning is a

new concept where the consumer pushes the full shopping cart through an electronic

gate to the point of sale. In a matter of seconds, the items in the cart are hit with laser

beams and scanned. All that the consumer has to do is to pay for the goods.

Payment

Payment through credit cards has become quite widespread and this enables a fast

and easy payment process. Electronic cheque conversion, a recent development in

this area, processes a cheque electronically by transmitting transaction information to

the retailer and consumer's Retail outlet. Rather than manually process a cheque, the

retailer voids it and hands it back to the consumer along with a receipt, having

digitally captured and stored the image of the cheque, which makes the process very

fast.

Internet

Internet is also rapidly evolving as a customer interface, removing the need of a

consumer physically visiting the store.

Operation Support Systems:

ERP System

Various ERP vendors have developed retail-specific systems which help in integrating

all the functions from warehousing to distribution, front and back office store systems

and merchandising. An integrated supply chain helps the retailer in maintaining his

stocks, getting his supplies on time, preventing stock-outs and thus reducing his costs,

while servicing the customer better.

(22)

CRM Systems

The rise of loyalty programs, mail order and the Internet has provided retailers with

real access to consumer data. Data warehousing & mining technologies offers

retailers the tools they need to make sense of their consumer data and apply it to

business. This, along with the various available CRM (Customer Relationship

Management) Systems, allows the retailers to study the purchase behavior of

consumers in detail and grow the value of individual consumers to their businesses.

Advanced Planning and Scheduling Systems

APS systems can provide improved control across the supply chain, all the way from

raw material supplier’s right through to the retail shelf. These APS packages

complement existing (but often limited) ERP packages. They enable consolidation of

activities such as long term budgeting, monthly forecasting; weekly factory

scheduling and daily distribution scheduling intone overall planning process using a

single set of data

The major reasons behind the development of new trends are:

Scalable and profitable Retail models are well established for most of the categories:

Rapid Evolution of New-age Young Indian Consumers

Retail Space is no more a constraint for growth

Partnering among Brands, retailers, franchisees, investors and malls

(23)

A

BOUT

D

ATABASE

M

ANAGEMENT

S

YSTEMS

O

RACLE

The Oracle Database (commonly referred to as Oracle RDBMS or simply as Oracle)

is an object-relational database management system (ORDBMS) produced and

marketed by Oracle Corporation.

Larry Ellison and his friends and former co-workers Bob Miner and Ed Oates started

the consultancy Software Development Laboratories (SDL) in 1977. SDL developed

the original version of the Oracle software. The name Oracle comes from the

code-name of a CIA-funded project Ellison had worked on while previously employed by

Ampex

Physical and logical structures

An Oracle database system—identified by an alphanumeric system identifier or SID

—comprises at least one instance of the application, along with data storage. An

instance—identified persistently by an instantiation number (or activation id:

SYS.V_$DATABASE.ACTIVATION#)—comprises a set of operating-system

processes and memory-structures that interact with the storage. Typical processes

include PMON (the process monitor) and SMON (the system monitor).

Users of the Oracle databases refer to the server-side memory-structure as the SGA

(System Global Area). The SGA typically holds cache information such as

data-buffers, SQL commands, and user information. In addition to storage, the database

consists of online redo logs (or logs), which hold transactional history. Processes can

in turn archive the online redo logs into archive logs (offline redo logs), which

provide the basis (if necessary) for data recovery and for some forms of data

replication.

If the Oracle database administrator has implemented Oracle RAC (Real Application

Clusters), then multiple instances, usually on different servers, attach to a central

storage array. This scenario offers advantages such as better performance, scalability

and redundancy. However, support becomes more complex, and many sites do not

use RAC. In version 10g, grid computing introduced shared resources where an

instance can use (for example) CPU resources from another node (computer) in the

grid.

The Oracle DBMS can store and execute stored procedures and functions within

itself. PL/SQL (Oracle Corporation's proprietary procedural extension to SQL), or the

object-oriented language Java can invoke such code objects and/or provide the

programming structures for writing them.

(24)

Storage

The Oracle RDBMS stores data logically in the form of table spaces and physically in

the form of data files ("data files"). Tablespaces can contain various types of memory

segments, such as Data Segments, Index Segments, etc. Segments in turn comprise

one or more extents. Extents comprise groups of contiguous data blocks. Data blocks

form the basic units of data storage.

There is also a partitioning feature available on newer versions of the database, which

allows tables to be partitioned based on different set of keys. Specific partitions can

then be easily added or dropped to help manage large data sets.

Oracle database management tracks its computer data storage with the help of

information stored in the

SYSTEM

tablespace. The

SYSTEM

tablespace contains the

data dictionary—and often (by default) indexes and clusters. A data dictionary

consists of a special collection of tables that contains information about all

user-objects in the database. Since version 8i, the Oracle RDBMS also supports "locally

managed" tablespaces which can store space management information in bitmaps in

their own headers rather than in the

SYSTEM

tablespace (as happens with the default

"dictionary-managed" tablespaces). Version 10i and later introduced the

SYSAUX

tablespace which contains some of the tables formerly in the

SYSTEM

tablespace.

Disk files

Disk files primarily consist of the following types:

 Data and index files

 Redo log files consisting of all changes to the database, used to recover from an instance failure

 Undo files used for recovery, rollbacks, and read consistency

 Archive log files

 Temporary files

 Control files containing information on data files

At the physical level, data files comprise one or more data blocks, where the block

size can vary between data files.

Data files can occupy pre-allocated space in the file system of a computer server,

utilize raw disk directly, or exist within ASM logical volumes.

(25)

Control files

The following parameters govern the size of the control files:

* maxlogfile * maxlogmembers * maxloghistory * maxinstances * control_file_record_keep_time

Database Schema

Oracle database conventions refer to defined groups of object ownership (generally

associated with a "username") as schemas.

Most Oracle database installations traditionally came with a default schema called

SCOTT

. After the installation process has set up the sample tables, the user can log

into the database with the username

scott

and the password

tiger

. The name of the

SCOTT

schema originated with Bruce Scott, one of the first employees at Oracle (then

Software Development Laboratories), who had a cat named Tiger.

Oracle Corporation has de-emphasized the use of the

SCOTT

schema, as it uses few of

the features of the more recent releases of Oracle. Most recent examples supplied by

Oracle Corporation reference the default HR or OE schemas.

Other default schemas include:

 SYS (essential core database structures and utilities)

 SYSTEM (additional core database structures and utilities, and privileged account)

 OUTLN (utilized to store metadata for stored outlines for stable query-optimizer execution plans.

 BI, IX, HR, OE, PM, and SH (expanded sample schemas containing more data and structures than the older SCOTT schema).

System Global Area

Each Oracle instance uses a System Global Area or SGA—a shared-memory area—

to store its data and control-information.

Each Oracle instance allocates itself an SGA when it starts and de-allocates it at

shut-down time. The information in the SGA consists of the following elements, each of

which has a fixed size, established at instance startup:

(26)

 The redo log buffer: this stores redo entries—a log of changes made to the database. The instance writes redo log buffers to the redo log as quickly and efficiently as possible. The redo log aids in instance recovery in the event of a system failure.

 the shared pool: this area of the SGA stores shared-memory structures such as shared SQL areas in the library cache and internal information in the data dictionary. An insufficient amount of memory allocated to the shared pool can cause performance degradation.

Library cache

The library cache stores shared SQL, caching the parse tree and the execution plan

for every unique SQL statement. If multiple applications issue the same SQL

statement, each application can access the shared SQL area. This reduces the amount

of memory needed and reduces the processing-time used for parsing and execution

planning.

Data dictionary cache

The data dictionary comprises a set of tables and views that map the structure of the

database.

Oracle databases store information here about the logical and physical structure of the

database. The data dictionary contains information such as:

 user information, such as user privileges

 integrity constraints defined for tables in the database

 names and datatypes of all columns in database tables

 information on space allocated and used for schema objects

The Oracle instance frequently accesses the data dictionary in order to parse SQL

statements. The operation of Oracle depends on ready access to the data dictionary:

performance bottlenecks in the data dictionary affect all Oracle users. Because of

this, database administrators should make sure that the data dictionary cache has

sufficient capacity to cache this data. Without enough memory for the data-dictionary

cache, users see a severe performance degradation. Allocating sufficient memory to

the shared pool where the data dictionary cache resides precludes these particular

performance problems.

(27)
(28)
(29)

S

YSTEMS

D

EVELOPMENT

L

IFE

C

YCLE

The Systems Development Life Cycle (SDLC), or Software Development Life Cycle

in systems engineering, information systems and software engineering, is the process

of creating or altering systems, and the models and methodologies that people use to

develop these systems. The concept generally refers to computer or information

systems.

In software engineering the SDLC concept underpins many kinds of software

development methodologies. These methodologies form the framework for planning

and controlling the creation of an information system

1

: the software development

process.

(30)

OVERVIEW

Systems Development Life Cycle (SDLC) is a process used by a systems analyst to

develop an information system, including requirements, validation, training, and user

(stakeholder) ownership. Any SDLC should result in a high quality system that meets

or exceeds customer expectations, reaches completion within time and cost estimates,

works effectively and efficiently in the current and planned Information Technology

infrastructure, and is inexpensive to maintain and cost-effective to enhance.

Computer systems are complex and often (especially with the recent rise of

Service-Oriented Architecture) link multiple traditional systems potentially supplied by

different software vendors. To manage this level of complexity, a number of SDLC

models or methodologies have been created, such as "waterfall"; "spiral"; "Agile";

"rapid prototyping"; "incremental"; and "synchronize and stabilize".

SDLC models can be described along a spectrum of agile to iterative to sequential.

Agile methodologies, such as XP and Scrum, focus on lightweight processes which

allow for rapid changes along the development cycle. Iterative methodologies, such

as Rational Unified Process and Dynamic Systems Development Method, focus on

limited project scope and expanding or improving products by multiple iterations.

Sequential or big-design-up-front (BDUF) models, such as Waterfall, focus on

complete and correct planning to guide large projects and risks to successful and

predictable results. Other models, such as Anamorphic Development, tend to focus

on a form of development that is guided by project scope and adaptive iterations of

feature development.

(31)

In project management a project can be defined both with a project life cycle (PLC)

and an SDLC, during which slightly different activities occur. According to Taylor

(2004) "the project life cycle encompasses all the activities of the project, while the

systems development life cycle focuses on realizing the product requirements".

HISTORY

The Systems Life Cycle (SLC) is a type of methodology used to describe the process

for building information systems, intended to develop information systems in a very

deliberate, structured and methodical way, reiterating each stage of the life cycle. The

systems development life cycle, according to Elliott & Strachan & Radford (2004)

originated in the 1960s, ―to develop large scale functional business systems in an age

of large scale business conglomerates. Information systems activities revolved around

heavy data processing and number crunching routines".

Several systems development frameworks have been partly based on SDLC, such as

the Structured Systems Analysis and Design Method (SSADM) produced for the UK

government Office of Government Commerce in the 1980s. Ever since, according to

Elliott (2004), "the traditional life cycle approaches to systems development have

been increasingly replaced with alternative approaches and frameworks, which

attempted to overcome some of the inherent deficiencies of the traditional SDLC".

(32)

SYSTEMS DEVELOPMENT

PHASES

The System Development Life Cycle framework provides a sequence of activities for

system designers and developers to follow. It consists of a set of steps or phases in

which each phase of the SDLC uses the results of the previous one.

A Systems Development Life Cycle (SDLC) adheres to important phases that are

essential for developers, such as planning, analysis, design, and implementation, and

are explained in the section below. A number of system development life cycle

(SDLC) models have been created: waterfall, fountain, spiral, build and fix, rapid

prototyping, incremental, and synchronize and stabilize. The oldest of these, and the

best known, is the waterfall model: a sequence of stages in which the output of each

stage becomes the input for the next. These stages can be characterized and divided

up in different ways, including the following:

Project planning, feasibility study: Establishes a high-level view of the

intended project and determines its

goals.

Systems analysis, requirements definition: Defines project goals into

defined functions and operation of the intended application. Analyzes

end-user information needs.

Systems design: Describes desired features and operations in detail, including

screen layouts, business rules, process diagrams, pseudocode and other

documentation.

(33)

Integration and testing: Brings all the pieces together into a special testing

environment, then checks for errors, bugs and interoperability.

Acceptance, installation, deployment: The final stage of initial

development, where the software is put into production and runs actual

business.

Maintenance: What happens during the rest of the software's life: changes,

correction, additions, and moves to a different computing platform and more?

This, the least glamorous and perhaps most important step of all, goes on

seemingly forever.

These stages of the Systems Development Life Cycle are divided in ten steps from

definition to creation and modification of IT work products:

(34)

The tenth phase occurs when the system is disposed of and the task performed is

either eliminated or transferred to other systems. The tasks and work products for

each phase are described in subsequent chapters.

(35)

Not every project will require that the phases be sequentially executed. However, the

phases are interdependent. Depending upon the size and complexity of the project,

phases may be combined or may overlap.

System analysis

The goal of system analysis is to determine where the problem is in an attempt to fix

the system. This step involves breaking down the system in different pieces to

analyze the situation, analyzing project goals, breaking down what needs to be

created and attempting to engage users so that definite requirements can be defined.

Requirements analysis sometimes requires individuals/teams from client as well as

service provider sides to get detailed and accurate requirements; often there has to be

a lot of communication to and from to understand these requirements. Requirement

gathering is the most crucial aspect as many times communication gaps arise in this

phase and this leads to validation errors and bugs in the software program.

Design

In systems design the design functions and operations are described in detail,

including screen layouts, business rules, process diagrams and other documentation.

The output of this stage will describe the new system as a collection of modules or

subsystems.

The design stage takes as its initial input the requirements identified in the approved

requirements document. For each requirement, a set of one or more design elements

will be produced as a result of interviews, workshops, and/or prototype efforts.

(36)

Design elements describe the desired software features in detail, and generally

include functional hierarchy diagrams, screen layout diagrams, tables of business

rules, business process diagrams, pseudocode, and a complete entity-relationship

diagram with a full data dictionary. These design elements are intended to describe

the software in sufficient detail that skilled programmers may develop the software

with minimal additional input design.

Testing

The code is tested at various levels in software testing. Unit, system and user

acceptance testings are often performed. This is a grey area as many different

opinions exist as to what the stages of testing are and how much if any iteration

occurs. Iteration is not generally part of the waterfall model, but usually some occur

at this stage. In the testing the whole system is test one by one.

Following are the types of testing:

 Defect testing

 Path testing

 Data set testing

 Unit testing

 System testing

 Integration testing

 Black box testing

 White box testing

 Regression testing

 Automation testing

(37)

 Performance testing

Operations and maintenance

The deployment of the system includes changes and enhancements before the

decommissioning or sunset of the system. Maintaining the system is an important

aspect of SDLC. As key personnel change positions in the organization, new changes

will be implemented, which will require system updates.

SYSTEMS

ANALYSIS AND DESIGN

The Systems Analysis and Design (SAD) is the process of developing Information

Systems (IS) that effectively use hardware, software, data, processes, and people to

support the company’s business objectives.

(38)

SYSTEMS DEVELOPMENT LIFE CYCLE

Management and control

SDLC Phases Related to Management Controls.

The Systems Development Life Cycle (SDLC) phases serve as a programmatic guide

to project activity and provide a flexible but consistent way to conduct projects to a

depth matching the scope of the project. Each of the SDLC phase objectives are

described in this section with key deliverables, a description of recommended tasks,

and a summary of related control objectives for effective management. It is critical

for the project manager to establish and monitor control objectives during each SDLC

phase while executing projects. Control objectives help to provide a clear statement

of the desired result or purpose and should be used throughout the entire SDLC

(39)

process. Control objectives can be grouped into major categories (Domains), and

relate to the SDLC phases as shown in the figure.

To manage and control any SDLC initiative, each project will be required to establish

some degree of a Work Breakdown Structure (WBS) to capture and schedule the

work necessary to complete the project. The WBS and all programmatic material

should be kept in the ―Project Description‖ section of the project notebook. The WBS

format is mostly left to the project manager to establish in a way that best describes

the project work. There are some key areas that must be defined in the WBS as part

of the SDLC policy. The following diagram describes three key areas that will be

addressed in the WBS in a manner established by the project manager.

(40)

WORK BREAKDOWN STRUCTURE.

Work breakdown structured organization

The upper section of the Work Breakdown Structure (WBS) should identify the

major phases and milestones of the project in a summary fashion. In addition, the

upper section should provide an overview of the full scope and timeline of the project

and will be part of the initial project description effort leading to project approval.

The middle section of the WBS is based on the seven Systems Development Life

Cycle (SDLC) phases as a guide for WBS task development. The WBS elements

should consist of milestones and ―tasks‖ as opposed to ―activities‖ and have a

definitive period (usually two weeks or more). Each task must have a measurable

output (e.x. document, decision, or analysis). A WBS task may rely on one or more

activities (e.g. software engineering, systems engineering) and may require close

coordination with other tasks, either internal or external to the project. Any part of the

project needing support from contractors should have a Statement of work (SOW)

written to include the appropriate tasks from the SDLC phases. The development of a

SOW does not occur during a specific phase of SDLC but is developed to include the

(41)

work from the SDLC process that may be conducted by external resources such as

contractors and struct.

Baselines in the SDLC

Baselines are an important part of the Systems Development Life Cycle (SDLC).

These baselines are established after four of the five phases of the SDLC and are

critical to the iterative nature of the model. Each baseline is considered as a

milestone in the SDLC.

Functional Baseline: established after the conceptual design phase.

Allocated Baseline: established after the preliminary design phase.

Product Baseline: established after the detail design and development phase.

Updated Product Baseline: established after the production construction

phase.

Complementary to SDLC

Complementary Software development methods to Systems Development Life Cycle

(SDLC) are:

Software Prototyping

Joint Applications Design (JAD)

Rapid Application Development (RAD)

Extreme Programming (XP); extension of earlier work in Prototyping and

RAD.

Open Source Development

End-user development

(42)

Object Oriented Programming

An alternative to the SDLC is Rapid application development, which combines

prototyping, Joint Application Development and implementation of CASE tools. The

advantages of RAD are speed, reduced development cost, and active user

involvement in the development process.

(43)

V-M

ODEL

(

SOFTWARE DEVELOPMENT

)

The V-model represents a software development process (also applicable to hardware

development) which may be considered an extension of the waterfall model. Instead

of moving down in a linear way, the process steps are bent upwards after the coding

phase, to form the typical V shape. The V-Model demonstrates the relationships

between each phase of the development life cycle and its associated phase of testing.

The horizontal and vertical axes represents time or project completeness

(left-to-right) and level of abstraction (coarsest-grain abstraction uppermost), respectively.

VERIFICATION PHASES

Requirements analysis

In the Requirements analysis phase, the requirements of the proposed system are

collected by analyzing the needs of the user(s). This phase is concerned with

establishing what the ideal system has to perform. However it does not determine

how the software will be designed or built. Usually, the users are interviewed and a

document called the user requirements document is generated.

(44)

The user requirements document will typically describe the system’s functional,

interface, performance, data, security, etc requirements as expected by the user. It is

used by business analysts to communicate their understanding of the system to the

users. The users carefully review this document as this document would serve as the

guideline for the system designers in the system design phase. The user acceptance

tests are designed in this phase. This is parallel processing

There are different methods for gathering requirements of both soft and hard

methodologies including; interviews, questionnaires, document analysis, observation,

throw-away prototypes, use cases and status and dynamic views with users.

System Design

Systems design is the phase where system engineers analyze and understand the

business of the proposed system by studying the user requirements document. They

figure out possibilities and techniques by which the user requirements can be

implemented. If any of the requirements are not feasible, the user is informed of the

issue. A resolution is found and the user requirement document is edited accordingly.

The software specification document which serves as a blueprint for the development

phase is generated. This document contains the general system organization, menu

structures, data structures etc. It may also hold example business scenarios, sample

windows, reports for the better understanding. Other technical documentation like

entity diagrams, data dictionary will also be produced in this phase. The documents

for system testing are prepared in this phase.

(45)

Architecture Design

The phase of the design of computer architecture and software architecture can also

be referred to as high-level design. The baseline in selecting the architecture is that it

should realize all which typically consists of the list of modules, brief functionality of

each module, their interface relationships, dependencies, database tables, architecture

diagrams, technology details etc. The integration testing design is carried out in the

particular phase.

Module Design

The module design phase can also be referred to as low-level design. The designed

system is broken up into smaller units or modules and each of them is explained so

that the programmer can start coding directly. The low level design document or

program specifications will contain a detailed functional logic of the module, in

pseudo code:

 database tables, with all elements, including their type and size

 all interface details with complete API references

 all dependency issues

 error message listings

 complete input and outputs for a module.

(46)

VALIDATION

PHASES

Unit Testing

In computer programming, unit testing is a method by which individual units of

source code are tested to determine if they are fit for use. A unit is the smallest

testable part of an application. In procedural programming a unit may be an

individual function or procedure. Unit tests are created by programmers or

occasionally by white box testers. The purpose is to verify the internal logic code by

testing every possible branch within the function, also known as test coverage. Static

analysis tools are used to facilitate in this process, where variations of input data are

passed to the function to test every possible case of execution.

Integration Testing

In integration testing the separate modules will be tested together to expose faults in

the interfaces and in the interaction between integrated components. Testing is

usually black box as the code is not directly checked for errors.

System Testing

System testing will compare the system specifications against the actual system.

After the integration test is completed, the next test level is the system test. System

testing checks if the integrated product meets the specified requirements. Why is this

still necessary after the component and integration tests? The reasons for this are as

follows:

Reasons for system test

1. In the lower test levels, the testing was done against technical specifications,

i.e., from the technical perspective of the software producer. The system test,

though, looks at the system from the perspective of the customer and the future

(47)

user. The testers validate whether the requirements are completely and

appropriately met.

o

Example: The customer (who has ordered and paid for the system) and the user

(who uses the system) can be different groups of people or organizations with

their own specific interests and requirements of the system.

2. Many functions and system characteristics result from the interaction of all

system components; consequently, they are only visible on the level of the

entire system and can only be observed and tested there.

User Acceptance Testing

Acceptance testing is the phase of testing used to determine whether a system

satisfies the requirements specified in the requirements analysis phase. The

acceptance test design is derived from the requirements document. The acceptance

test phase is the phase used by the customer to determine whether to accept the

system or not.

Acceptance testing helps

 to determine whether a system satisfies its acceptance criteria or not.

 to enable the customer to determine whether to accept the system or not.

 to test the software in the "real world" by the intended audience.

Purpose of acceptance testing:

 to verify the system or changes according to the original needs.

Procedures

1. Define the acceptance criteria:

o Functionality requirements.

o Performance requirements.

o Interface quality requirements.

o Overall software quality requirements. 2. Develop an acceptance plan:

o Project description.

o User responsibilities.

o Acceptance description.

(48)

Release Testing

Release testing is a phase that will determine if the software is suitable for the

organisation of the end-user. How will compatibility with other systems be ensured?

Is the performance of the software optimized?

(49)

E

NTITY

R

ELATION

D

IAGRAM

D

ATA

F

LOW

D

IAGRAM

S

HARE TRANSACTION DIAGRAM

(50)
(51)
(52)

C

ODING

Frame Name:

Login

Coding:

import java.sql.*;

public class Login extends javax.swing.JFrame { Statement s;

Connection conn; ResultSet rs;

public static String utype; public Login() { initComponents(); try { DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver()); conn=DriverManager.getConnection("jdbc:oracle:oci8:@xe","scott","tiger"); s=conn.createStatement(); } catch(SQLException e) {

jOptionPane1.showMessageDialog(this,"Error :"+e, "Error",0); }

}

private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) { this.setVisible(false);

}

private void jButton3ActionPerformed(java.awt.event.ActionEvent evt) { jTextField1.setText("");

(53)

}

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) { try { String uname,pass; uname=jTextField1.getText(); pass=jPasswordField1.getText(); int cnt;

rs=s.executeQuery("select count(*) from add_users where username='"+uname+"' and password='"+pass+"'");

rs.next();

cnt=rs.getInt(1); if(cnt==0)

jOptionPane1.showMessageDialog(this,"Invalid Username/Password\nPlease Re-enter Username & Password","Error",0);

else {

rs=s.executeQuery("select type from add_users where username='"+uname+"' and password='"+pass+"'");

rs.next();

utype=rs.getString(1); System.out.println(utype);

NewMDIApplication mdi=new NewMDIApplication(); mdi.setVisible(true); this.setVisible(false); } } catch(SQLException e) {

jOptionPane1.showMessageDialog(this,"Error :"+e, "Error",0); }

(54)

public static void main(String args[]) {

java.awt.EventQueue.invokeLater(new Runnable() { public void run() {

new Login().setVisible(true); }

}); }

Frame Name:

Add User

Coding:

import java.sql.*;

public class add_users extends javax.swing.JFrame { Connection conn; Statement s; ResultSet rs; public add_users() { initComponents(); try { DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver()); conn=DriverManager.getConnection("jdbc:oracle:oci8:@xe","scott","tiger"); s=conn.createStatement(); } catch(SQLException e) {

jOptionPane1.showMessageDialog(this,"Error :"+e, "Error",0); }

}

private void jButton3ActionPerformed(java.awt.event.ActionEvent evt) { this.setVisible(false);

(55)

}

private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) { jTextField1.setText("");

jPasswordField1.setText(""); jPasswordField2.setText(""); }

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) { String uname,pass1,pass2,type;

int cnt;

if(jTextField1.getText().length()==0) {

jOptionPane1.showMessageDialog(this,"User Name Not Entered","Invalid Value",0); return; } else uname=jTextField1.getText(); if(jPasswordField1.getText().length()==0) {

jOptionPane1.showMessageDialog(this,"Password Not Entered","Invalid Value",0); return; } else pass1=jPasswordField1.getText(); if(jPasswordField2.getText().length()==0) {

jOptionPane1.showMessageDialog(this,"Confirm Password Not Entered","Invalid Value",0); return;

} else

(56)

pass2=jPasswordField2.getText(); type=jComboBox1.getSelectedItem().toString(); if(pass1.equals(pass2)) { try {

rs=s.executeQuery("Select count(*) from add_users where username='"+uname+"'"); rs.next();

cnt=rs.getInt(1); if(cnt==0) {

s.executeUpdate("insert into add_users values('"+uname+"','"+pass1+"','"+type+"')"); jOptionPane1.showMessageDialog(this,"New User Created", "User Added",1); this.setVisible(false);

} else {

jOptionPane1.showMessageDialog(this,"Username already exists", "Error",0); jTextField1.setText(""); jPasswordField1.setText(""); jPasswordField2.setText(""); } } catch(SQLException e) {

jOptionPane1.showMessageDialog(this,"Error :"+e, "Error",0); }

} else

jOptionPane1.showMessageDialog(this,"Password Mismatch\n Re-Enter Password", "Error",0);

(57)

jPasswordField1.setText(""); jPasswordField2.setText(""); }

public static void main(String args[]) {

java.awt.EventQueue.invokeLater(new Runnable() { public void run() {

new add_users().setVisible(true); }

}); }

Frame Name:

Edit User

Coding:

import java.sql.*;

public class Edit_Users extends javax.swing.JFrame { Connection conn; Statement s; ResultSet rs; public Edit_Users() { initComponents(); try { DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver()); conn=DriverManager.getConnection("jdbc:oracle:oci8:@xe","scott","tiger"); s=conn.createStatement(); loadaddusers(); } catch(SQLException e) {

References

Related documents

After the district court ruling in Jones’ case granting summary judgment to President Clinton and prior to oral argument of the appeal, the Eighth Circuit held

In order to obtain a well-behaved solution to the optimal execution problem with a sensible continuous-time limit, Huberman and Stanzl (2000) modify the price impact function

The success of the campaign was measured by comparing engagement metrics such as average time per interaction of 42 seconds for the Dockers campaign compared with an average of

The DPAP Chair will provide an annual written letter of review to each tenure-line faculty member based on his or her recommendation to the Dean, assessing research, teaching,

In order to assess the relationship between measured inequality and θ in the two- parameter equivalence scale form, the covariance between effective household

This chapter pre- sents the solutions and their application in predicting load displacement response, loading capacity of a pile in strain-softening soil, and safe cyclic

The reaction patterns car- ried out in the realm of surface energetics (entailing tendino- muscular meridian systems, trigger points, and Bi disorders) must be

Βραβείο Turing 2007 (αντίστοιχο του βραβείου Νόμπελ στην Πληροφορική) Θέμα: Κατανοώντας και αλλάζοντας τον κόσμο ΣΑΒΒΑΤΟ 6 ΜΑΙΟΥ 2017