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

Project

To create efficient websites in minimum time, developers should use the latest Internet technologies. This module will enable students to demonstrate the skills they have acquired in Java technology by providing a solution to the given scenarios.

Objectives
In this project, you will learn to: Design user-friendly interfaces. Establish database connectivity by using a Microsoft SQL Server 2005 database. Implement appropriate business logic in an application to provide the desired functionality.

Case Study 1: Fast Learn


Fast Learn, Inc. is a distance-learning institute that was founded by Samuel Rogers 10 years ago. Today, it is one of the leading distance-learning institutes in the United States with its head office in New York and branch offices across the world. The annual turnover of the institute is $3 million. Fast Learn is known for excellence in education. It attracts thousands of students from various countries. The institute imparts education in the following disciplines: Arts and Commerce Management Information Technology Foreign Languages

The Current System


Fast Learn is using the traditional methods of course delivery. Each student is assigned a study center where contact sessions are held on a weekly basis. The course material is provided on paper. Students must visit their study center to collect the study material. Student queries are answered on phone or during contact sessions. However, query resolution on phone is subject to the availability of the faculty. The number of students is very high; therefore, a huge number of phone calls are received for query resolution. Resolving the queries of so many students over phone is proving to be very difficult. The management has received many complaints from the students. Some of the problems are: Many times the faculty is not available for query resolution on the phone. Students need to visit the study centers to obtain information regarding fee and courses offered. Students need to visit the study centers to obtain the printed study material. With this model of course delivery, Fast Learn is losing out on its core objective of providing faster learning to the students. Moreover, the administrative staff at the study centers is also facing many problems. Some of these problems are: Handling technical queries over telephone results in the wastage of time because the faculties spend most of their time resolving similar queries for every student. Searching for students account information in the manually-maintained records is time-consuming.
NIIT Project 1.3

Storing the printed course materials is neither economical nor environment-friendly.

The Envisioned System


The management is in favor of developing and using an e-learning site. The features of the e-learning site will be: The site will store all data in a single centralized database. The database will contain the following information: Student details Faculty member details Student queries and their solutions Student feedback Course information The site will provide course contents to the students in electronic form. All information including course details, fee structure, and notices for students will also be displayed on the site. The website will be used by three different types of users: Students, Faculties, and Administrators. The website will provide a different interface for each type of user. Each user will be provided with a user name and password to log on to the site. Each user name will be mapped to one of three roles: Student, Faculty, or Administrator. When a user provides his/her user name and password to log on to the website, depending on the role of the user, the appropriate interface will be shown. If the user is not able to log on in five attempts, the user account of that user will be blocked automatically. The user will have to request the center officials for unblocking the user account manually. The interface for the students will provide the following features: View course information: This feature will enable a student to search for a course and view information about the courses offered by the institute. View course material: This feature will enable students to access course materials for the courses to which they have been enrolled. Post queries: This feature will enable students to send queries to their faculties and view the answers to their queries. Send feedback: This feature will enable students to provide their feedback on the services offered to them. Change password: This feature will enable students to change the password for their logon account.

1.4 Project

NIIT

The interface for the faculty will provide the following features: Answer queries: This feature will enable the faculties to view the queries of students and post answers for the same. Each faculty will be able to view the queries for only those subjects in which they specialize. View course material: This feature will enable the faculties to view the course material for the courses that they teach. Change password: This feature will enable the faculties to change the password for their logon accounts. The interface for the administrators will provide the following features: Course management: This feature will enable an administrator to add course information, such as course name, duration, prerequisites, and fee. Student management: This feature will enable an administrator to add, edit, and block student accounts. Faculty management: This feature will enable an administrator to add, edit, and block faculty accounts. View feedback: This feature will enable an administrator to view the feedback received from students. Search information: This feature will enable an administrator to search for all information related to students or faculties on the basis of their name, course, and study centre. Post Message: This feature will enable an administrator to display notices and messages on the website. Change password: This feature will enable an administrator to change the password for his/her logon account. In order to develop the e-learning site, you need to analyze both the existing and envisioned systems and then create the application accordingly. The new system can be designed by using 3-tier architecture, which consists of following tiers: Presentation tier: This layer consists of Web pages. The pages can be used for accepting the data and displaying the final results to the users. In addition, it can be used to view information according to the requirement of the users. Business logic layer tier: This layer contains the code for providing the logic to create the e-learning site. Data tier: This layer consists of the SQL Server 2005 database, which is used to store the relevant data related to the students, the faculties, and the course material. Create an application to demonstrate the skills you have acquired in Java technology by providing a solution to the given scenario.

NIIT

Project 1.5

The following figure shows the ER diagram for the Fast Learn solution.
Query Text Query ID Posts Query Date of Query Text

Date of Response Text

Name Address Student ID Course ID

Course Name Fee Prerequisites

Response Text

Student

Enrolls For

Is Resolved By Course

Phone Is Assigned Is Assigned Faculty ID Study Center Faculty Teaches Name

Address

Name Center ID Location ID

Feedback Text Date of Posting

Gives

Feedback

Is Viewed By

Administrator

ER Diagram for Fast Learn

1.6 Project

NIIT

Case Study 2: Rainbow Entertainment


Rainbow Entertainment, Inc. has recently launched five movie theaters in New York. Each of these theaters is a multiplex and shows two to five movies at a time. All the halls in each theater have different seating capacities and different show timings. The movie theaters have rapidly gained popularity with the local residents.

The Current System


Rainbow Entertainment manages five movie theaters. There is a booking counter at each theater where people can buy tickets for the current or upcoming shows. In addition, people can enquire about seat availability for a particular show over the phone. In the last board meeting, the director of Rainbow Entertainment, Roger Hanks, has pointed out the following problems in the existing system: People need to stand in long queues to buy their tickets. People need to visit the theater to book tickets for upcoming shows. Advance ticket booking is permitted only during the theaters working hours. People find phone lines busy most of the times whenever they want to enquire about seat availability for a particular show. As a result, they have to visit the theater personally to check the seat availability for a particular show. This requires them to stand in a long queue and spend a lot of time only to get information. People need to visit the theater or read the newspaper to know about the new releases. Roger Hanks has observed that the number of people visiting the theaters has rapidly increased. Although the theaters have a good seating capacity and the shows are running house full, many visitors are not able to get tickets for the current shows. This causes a lot of inconvenience to the visitors.

