Passport Management System

241
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

description

Passport Management System Project Report Using Java and Oracle

Transcript of Passport Management System

Dr. Hari Singh Gour Vishwavidyalaya, Sagar (M.P.)

A Project Report OnPassport 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

Dr. Hari Singh Gour Vishwavidyalaya Sagar, (M.P.)

(SESSION 2011)DEPARTMENT OF COMPUTER SCIENCE

CertificateThis 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.).Date : Authorised Signatory,

AcknowledgementThere 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 DangiParul Soni

DeclarationWe, 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 ( )Name & Signature Enrollment No

Table Of ContentsContentsPage No.

1. Certification

0. Acknowledgement

0. College Certificate

0. Declaration

0. Project Certificate

1. About Company Aptech Ltd., Mumbai

1. Company profile

1. Introduction

2. Project Definition

2. Objective Definition

2. Software And Hardware Requirement

1. Technology Introduction

3. Strategies For Making ICICI Banking System

3. Technology Description:

1. Java

1. Advantages of Using Java

1. JDBC

3. Framework

3. Features

3. About DBMS Oracle

1. Methodology

4. Software Development Life Cycle

4. Software Process Model

4. Entity Relation Diagram

4. Data Flow Diagram

1. Implementation

5. Coding

1. Testing Results

6. Testing

6. Software Testing Techniques Used

6. Screen Layout

6. Database

1. Conclusion & Future Scope

7. Conclusion

1. Bibliography

Introduction

Project Introduction - Pyramid- Crossword- Nirma-Radhey

The organized retail industry is growing at 25- 30 percentage and is expected to reach themark of 1, 00,000 crore INR by 2010 from the present figure of 35,000 crore INR approx. Withsuch a mouth watering figures the organized retailing has been attracting many players and evenpersuading the existing retailers to expand and experiment with newer formats. This can also besubstantiated by looking the estimation of the organized retail space to be around 72 million sqft. by the end of 2007. The present players and their retail formats details are presented below: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.

Project IntroductionSYNOPSISThe main aim of the project is to design innovative software,which deals with thepassport authority management. The motto of the projectis to simplify thejob of the administrative people andto render a user-friendlypackage.The system provides information regarding the passportapplication and its status (enquiry). The tedious jobssuch as verifying all therecords of the applicant, confirming that allthe personal details are furnished,submission of emigration check documents,passing of police enquiry, positivereport from the previous applied section, etc., aredone in the mostconvenientway to the administrator.Also security isbeing provided in themost proficient way. Allthe intermediate stages starting from receiving of theapplication form torevealing the passport number along with thedispatch of the passport arebeingdealt

SYSTEM DEFINITIONAt first, the applicant is given the application form. Theapplicantreturnstheapplicationdulyfilledupwithallthedetails. Afterreturning the application the administrator awards with a file number to thatapplicant. This file number plays the major role in the entire administrativeprocedure.Using the file number administrator enters all the details such aspersonalinformation,addressdetails,physicalparticularsandeducationalqualifications. If any one of these are found to be invalid then that particularsection is stopped for process and the confirmation is being stopped.Next section consists entirely of validating all the details likepolice 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 isdone and dispatched. Also an ability of theapplicant to enquire about the status of his application can be known throughthe enquiry section.

Hardware Requirements1. Processor : Intel Pentium III 800 Mhz. or above2. Hard Disc : A minimum of 10 MB Hard disc space3. RAM : 64 MB or above4. Keyboard : Standard5. Mouse : Standard6. Graphics : 14 or above Color Monitor

Software Requirement (For Developer)a. Windows XP or laterb. Java Development Kit 1.6.0c. Notepad or Any Other Text Editor.

Passport SevaVision

"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 e-Governance to improve the delivery of public services. The National e-Governance Plan (NeGP) includes many high impact 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 CitizensThe 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 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.

Technology Introduction

JavaJava 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 JAVAJava 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. 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.JDBCJava 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.FunctionalityJDBC 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 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.ExamplesThe 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", "myPassword" );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 exceptioninstead of this one that you may want just logged */ }}JDBC driversJDBC 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.TypesThere 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.

FrameworkTechnology in Banking SectorOver 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.InternetInternet 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.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 suppliers 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 dataThe 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 India is on the radar of Global Retailer Suppliers

About Database Management Systems OracleThe 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 AmpexPhysical and logical structuresAn Oracle database systemidentified by an alphanumeric system identifier or SID comprises at least one instance of the application, along with data storage. An instanceidentified 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.StorageThe 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 dictionaryand 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 filesDisk 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 filesAt 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. Control filesThe following parameters govern the size of the control files:* maxlogfile* maxlogmembers* maxloghistory* maxinstances* control_file_record_keep_timeDatabase SchemaOracle 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[update] 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 AreaEach Oracle instance uses a System Global Area or SGAa shared-memory areato 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: The redo log buffer: this stores redo entriesa 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 cacheThe 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 cacheThe 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 objectsThe 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.

Methodology

Systems Development Life Cycle

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.OverviewSystems 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.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".HistoryThe 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".Systems development phasesThe 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. Implementation: The real code is written here. 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:

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. 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 analysisThe 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.DesignIn 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.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.TestingThe 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 User acceptance testing Performance testingOperations and maintenanceThe 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 DesignThe 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 companys business objectives.

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 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.