The Envisioned System


Based on key findings, a new system has been proposed. This system will enable people to check the availability of show tickets and book their tickets through the Internet. This e-commerce system will enable only registered users to book tickets for movies being shown in the next seven days. All booking transactions will be done by using credit cards. The customers will need to provide the credit card information online at the time of booking the tickets. They can collect their tickets from the booking counter just before the commencement of the show.

NIIT

Project 1.7

The system will use banners to display the current promotional schemes. For example, a banner can display a message that indicates a discount on bulk purchase of a particular class of tickets. The system will categorize the movies into action, thriller, comedy, or romance. The system will track the usage patterns of the registered users and display customized pages and banners according to their usage history. For example, users may have searched for a particular category of movies in particular theaters on their first visit. When these users log on again, the system will direct them to the Web page corresponding to the theater and category they searched on their previous visit. The system will ask for and store personal information of the registered users, such as their date of birth and e-mail address. Certain promotional schemes will be based on the personal information, such as offering a free ticket on the users birthday. The website will be used by three different types of users: Customers, Employees, and Administrators. The website will provide a different interface for each type of user. The website interface for the customers will enable them to: View details of the movies that are currently running in all the theaters. View details of the movies that will be running in the next seven days in the various theaters. Register with the website to become a member. Book tickets online after successfully logging on. Provide feedback and suggestions on the various services. Change their password. When a customer attempts to book ticket(s) for a particular show, the system will check the seat availability for that show. If the number of tickets requested by the customer exceeds the number of seats available, the user will be redirected to another page by displaying an appropriate message. In addition, this page will display the details of all the shows in which seats are available for that particular movie. If sufficient number of seats is available, a reference number will be generated for the customer. This reference number should be mentioned by the customer at the time of collecting the tickets at the counter just before the show. The website interface for the employees will enable them to: Enter the details of the tickets sold at the counters to update the booking status. Check the reference number given by the customer. If the reference number is valid, the tickets should be given to the customer. Change their password.

1.8 Project

NIIT

The website interface for the administrators will enable them to: Enter details of movies being shown in the various theaters. Enter details of the new movies that will be shown in these theaters. Update the banners to display the promotional schemes. View the feedback given by the customers. Change their password. The new system will use 3-tier architecture, which will consist of the following components: Presentation tier: This layer will consist of Web pages. The pages can be used for different purposes, such as entering and viewing the details of the various movies, booking tickets online, and providing and viewing feedback. Business logic tier: This layer will contain the code to create the Rainbow Entertainment System. Data tier: This layer will contain the SQL Server 2005 database, which is used to store the relevant data in the form of tables. Create an application to demonstrate the skills you have acquired in Java technology by providing a solution to the given scenario.

NIIT

Project 1.9

The following figure shows the ER diagram for Rainbow Entertainment, Inc.
Name Theater ID Location Date No. of Halls Theater Show ID Start time Customer ID End Time Has Runs Show Address Tickets Booked Phone No.

Name

Hall Capacity

Customer Hall

Hall ID

Shows Is For Makes

Movie ID

Movie

Duration No. of Tickets Director Booking

Movie Name Category Cast

Amount Payable

ER Diagram for Rainbow Entertainment

1.10 Project

NIIT

Case Study 3: Smart Accessories, Inc.


Smart Accessories, Inc., a trading company, has its head office in Boston and branch offices in London and Singapore. The primary business of Smart Accessories is to sell fashion accessories and ornaments. The organization buys and sells items such as leather handbags, belts, shoes, diamond and gold ornaments, and stones. Smart Accessories has identified various benefits of using the Internet to increase its sales. Therefore, it has decided to have an e-commerce solution to sell its complete range online.

The Current System


The details of all products offered by Smart Accessories are stored in an SQL server database. However, this database is accessible only to the administrators and the top executives of Smart Accessories. As a result, the customers are unaware of all the products being offered by Smart Accessories. This has adversely affected the promotion and sales of products.

The Envisioned System


Smart Accessories has decided to expand its business to sell its products all over the world. A new system has been proposed for Smart Accessories to create new routes to market its products, improve its interaction with customers, and streamline its cataloguing capability. The envisioned system will enable only registered users to place an order for purchasing the listed products. The items will be shipped to the customers address and an additional shipping charge will be added to the total cost. The new system will use banners to display the current promotional schemes. For example, a banner can promote new products and any schemes offered to the customers on buying an item. The core features of the new system are: A Web-enabled interface will enable the customers to view information related to the various products. A single centralized database will be created. It will contain the following information: Details of all the products and customers Details of the products present in the shopping cart of each customer Feedback given by customers on various services and product quality

NIIT

Project 1.11

The database will be accessed by three different types of users: customers, nonmembers, and administrator.

The functionalities of the various interfaces are: Nonmembers: This interface will enable the nonmember user to: View the details of all the products. Register with the website to become a member. Search for different types of products based on particular criteria. Customer: This interface will provide all the functionality available for nonmembers. In addition, it will enable members to: Check if an item is available. Add and remove the products from the shopping cart. Purchase products online by using multiple modes of payment. Customize the look and feel of the website. Provide feedback on the various services and product quality. Change their password. Administrator: This interface will enable the administrator to: Upload, edit, and view the details of all the products. Upload, edit, and view the promotional schemes to be displayed on the home page of the website. Upload, edit, and view the discount schemes available for the various products. View the feedback given by the customers. Change his/her password. The e-commerce system will track the usage patterns of the members and display customized pages according to the usage history. For example, users may have searched for a particular category of accessories on their first visit. When these users log on again, the system will direct them to the Web page corresponding to the category they searched during their previous visit. The new system will use 3-tier architecture, which consists of the following components: Presentation tier: This layer will consist of Web pages. The pages can be used for different purposes, such as accepting data and displaying the final results to the users. Business logic tier: This layer will contain the code to provide the logic. Data tier: This layer will contain the SQL Server 2005 database, which is used to store the relevant data related to the products and the customers. Create an application to demonstrate the skills you have acquired in Java technology by providing a solution to the given scenario.
1.12 Project NIIT

The following figure shows the ER diagram for Smart Accessories.


Product Name Category Product ID Customer ID Address Name Phone No. Payment ID Credit Card No. Mode

Discount Rate Unit Price Products Orders

Customer

Makes

Payment

Amount Quantity in Stock Product Description Owns Places Is for

Shopping Cart ID Shopping Cart Total Price For Items in

Date of Order

Order

Order No. Contains Line No. Appear As Shopping Cart Items No. of Units Line Total No. of Units Order Line Items Line No. Contains

Total Price

Line Total

Appear as

ER Diagram for Smart Accessories

NIIT

Project 1.13

Case Study 4: SureVac Technologies


SureVac Technologies was started 15 years ago by four college graduates. It manufactures vacuum cleaning systems. Today, SureVac is the leader in vacuum cleaning technology. It sells its products through a massive network of 30 company-owned stores and 200 franchisee outlets. SureVac offers more than 10 products for home users and industry users. It caters to both the segments directly or through its dealers distribution network. The 30 company-owned stores sell vacuum cleaning equipment directly to home and industry users while the 200 franchisees sell vacuum cleaning systems to home users only.

The Current System


SureVac has witnessed a major decline in business recently. SureVac recently conducted a market research to determine the cause for decline in sales. It was found that SureVacs business was suffering because of the following reasons: Numerous customer complaints were not handled. Another large number of complaints were handled after a considerable delay, leading to customer dissatisfaction. The products are not designed properly and there has been no innovation over the last few years. The quality of plastic used is not very good. SureVac organized a meeting at its headquarters. It was attended by a number of customer care executives, product engineers, franchisees, and the senior management. The discussions revealed that: Franchisees used to log customer complaints regularly but the customer care executives would rarely follow up. The customer care executives were not aware of the incoming calls and and how much time was spent on answering those calls. They also did not know the priority status of clients, and had difficulty understanding the franchisees problem. The customer care executives stated that the franchisees were unaware of the actual problem in most cases. In many cases, if the customer was capable of stating a problem accurately, the franchisees were unable to understand the problem. The engineers stated that they were rarely aware of what the customers wanted. A lowered quality of service (QoS) had led to people spreading negative word of mouth. In addition, lack of innovation had added to the steep decline in business.

1.14 Project

NIIT

It was agreed that poor customer support was contributing a great deal to the decline in business. Although the technical know-how was there but there was a lack of recording of customer activities and proactive follow up with customers, as well as colleagues. As a result, the management decided to devise a system that could handle customer queries and serve as a part of the companys operations and product value chain, rather than a simple call management system for internal use.

The Envisioned System


The management wants to use a computerized system that will take care of call management and provide information that can be used later to take strategic decisions. This system should be globally accessible and should be able to integrate with other systems in the organization. In addition, all the data stored in this system should be secured. The envisioned system will have the following features: The system will be Internet enabled. It will run as a website developed by using JSP. A central database will be created to store the following information: List of customers (grouped under two categories, industry and home) List of franchisees List of products List of contracts The central database will also capture all the information related to every customer call. However, no voice recording of the calls needs to be stored. The following information will be captured for every call: Details of the customer registering a complaint or asking a query. Details of the store or franchisee that received the call. If a customer registers a complaint through the website, the same should be reflected. Details of the nature of problem or query of the customer. This will include information such as the complete history of the call, nature of the problem, the solution provided, and the final status. The website will provide access to three types of users: Internal users: Internal users are employees and representatives of SureVac. These users are responsible for providing technical support and assistance for solving the customer complaints. The internal users can be assigned the following roles: Administrators: Administrators are responsible for managing the website and the relevant master data, such as the list of products, the list of customers, and the list of franchisees. They can assign rights to other users for access the website and viewing relevant data. Administrators are rarely required to work with call-related data except for diagnostic purposes.
NIIT Project 1.15

Users: Users are responsible for carrying out call-related activities such as registering new calls, changing the status and priority of existing calls, and interacting with the customers. External users: External users are employees and representatives of the franchisees. These users are primarily responsible for forwarding customer complaints to SureVacs internal users. These users also help in resolution of customer complaints via SureVacs technical staff. The external users can be assigned the following roles: Users: Users are responsible for carrying out call-related activities such as registering new calls and changing the status and priority of existing calls. These users can only view/modify call data that has been created by users of their own franchisee. They cannot view call data created by other franchisees or by SureVac employees. Customers: Customers are individuals or businesses who have bought SureVac products. Customers can register new complaints, view the status of calls already placed, and provide feedback. Customers do not have permissions to perform any other activities. All users will have a username and a password. The usernames of internal users will be their employee codes, and the usernames of external customers will be their franchisee names followed by their employee codes. The customers can choose their username. All users will have the option of retrieving the registered usernames and passwords by providing authenticated information such as their date of birth. Whenever a customer grievance is registered by any user of the system, an email notification is sent to the user to whom the case has been assigned to. Additionally, an email is sent to the customer in case he registered a case himself. A central knowledge base will be created to facilitate knowledge exchange within the SureVac. All the common problems and queries will be assigned a unique code and solutions will be posted against the code. This section will be accessible only to internal and external users.

You need to create such an application by using Java technology. Your application should provide a solution to the given scenario.

1.16 Project

NIIT

The following figure shows the ER diagram for SureVac Technologies.

NIIT

Project 1.17

Case Study 5: Sound & Stage Entertainment


Sound & Stage Entertainment was founded in 1995. It started as an event management company but later acquired land and developed 15 world class movie theaters across the United States. Each of these theaters is a multiplex that shows two to four movies at a time. The company generates considerable revenue from these theaters.