Work Breakdown Structure.

Work breakdown structured organizationThe 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 work from the SDLC process that may be conducted by external resources such as contractors and struct.Baselines in the SDLCBaselines 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 SDLCComplementary 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 Object Oriented ProgrammingAn 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.

V-Model (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 PhasesRequirements analysisIn 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.The user requirements document will typically describe the systems 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 processingThere 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 DesignSystems 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.Architecture DesignThe 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 DesignThe 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.The unit test design is developed in this stage.Validation PhasesUnit TestingIn 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 TestingIn 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 TestingSystem 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 test1. 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 user. The testers validate whether the requirements are completely and appropriately met. 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 TestingAcceptance 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.Procedures1. Define the acceptance criteria: Functionality requirements. Performance requirements. Interface quality requirements. Overall software quality requirements.2. Develop an acceptance plan: Project description. User responsibilities. Acceptance description. Execute the acceptance test plan.Release TestingRelease 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?

Entity Relation DiagramData Flow DiagramShare transaction diagramObject class diagram

Implementation

Justification of study

CodingFrame Name:LoginCoding: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("");jPasswordField1.setText(""); } 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); } } public static void main(String args[]) { java.awt.EventQueue.invokeLater(new Runnable() { public void run() { new Login().setVisible(true); } }); }

Frame Name:Add UserCoding: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); } 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;}elseuname=jTextField1.getText();

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

if(jPasswordField2.getText().length()==0){jOptionPane1.showMessageDialog(this,"Confirm Password Not Entered","Invalid Value",0); return;}elsepass2=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); }} elsejOptionPane1.showMessageDialog(this,"Password Mismatch\n Re-Enter Password", "Error",0);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 UserCoding: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) { jOptionPane1.showMessageDialog(this,"Error :"+e, "Error",0); } } void loadaddusers() { try { int i=0; rs=s.executeQuery("select username from add_users"); while(rs.next()) jComboBox2.insertItemAt(rs.getString(1),i++); } catch(SQLException e) { jOptionPane1.showMessageDialog(this,"Error :"+e, "Error",0); } }private void jButton3ActionPerformed(java.awt.event.ActionEvent evt) { this.setVisible(false); } private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) { jPasswordField1.setText(""); } private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) { String uname,pass,type;uname=jComboBox2.getSelectedItem().toString();if(jPasswordField1.getText().length()==0){ jOptionPane1.showMessageDialog(this,"Password Not Entered","Invalid Value",0); return;}elsepass=jPasswordField1.getText();type=jComboBox1.getSelectedItem().toString();try {s.executeUpdate("update add_users set password='"+pass+"',type='"+type + "' where username='"+uname+"'"); jOptionPane1.showMessageDialog(this,"Password Updated","Updated",1); this.setVisible(false); }catch(SQLException e) { jOptionPane1.showMessageDialog(this,"Error :"+e, "Error",0); } }public static void main(String args[]) { java.awt.EventQueue.invokeLater(new Runnable() { public void run() { new Edit_Users().setVisible(true); } }); }

Frame Name:Product Coding:import java.sql.*;import java.util.*;public class add_Product extends javax.swing.JFrame {Statement s;Connection conn;ResultSet rs;int productno;public add_Product() { initComponents(); try { DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver()); conn=DriverManager.getConnection("jdbc:oracle:oci8:@xe","scott","tiger"); s=conn.createStatement(); loadproductno(); readdate(); } catch(SQLException e) { jOptionPane1.showMessageDialog(this,"Error :"+e, "Error",0); } } void readdate() {String months[]={"Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"}; String dt; Calendar c=Calendar.getInstance(); dt=c.get(Calendar.DATE)+"-"; dt+=months[c.get(Calendar.MONTH)]+"-"; dt+=c.get(Calendar.YEAR); jTextField3.setText(dt); } void loadproductno() { try { int cnt; rs=s.executeQuery("Select count(*) from product_master"); rs.next(); cnt=rs.getInt(1); if(cnt==0) productno=01; else { rs=s.executeQuery("Select max(product_no) from product_master"); rs.next(); cnt=rs.getInt(1); productno=cnt+1; } jLabel7.setText(""+productno); } catch(SQLException e) { jOptionPane1.showMessageDialog(this,"Error :"+e, "Error",0); } }private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) { String name,comp,ftrs,mfg,sql;int dprice,mrp;if(jTextField1.getText().length()==0){ jOptionPane1.showMessageDialog(this,"Name Not Entered","Invalid Value",0); return;}else name=jTextField1.getText();if(jTextField2.getText().length()==0){ jOptionPane1.showMessageDialog(this,"Company Name Not Entered","Invalid Value",0); return;}else comp=jTextField2.getText();if(jTextArea1.getText().length()==0){ jOptionPane1.showMessageDialog(this,"Fearures Not Entered","Invalid Value",0); return;}else ftrs=jTextArea1.getText();if(jTextField3.getText().length()==0){ jOptionPane1.showMessageDialog(this,"Manufacturing Date Not Entered","Invalid Value",0); return;}else mfg=jTextField3.getText();if(jTextField4.getText().length()==0){ jOptionPane1.showMessageDialog(this,"Dealer Price Not Entered","Invalid Value",0); return;}else { dprice=Integer.parseInt(jTextField4.getText()); if(dprice