The Current System


Sound & Stage Entertainment manages 15 movie theaters. Each theater has a booking counter where people can buy tickets for the current and upcoming shows. In addition, people can enquire about seat availability for a particular show over the phone. In the last board meeting, the CEO of Sound & Stage Entertainment, Roger Hanks, pointed out the following problems in the existing system: People need to stand in long queues to buy their tickets. People need to visit the theater to book tickets for upcoming shows. Advance ticket booking is permitted only during the theaters working hours. People find phone lines busy most of the times whenever they want to enquire about seat availability for a particular show. As a result, they have to visit the theater personally to check the seat availability for a particular show. They need to stand in a long queue and spend a lot of time only to get information. People need to visit the theater or read the newspapers to know about the new releases. Roger Hanks has observed that the number of people visiting the theaters has rapidly increased. The theaters have a good seating capacity, and the shows are running house full. At the same time, many people are not able to get tickets for the current shows after spending a lot of time in the queue.

The Envisioned System


Sound & Stage Entertainment wants to set up and use an automated system to facilitate across-the-counter and online booking. The online option will enable users to book their tickets in advance, select preferred seats, and place an order for snacks. Each theater consists of four halls. Sound & Stage Entertainment wants to use the new system for all its 60 halls. In addition, the new system should be scalable.

1.18 Project

NIIT

In an attempt to unify all its systems, the company proposes to create and use the following components: A central repository that will store all information. An online website that can provide real-time information about the availability of seats and enable users to book movie tickets. This website will connect to the central repository to fetch and store all data. Users who book tickets online will be assigned a unique code. They need to provide this unique code at the theater in order to collect the tickets. This online system should provide a real-time view of the availability and status of tickets. A real-time Web-based interface that can be used for making bookings at the ticket counters. This Web interface will connect to the central repository to fetch and store data. This ticketing system should be able to generate tickets at a considerable rate to cope up with the heavy footfall at the theaters. The central repository will contain all master data, including the data captured during the ticket booking procedure. It should be able to generate seating plans dynamically for each hall. The technical team needs to consider the following facts: Each theater consists of four halls. Each hall has a different seating plan, which needs to be digitally stored in the repository such that: Each seat can be uniquely identified. The complete seating plan can be displayed to assist online users as well as point-of-sales (POS) officers to pick and choose seats during a ticket sale. Booking a seat should mark it as reserved, and it cannot be booked again unless the ticket is cancelled. Seats marked as red in the seating arrangement figure are deemed as booked.

NIIT

Project 1.19

The seats that have not been booked are shown in the grey color. The seats that fall at invalid locations (such as the aisles, or halls with curved seating arrangements) cannot be booked. The following figure shows a sample of the seating arrangement.

Each hall has multiple shows in a day, specified by a show start time and a show end time. There should be a list of snacks in the repository such that users and POS officers can select items when booking a ticket.

The ticketing counter application will be a Web-based interface to be used at the ticket counters at the 15 theaters. This system will be used only by POS officers. It will have the following features: The system will be Internet enabled. It will run as a website developed by using JSP. The POS officers will be able to see the status of each seat for a show and then book or cancel tickets. All POS officers will be given a username and a password. The POS officers should be able to print a ticket by entering the unique code provided by the customers who have booked tickets online. The POS officers will be given the option to log on, log off, and change their password Similar to the ticketing counter application, the online ticket purchase system will be connected to the central repository. The online system will have the following features: Users will be able to select their movie, preferred seats, and the show timing.

1.20 Project

NIIT

Users will be provided with a seating plan for the theater theyve chosen along with a suggested seating pattern based on the availability of seats. Users will be able to select an available seat by clicking the seat shown in the map. Users will be able to select snacks and specify the quantity. After selecting the seats and snacks, users will proceed to the checkout section to pay the total amount by using a credit card. After the payment transaction is complete, users will be provided with a unique code that they need to specify for collecting the tickets at the theater.

The ER diagram for the case is shown in the following figure.

NIIT

Project 1.21

Project Execution
This book contains six case studies. One case study will be assigned to each student.

Phases in Project Execution


The project will be carried out in the following phases: Planning: This phase involves the analysis of the various business and technical requirements according to the specifications given in the case study. Designing: This phase involves creating a design for the project by using UML diagrams. Development: This phase involves developing the project based on the specifications. Testing and debugging: This phase involves testing the project before submitting it to the coordinator. Documentation: In this phase, the project documentation should be submitted to the coordinator as per the formats given in sample documentation. The documentation needs to be submitted to the faculty before the project walkthrough. The blank report following the case studies is to be filled up, detached from the book, and submitted on the specified date.

Project Evaluation Guidelines


You need to plan the activities that will be performed in every session. You should mention the details and dates of the activity in the Individual Project Schedule format provided in the book. After every session, the instructor will validate each activity and approve it. The project will be evaluated on the following parameters: Quality: Refers to the following requirements: 30 Marks The solution maps to the requirements specified along with the case study. The code is optimized. The user interface is aesthetically pleasing and user friendly. Timeliness: Refers to timely implementation of the project. 15 Marks Quality of documentation: Refers to the following requirements: 25 Marks All formats should be completed. The design should be accurate. Query handling: Refers to the handling of queries during project walkthrough. 30 Marks

1.22 Project

NIIT

Project Standards and Guidelines


You should adhere to the following standards and guidelines when creating the project: The purpose of each component should be documented clearly before designing the final solution. Consistent and proper variable naming conventions should be followed across the project. The user interface of the application should be user friendly. All files should start with a description of the working of the file as a comment. File names should be meaningful and should be saved in the appropriate project directory. All variables and constants must be defined at the very beginning of the file/class/module according to the scope of these entities. All variable, function, and class names should be meaningful and should convey their use. For example, a variable to store the balance amount can be named as iBalanceAmount. The first letter of the variable names should be in small letters and should specify the data type of the variable. The rest of the name should imply the functionality of the variable. Comments should be placed before the definition of each class and function to explain the functionality of the class/function. Appropriate comments can be placed within the code where some complex logic/algorithm is being used. No unused variables or constants should be used in the code. No comment should remain in the code. The code should be properly indented to provide clarity. Table names in the database should be meaningful.

Project Activities
You will get 12 hours to complete the project. During project development, you need to work individually on any one of the allocated projects. The following list provides a suggested break-up of activities that you should perform in the project: Design the user interface of the application to make it user friendly. Create the design for the application by using the following UML diagrams: Use case diagrams Sequence diagrams (any three) Activity diagrams (any three)
NIIT Project 1.23

Integrate the data with the SQL Server 2005 database in the application. Implement business functionality of the system in the application. Submit the documentation to the faculty one day prior to the walkthrough.

Project Timelines
You should ensure that the following tasks are completed within the specified time.
S. No. 1. 2. 3. 4. 5. Task to be Performed Design the UI of the application to make it user friendly. Create the design for the application. Integrate the front end with SQL Server 2005 database. Test and debug the application. Document the project. Total Tasks to be Performed Time Limit 4 hours 4 hours 1 hours 2 hours 1 hours 12 hours

1.24 Project

NIIT

Sample Case Study 6: WestSide Bank


WestSide Bank was founded seventy years ago in New York by Norman Bates. Today, under the chairmanship of Scott Bates, WestSide Bank has spread its branches to London, Paris, Rome, and Mexico City. In addition to the volume of activities, the activities of the bank have increased because it now offers many diverse services.

The Current System


WestSide Bank provides two types of services to its customers, regular deposits and loans. The customers of WestSide Bank can open various types of accounts, such as savings accounts or current accounts. The bank also allows customers to take loans after fulfilling certain prerequisites. The customers can apply for two types of loans, housing loans or personal loans. The bank uses a computerized system to handle its day-to-day transactions. All customer, account, and transaction details are stored in a centralized database system. ATM services of the bank are available in all the cities where the bank has branches. The customers of the bank can deposit or withdraw money 24x7 at any of the ATMs. The profits of the bank have increased considerably because of the increasing customer base. However, customers have been reporting some problems related to the services provided by the bank. Some of these problems are: Customers find it difficult to access their accounts when they are travelling to a location where ATMs are not available. Customers have to follow a complex and time-consuming process in order to transfer funds from one account to another. Annie Thomas, head of the marketing department, performed extensive internal and external research and presented the following finding to the board of directors: The overheads of the bank are increasing because the bank has to employ a number of people to take care of the growing business. Most of the competitors of WestSide Bank have their own websites and are providing banking facilities on the Internet. Online banking is proving to be very successful because it provides easy accessibility and saves time. In addition, it provides an effective medium to obtain new customers. Online banking saves resources and reduces errors because it requires minimal staff.

NIIT

Project 1.25

The Envisioned System


The management is in favor of developing and using an online banking site for WestSide Bank. The new system will have the following features: The website will maintain its data in the already existing centralized database. The existing database contains a Customers table, which contains information about customers such as name, address, city, state, country, and telephone number. In addition, the existing database contains a Customer_Account table, which contains the details of all bank accounts that exist in the bank. Each entry in the Customer_Account table is linked to the entries in the Customers table by using the ID field, which is a primary key in the Customers table. The website will be secured to prevent unauthorized access. A news ticker will appear on the home page of the website to update customers about any new schemes or changes in existing schemes. a. The website will be used by three different types of users: Customers, Employees, and Administrators. The website will provide a different interface for each type of user. b. Each user will be provided with a user name and password to log on to the site. Each user name will be mapped to one of the three roles: Customer, Employee, or Administrator. When a user provides his/her user name and password to log on to the website, depending on the role of the user, the appropriate interface will be shown to the user. c. If the user is not able to log on in five attempts, the user account of that user will be blocked automatically. The user will have to request the bank to manually unblock the user account. The interface for the customers will provide the following features: Account summary: This feature will enable a customer to view the information related to all the accounts that he/she holds with the bank. The information displayed will include the account ID, account type, balance, and status of all the accounts that the customer holds with the bank. The status of an account can be either activated or deactivated. View statement: This feature will enable a customer to view the details of all transactions performed on any of his/her accounts held in the bank. To obtain this information, customers would be required to specify their account ID and the range of dates for which they want to view the transactions. Transfer funds: This feature will enable a customer to transfer money from any of his/her accounts to another account in WestSide Bank. Request for cheque book: This feature will enable a customer to request for a cheque book. It will also enable the customer to view the status of all previous requests for cheque books.
1.26 Project NIIT

Apply for loan: This feature will enable a customer to apply for a loan. Before applying for a loan, the customer will be able to calculate the EMI for the loan. The feature will also enable the customer to view the status of all previous loan requests. Change password: This feature will enable customers to change their password.

The interface for the employees will provide the following features: Process loan requests: This feature will enable the employees to view loan requests submitted by the customers. It will also enable an employee to either approve or reject a loan request. If the loan is rejected, the employee will be prompted to enter the reason for rejection. Process cheque book requests: This feature will enable the employees to view all requests for cheque books made by customers. It will also enable an employee to specify whether a cheque book has been dispatched or not. Change password: This feature will enable the employees to change their password. The interface for the administrators will provide the following features: Create users: This feature will enable the administrator to create new accounts for users and assign roles to them. For example, after creating a logon account for a customer, the administrator will need to assign the Customer role to that user. The user name and password will be sent to the customer through post. In addition to creating logon accounts for customers, this feature will enable an administrator to create logon accounts for employees and other administrators. Manage users: This feature will enable an administrator to manage users by performing tasks such as assigning roles to users and modifying user information. The administrator will be able to modify information such as address and phone number of the user. In addition, the administrator will be able to activate or deactivate a user logon account. Modify user accounts: This feature will enable the administrator to search for a user name and assign a unique Customer ID to the user name. This Customer ID will be obtained from the database that is maintained by the existing computerized system of the bank. In the existing database, each Customer ID is assigned one or more bank accounts. When a Customer ID is assigned a user name, a person who logs on with this user name will be able to access all bank accounts for that Customer ID. Modify account information: This feature will enable the administrator to modify information such as minimum balance and interest rate for a specific type of account. It will also enable the administrator to add new types of accounts. Modify loan information: This feature will enable the administrator to modify information such as down payment and interest rate for a specific type of loan. It will also enable the administrator to add new types of loans. Update ticker: This feature will enable the administrator to create a news item that will be displayed in the news ticker on the home page. The administrator will also be able to edit the news item and change the status of that news item. The status of a
NIIT Project 1.27

news item can be activated or deactivated. Only activated items will appear in the news ticker. In addition, this feature will enable the administrator to delete a particular ticker. Change password: This feature will enable the administrators to change their password.

The new system will be designed by using 3-tier architecture, which consists of the following tiers: Presentation tier: This layer consists of Web pages. The pages can be used for accepting data and displaying the final results to the users. In addition, they can be used to view data such as statements and account summary. Business logic layer tier: This layer contains the code to create the WestSide Bank system. Data tier: This layer consists of the SQL Server 2005 database, which is used to store the relevant data. Create an application to demonstrate the skills you have acquired in Java technology by providing a solution to the given scenario.

1.28 Project

NIIT

The following figure shows the ER diagram for WestSide Bank.


Balance Name Status Account ID Cust ID User ID Address

Customer Account

Holds

Customer

Applies For Loan Amount

Duration

Is Type Of

Makes Request ID Action Taken Request Request Details Request Type Rejection Reason Is Approved

Customer Loan

Status

Date of Approval

Accounts

Is Type Of Loan Code

Account Name

Interest Rate Date of Request Processes

Date of closure

Loan

Loan Name Interest Rate Down Payment

Account code

Minimum Balance

Performs Employee

Transaction ID Account ID Transaction

Balance

Source or Dest. Account ID

Transaction Type Amount

Date of Transaction

ER Diagram for WestSide Bank

NIIT

Project 1.29

Solution to Case Study 6 WestSide Bank


Ask your faculty to provide you the solution files and the database for this case study. You will be provided with the following files: 1. eBankJSP_DB.zip 2. sqljdbc_1.0.809.102_enu.exe 3. JSPProject.zip Copy these files on your machine at the desired location.

Guidelines for Executing the Solution


The .mdf and .ldf files for project solution are provided to you in the eBankJSP_DB.zip file. Ensure that the database is attached to the SQL server. If it is not attached, then you need to attach these databases by using SQL Server Management Studio. To attach the database by using the SQL Server Management Studio, you need to perform the following steps: 1. Unzip the eBankJSP_DB.zip file at the desired location. The eBankJSP_DB folder will be created. 2. Connect to the instance of the SQL Server, in which you need to attach a database, in the Microsoft SQL Server Management Studio window.

1.30 Project

NIIT

3.

Right-click the Databases node and select the Attach option from the pop-up menu. The Attach Databases window appears, as shown in the following figure.

The Attach Databases window

4. 5. 6. 7. 8.

Click the Add button to specify the database to be attached. The Locate Database Files <database instance name> dialog box is displayed. Ensure that the folder containing the .mdf file of the database that you need to attach is expanded in the Locate Database Files <database instance name> dialog box. Select the eBank.mdf file. The name of the selected file appears in the File name text box. Click the OK button to close the Locate Database Files <database instance name> dialog box. Click the OK button to attach the database.

NIIT

Project 1.31

Executing the Solution


Before executing the project, you need to implement certain settings to load the SQL JDBC driver. To load the SQL JDBC driver, you need to perform the following steps: 1. Unzip the sqljdbc_1.0.809.102_enu.exe file in the C:\Program Files folder. The sqljdbc_1.0 folder will be created in the C:\Program Files folder. 2. Select StartControl Panel. The Control Panel window appears. 3. Double-click the System icon in the Control Panel window. The System Properties window appears. 4. Click the Advanced tab. 5. Click the Environment Variables button. The Environment Variables window appears. 6. Select the CLASSPATH variable under the System variables section. 7. Click the Edit button. The Edit System Variable dialog box appears. 8. Edit the value of the existing CLASSPATH variable by appending the C:\Program Files\sqljdbc_1.0\enu\sqljdbc path in the Variable value text box. 9. Click the OK button. The Environment Variables window appears. 10. Click the OK button. The System Properties window appears. 11. Click the OK button. To execute the project solution, you need to perform the following steps: 1. Unzip the JSPProject.zip file at the desired location. The JSPProject folder will be created. 2. Select StartAll ProgramsNetBeans 5.5.1NetBeans IDE. The NetBeans IDE window appears. 3. Select FileOpen Project. The Open Project dialog box appears. 4. Locate the JSPProject folder from the Look in drop-down list box. 5. Select the eBank project. 6. Click the Open Project Folder button. The eBank node appears in the Project window. 7. Expand the eBank node in the Project window. 8. Expand the Web Pages node. 9. Double-click the conn.jsp file. The code for the conn.jsp file appears in the code window. 10. Locate the getConnection method in the conn.jsp file. Replace the server name with the name of SQL server on your machine. 11. Ensure that the port number mentioned in the connection string is the default port number of the SQL server.
1.32 Project NIIT

Note
To check the default port number for SQL Server 2005, you need to perform the following steps: 1. Select StartAll ProgramsMicrosoft SQL Server 2005Configuration ToolsSQL Server Configuration Manager. The SQL Server Configuration Manager window appears. 2. Expand the SQL Native Client Configuration node in the leftmost pane and select Client Protocols.

3.

Right-click TCP/IP in the rightmost pane and select Properties. The TCP/IP Properties window appears. Note down the default port number and mention this port number in the getConnection method present in the conn.jsp file of your Java application.

12. Replace the user name and password in the connection string with the user name and password of the SQL server on your machine. 13. Locate the Libraries node in the Project window. 14. Right-click Libraries and select Add JAR/Folder. The Add JAR/Folder window appears. 15. Browse to the C:\Program Files\sqljdbc_1.0\enu folder from the Look in drop-down list box. 16. Select the sqljdbc.jar file and click the Open button. The sqljdbc.jar file gets added to the project.

Note
Every time you build the Java project, all the files required to run the project are copied in a temporary folder. When the build operation is implemented multiple times, multiple versions of the projects get saved in a temporary folder. This consumes a lot of memory space. This problem can be solved by removing all the previous versions of the project before building the project. To remove the previous versions of the project, right-click the eBank node in the Projects window and select Clean Projects. This process removes all the previous versions of the project.

NIIT

Project 1.33

17. Run the project. The home page will be displayed, as shown in the following figure.

Home Page for the WestSide Bank

The website will be used by three different types of users: Customers, Employees, and Administrators. The website will provide a different interface for each type of user.

Note
Refer the Customers table from the database for the login details of different users.

1.34 Project

NIIT

The Web forms accessible to the employees are: 1. Loan_Process.jsp: Enables an employee to view the details of loan requests placed by the customers 2. EditLoanRequest.jsp: Enables an employee to approve or disapprove loan requests placed by the customers. 3. ViewRequests.jsp: Enables an employee to view all the cheque book requests placed by the customers. 4. EditRequest.jsp: Enables an employee to process the cheque book requests placed by the customers. 5. ChangePasswordEmp.jsp: Enables an employee to change his/her password for security reasons. 6. Default.jsp: Enables an employee to view the home page. 7. MenuUser.jsp: Enables an employee to view various options for performing different transactions online. This page is merged with all the pages accessible to an employee. The Web forms accessible to the customers are: 1. Account_Summary.jsp: Enables a customer to view the details of various types of accounts that he/she holds with the bank. 2. Apply_Loan.jsp: Enables a customer to apply for a loan. 3. Request_Cheque_Book.jsp: Enables a customer to place a request for a cheque book. 4. Transfer_Funds.jsp: Enables a customer to transfer funds from his/her account to another account. 5. Statement.jsp: Enables a customer to view the statement of his/her account ID(s). 6. ChangePasswordUser.jsp: Enables a customer to change his/her password for security reasons. 7. Default.jsp: Enables a customer to view the home page. 8. MenuUser.jsp: Enables a customer to view various options for performing different transactions online. This page is merged with all the pages accessible to the customer. The Web forms accessible to the administrators are: 1. ManageAccounts.jsp: Enables an administrator to view the details of all types of accounts. 2. AddAccount.jsp: Enables an administrator to create a new type of account. 3. EditAccount.jsp: Enables an administrator to edit an existing type of account. 4. ModifyLoan_Rates.jsp: Enables an administrator to view the details of all types of loans.
NIIT Project 1.35

5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19.

AddLoan.jsp:

Enables an administrator to create a new type of loan. EditLoan.jsp: Enables an administrator to edit an existing type of loan. Search.jsp: Enables an administrator to enter the user name of a customer to view its account information. ManageUserAccounts.jsp: Enables an administrator to view the account(s) details of a particular user. EditUserAccount.jsp: Enables an administrator to activate or deactivate the account of the user. AddNewUser.jsp: Enables an administrator to create a new user for an existing customer. ManageUser.jsp: Enables an administrator to view the details of all the users of the website. EditUser.jsp: Enables an administrator to edit the details of the users of the website. NewsTicker.jsp: Enables an administrator to view the details of all the news tickers. AddTicker.jsp: Enables an administrator to create a news ticker. EditTicker.jsp: Enables an administrator to edit the existing news ticker. DeleteTicker.jsp: Enables an administrator to delete an existing news ticker. ChangePassword.jsp: Enables an administrator to change his/her password for security reasons. Default.jsp: Enables an administrator to view the home page. MenuAdmin.jsp: Enables an administrator to view various options for performing different transactions online. This page is merged with all the pages accessible to the administrator.

1.36 Project

NIIT

Sample Project Documentation


PROJECT ON WESTSIDE BANK Developed by

Name: John Spencer

Reg. No.: 2703-41-224

NIIT

Project 1.37

WestSide Bank
Batch Code Start Date Name of the Coordinator Name of the Developer : B020457 :12th Sep 2007 : Bill Tucker : John Spencer End Date: 31st Sep 2007

Date of Submission : 2nd Oct 2007

1.38 Project

NIIT

CERTIFICATE
This is to certify that this report, titled WestSide Bank, embodies the original work done by John Spencer in partial fulfillment of his course requirement at NIIT.

Coordinator: Bill Tucker

NIIT

Project 1.39

ACKNOWLEDGEMENT

I have benefited a lot from the feedback and suggestions given to me by Mr. Bill Tucker and other faculty members, and the machine room coordinator.

1.40 Project

NIIT

SYSTEM ANALYSIS
System Summary: The WestSide Bank project involves creating a Web application that will enable its customers to:

View the details of all accounts that they hold with WestSide Bank. View the account statement for all accounts that they hold with WestSide Bank. Apply for loans online. View the status of loan requests. Request for cheque books for any of their accounts. View the status of cheque book requests. Transfer funds from any of their accounts to another account in WestSide Bank.

The Web application will be used by the bank employees to process the requests for loans and cheque books. In addition, the bank application will be used by the administrator to:

Create user IDs for customers, employees, and administrators and assign them their respective roles. Link user IDs created for customers to the respective customer IDs. Upload, edit, and delete news items that will appear on the home page. Upload, edit, and modify the information related to the various types of loans. Upload, edit, and modify the information related to the various types of accounts.

Each type of user should also be able to change and retrieve their password, if required. WestSide bank already has a computerized system in place. It maintains the details of all the customers and accounts. The proposed Web application will use the existing database to obtain the details of customers and accounts. Some additional tables may have to be created in the database to accommodate the specific requirements of the Web application.

NIIT

Project 1.41

HARDWARE AND SOFTWARE REQUIREMENTS

Hardware: A node with PIII processor (800 MHz or higher), an SCSI Hard disk of 20GB, 512MB RAM, a CDROM, and one 1-10/100 Mbps network card. Operating system: Windows XP Professional with SP2. Software: JDK 5.0 with NetBeans 5.5.1, SQL Server 2005 Standard Edition, Sun Java Application Server Update 9, and Microsoft SQL Server 2005 JDBC Driver.

1.42 Project

NIIT

INDIVIDUAL PROJECT SCHEDULE


S. No. 1 2 3 4 5 Activity Description Creating the Home page Creating the Request Loan page Creating the Process Loan page Creating the Request Cheque Book page Creating the Process Cheque Book Request page Creating UML diagrams Planned Date of Completion 12th Sep 2007 16th Sep 2007 20th Sep 2007 23rd Sep 2007 26th Sep 2007 Actual Date 12th Sep 2007 16th Sep 2007 20th Sep 2007 23rd Sep 2007 26th Sep 2007 30th Sep 2007 Responsibility John John John John John Remarks

30th Sep 2007

John

NIIT

Project 1.43

SEQUENCE DIAGRAM FOR APPLYING FOR A LOAN

cust

UI

Bank_DB

1: PromptForAuthentication() 2: login() 3: ValidateUser() 4: ValidateCredentials() Validation Status

5: DisplayMenu() 6: ApplyForLoan() 7: GetLoanRates() Loan Rates 8: EnterLoanDetails() 9: AcceptLoanDetails() 10: CalculateEMI() 11: AcceptLoanRequest() 12: StoreLoanRequest()

1.44 Project

NIIT

SEQUENCE DIAGRAM FOR PROCESSING A LOAN REQUEST

Emp

UI

Bank_DB

1: PromptForAuthentication() 2: login() 3: ValidateUser()

4: ValidateCredentials()

Validation Status

5: DisplayMenu() 6: ProcessLoan() 7: GetLoanApplications()

Loan Applications 8: SelectLoanApplication()

9: DisplayApplicationDetails()

10: ProcessLoanRequest()

11: AcceptLoanDecision() 12: StoreLoanDecision()

NIIT

Project 1.45

SEQUENCE DIAGRAM FOR TRANSFERRING FUNDS

Cust

UI

Bank_DB

1: TransferFunds() 2: GetSourceAccounts() Source Accounts 3: SelectSourceAccount() 4: EnterTargetAccount() 5: AcceptTargetAccount() 6: VerifyTargetAccount() Verification Status 7: EnterAmount() 8: AcceptAmount() 9: CheckBalance() Balance Amount

10: VerifyMinimumBalance() 11: UpdateBalances()

1.46 Project

NIIT

ACTIVITY DIAGRAM FOR TRANSFERRING FUNDS

Login

Select the Transfer Funds option

Specify Source Account

Specify Target Account

Enter Amount

Click the Transfer Funds button

NIIT

Project 1.47

ACTIVITY DIAGRAM FOR APPLYING FOR A LOAN

Login

Click link for Apply for Loan

Enter Loan Type

Enter Loan Amount

Enter Loan Duration

[EMI OK=NO]

Click the Calculate EMI button

View EMI

[EMI OK =Yes]

Click the Apply Loan button

1.48 Project

NIIT

ACTIVITY DIAGRAM FOR OBTAINING THE ACCOUNT SUMMARY

Login

Select the Account Summary option

Select an account

Specify start date

Specify end date

Click the Generate Statement button

NIIT

Project 1.49

USE CASE DIAGRAM FOR PROVIDING FUNCTIONALITIES AVAILABLE TO A CUSTOMER

Apply for Loan

Transfer Funds

include include

Request Cheque Book

include Login include

Account Summary

include include

Customer View Statement

Change Password

1.50 Project

NIIT

USE CASE DIAGRAM FOR PROVIDING FUNCTIONALITIES AVAILABLE TO AN EMPLOYEE

Process loan request include

Process cheque request

include Login include

Employee

Change password

NIIT

Project 1.51

USE CASE DIAGRAM FOR PROVIDING FUNCTIONALITIES AVAILABLE TO AN ADMINISTRATOR

Create users

Manage users

include include

Modify user accounts

include

include Modify account information include Administrator Modify loan information include include

Login

Update ticker

Change password

1.52 Project

NIIT

Blank Project Documentation


PROJECT ON Developed by

Name:

Reg. No.:

NIIT

Project 1.53

Project Title

Batch Code Start Date Name of the Coordinator Name of the Developer

: : : : End Date:

Date of Submission :

1.54 Project

NIIT

CERTIFICATE
This is to certify that this report, titled , represents the original work done by _________ in partial fulfillment of his/her course requirement at NIIT.

Coordinator:

NIIT

Project 1.55

ACKNOWLEDGEMENT

1.56 Project

NIIT

SYSTEM ANALYSIS
System Summary:

NIIT

Project 1.57

HARDWARE AND SOFTWARE REQUIREMENTS


Hardware:

Operating system: Software:

1.58 Project

NIIT

INDIVIDUAL PROJECT SCHEDULE


S. No. Activity Description Planned Date of Completion Actual Date Responsibility Remarks

NIIT

Project 1.59

TECHNOLOGY DIAGRAM

1.60 Project

NIIT

USE CASE DIAGRAM


This use case diagram represents the functional relationship among the various entities in the system.

NIIT

Project 1.61

E-R DIAGRAM
Database Name: This E-R diagram represents the relationship among the various entities of the database.

1.62 Project

NIIT

SCHEMATIC DIAGRAM OF THE DATABASE


Database Name:

NIIT

Project 1.63

LOGICAL FLOW DIAGRAM


This logical flow diagram represents the control flow of the Music Inc. online application.

1.64 Project

NIIT

CONFIGURATION

Hardware:

Operating system:

Software:

NIIT

Project 1.65

PROJECT FILE DETAILS


S. No. File Name Remarks

1.66 Project

NIIT

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