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. 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. Objectives
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
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.
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.
Objectives
NIIT Project 1.3
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
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.
Case Study 1: Fast Learn
The Current System
1.4 Project NIIT
Storing the printed course materials is neither economical nor environment-friendly.
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.
The Envisioned System
NIIT Project 1.5
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.
1.6 Project NIIT
The following figure shows the ER diagram for the Fast Learn solution.
ER Diagram for Fast Learn
Student Course
Student ID
Enrolls
For
Name
Address Course
ID
Course
Name
Fee
Prerequisites
Is
Assigned
Study Center
Center ID
Name
Location
Teaches
Faculty Faculty
ID
Address
Name
Gives Feedback
Phone
Posts Query
Query ID
Query
Text
Date of
Query Text Date of
Response Text
Response
Text
Is
Resolved
By
Is
Assigned
ID
Feedback Text
Date of
Posting
Is Viewed
By Administrator
NIIT Project 1.7
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.
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 theater’s 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.
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.
Case Study 2: Rainbow Entertainment
The Current System
The Envisioned System
1.8 Project NIIT
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 user’s 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.
NIIT Project 1.9
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.
1.10 Project NIIT
The following figure shows the ER diagram for Rainbow Entertainment, Inc.
ER Diagram for Rainbow Entertainment
Show
Start time
End Time
Tickets
Booked
Date
Show ID
Runs
Hall
Has
Theater
Theater ID Name
Location
No. of
Halls
Hall ID
Hall
Capacity
Shows
Movie Movie ID
Movie
Name
Category Cast
Director
Duration
Is
For
Booking
No. of
Tickets
Amount
Payable
Makes
Customer Phone
No.
Address
Name
Customer
ID
NIIT Project 1.11
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 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.
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 customer’s 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
Case Study 3: Smart Accessories, Inc.
The Current System
The Envisioned System
1.12 Project NIIT
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.
NIIT Project 1.13
The following figure shows the ER diagram for Smart Accessories.
ER Diagram for Smart Accessories
Customer
Phone No.
Address
Name
Customer
ID
Orders Products
Product ID
Product
Name
Category
Quantity in
Stock
Total
Price
Discount
Rate
Product
Description
Owns
Shopping Cart
Shopping Cart Items
Shopping
Cart ID
Unit Price
Contains
Line No.
No. of
Units
Appear
As
Line Total
For
Items in Order
Date of Order
Order No. Total
Price
Contains
Order Line Items
Line No.
Line No.
No. of
Units
Line Total
Appear as
Places Is for
Payment
Payment ID
Credit
Card No.
Mode
Amount
Makes
1.14 Project NIIT
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 dealer’s 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.
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 SureVac’s
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.
Case Study 4: SureVac Technologies
The Current System
NIIT Project 1.15
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 company’s operations and product value chain, rather than a simple
call management system for internal use.
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.
The Envisioned System
1.16 Project NIIT
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 SureVac’s internal users. These users also help in resolution of
customer complaints via SureVac’s 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.
NIIT Project 1.17
The following figure shows the ER diagram for SureVac Technologies.
1.18 Project NIIT
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.
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 theater’s 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.
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.
Case Study 5: Sound & Stage Entertainment
The Current System
The Envisioned System
NIIT Project 1.19
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.
1.20 Project NIIT
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.
NIIT Project 1.21
Users will be provided with a seating plan for the theater they’ve 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.
1.22 Project NIIT
This book contains six case studies. One case study will be assigned to each student.
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.
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
Project Execution
Phases in Project Execution
Project Evaluation Guidelines
NIIT Project 1.23
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.
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)
Project Activities
Project Standards and Guidelines
1.24 Project NIIT
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.
You should ensure that the following tasks are completed within the specified time.
S. No. Task to be Performed Time Limit
1. Design the UI of the application to
make it user friendly.
4 hours
2. Create the design for the application. 4 hours
3. Integrate the front end with SQL
Server 2005 database.
1 hours
4. Test and debug the application. 2 hours
5. Document the project. 1 hours
Total 12 hours
Tasks to be Performed
Project Timelines
NIIT Project 1.25
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.
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.
Sample Case Study 6: WestSide Bank
The Current System
1.26 Project NIIT
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.
The Envisioned System
NIIT Project 1.27
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
1.28 Project NIIT
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.
NIIT Project 1.29
The following figure shows the ER diagram for WestSide Bank.
ER Diagram for WestSide Bank
Customer
Account
Customer
Customer Loan
Status
Holds Applies
For
Balance
Account
ID Cust
ID
Name
Address
User ID
Loan
Amount Duration
Status
Date of
Approval
Is Type
Of
Accounts
Account
code
Account
Name
Minimum
Balance
Interest
Rate
Makes
Request
Request
ID
Request
Details
Request
Type
Is Approved
Date of
Request
Rejection
Reason
Action
Taken
Date of
closure
Processes
Employee
Is Type
Of
Loan
Loan Code
Loan Name
Interest Rate
Down Payment
Performs
Transaction
Transaction
ID
Account ID
Transaction Type
Amount
Date of
Transaction
Balance
Source or Dest.
Account ID
1.30 Project NIIT
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.
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.
Guidelines for Executing the Solution
Solution to Case Study 6 – WestSide Bank
NIIT Project 1.31
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. Click the Add button to specify the database to be attached. The Locate Database
Files – <database instance name> dialog box is displayed.
5. 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.
6. Select the eBank.mdf file. The name of the selected file appears in the File name
text box.
7. Click the OK button to close the Locate Database Files – <database instance
name> dialog box.
8. Click the OK button to attach the database.
1.32 Project NIIT
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.
Executing the Solution
NIIT Project 1.33
Note
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.
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.
1.34 Project NIIT
Note
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.
Refer the Customers table from the database for the login details of different users.
NIIT Project 1.35
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.
1.36 Project NIIT
5. AddLoan.jsp: Enables an administrator to create a new type of loan.
6. EditLoan.jsp: Enables an administrator to edit an existing type of loan.
7. Search.jsp: Enables an administrator to enter the user name of a customer to view
its account information.
8. ManageUserAccounts.jsp: Enables an administrator to view the account(s) details
of a particular user.
9. EditUserAccount.jsp: Enables an administrator to activate or deactivate the
account of the user.
10. AddNewUser.jsp: Enables an administrator to create a new user for an existing
customer.
11. ManageUser.jsp: Enables an administrator to view the details of all the users of the
website.
12. EditUser.jsp: Enables an administrator to edit the details of the users of the
website.
13. NewsTicker.jsp: Enables an administrator to view the details of all the news tickers.
14. AddTicker.jsp: Enables an administrator to create a news ticker.
15. EditTicker.jsp: Enables an administrator to edit the existing news ticker.
16. DeleteTicker.jsp: Enables an administrator to delete an existing news ticker.
17. ChangePassword.jsp: Enables an administrator to change his/her password for
security reasons.
18. Default.jsp: Enables an administrator to view the home page.
19. 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.
NIIT Project 1.37
PROJECT ON
WESTSIDE BANK
Developed by
Name: John Spencer Reg. No.: 2703-41-224
Sample Project Documentation
1.38 Project NIIT
WestSide Bank
Batch Code : B020457
Start Date :12th
Sep 2007 End Date: 31st Sep 2007
Name of the Coordinator : Bill Tucker
Name of the Developer : John Spencer
Date of Submission : 2nd
Oct 2007
NIIT Project 1.39
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
1.40 Project NIIT
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.
NIIT Project 1.41
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.
1.42 Project NIIT
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.
NIIT Project 1.43
INDIVIDUAL PROJECT SCHEDULE
S.
No.
Activity Description Planned Date of
Completion
Actual
Date
Responsibility Remarks
1 Creating the Home page 12th Sep 2007 12th Sep
2007
John
2 Creating the Request
Loan page
16th Sep 2007 16th Sep
2007
John
3 Creating the Process
Loan page
20th Sep 2007 20th Sep
2007
John
4 Creating the Request
Cheque Book page
23rd Sep 2007 23rd Sep
2007
John
5 Creating the Process
Cheque Book Request
page
26th Sep 2007 26th Sep
2007
John
6 Creating UML diagrams 30th Sep 2007 30th Sep
2007
John
1.44 Project NIIT
SEQUENCE DIAGRAM FOR APPLYING FOR A LOAN
cust UI
1: PromptForAuthentication()
2: login()
Bank_DB
3: ValidateUser()
4: ValidateCredentials()
Validation Status
5: DisplayMenu()
6: ApplyForLoan()
7: GetLoanRates()
Loan Rates
8: EnterLoanDetails()
9: AcceptLoanDetails()
10: CalculateEMI()
11: AcceptLoanRequest()
12: StoreLoanRequest()
NIIT Project 1.45
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()
1.46 Project NIIT
SEQUENCE DIAGRAM FOR TRANSFERRING FUNDS
Cust UI Bank_DB
1: TransferFunds()
3: SelectSourceAccount()
5: AcceptTargetAccount()
Source Accounts
4: EnterTargetAccount()
7: EnterAmount()
2: GetSourceAccounts()
6: VerifyTargetAccount()
Verification Status
8: AcceptAmount()
9: CheckBalance()
Balance Amount
10: VerifyMinimumBalance()
11: UpdateBalances()
NIIT Project 1.47
ACTIVITY DIAGRAM FOR TRANSFERRING FUNDS
Login
Select the Transfer Funds option
Specify Source Account
Specify Target Account
Enter Amount
Click the Transfer Funds button
1.48 Project NIIT
ACTIVITY DIAGRAM FOR APPLYING FOR A LOAN
Login
Click link for Apply for Loan
Enter Loan Type
Enter Loan Amount
Enter Loan Duration
Click the Calculate EMI button
View EMI
[EMI OK =Yes]
[EMI OK=NO]
Click the Apply Loan button
NIIT Project 1.49
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
1.50 Project NIIT
USE CASE DIAGRAM FOR PROVIDING FUNCTIONALITIES
AVAILABLE TO A CUSTOMER
Customer
Apply for Loan
Login
«include»Transfer Funds
«include»
Request Cheque Book «include»
Account Summary
«include»
View Statement
«include»
Change Password
«include»
NIIT Project 1.51
USE CASE DIAGRAM FOR PROVIDING FUNCTIONALITIES
AVAILABLE TO AN EMPLOYEE
Employee
Process loan
request
Process cheque
request Login
Change password
«include»
«include»
«include»
1.52 Project NIIT
USE CASE DIAGRAM FOR PROVIDING FUNCTIONALITIES
AVAILABLE TO AN ADMINISTRATOR
Administrator
Create users
Manage users
Modify user
accounts
Modify account
information
Modify loan
information
Update ticker
Change password
Login
«include»
«include»
«include»
«include»
«include»
«include»
«include»
NIIT Project 1.53
PROJECT ON
Developed by
Name: Reg. No.:
Blank Project Documentation
1.54 Project NIIT
Project Title
Batch Code :
Start Date : End Date:
Name of the Coordinator :
Name of the Developer :
Date of Submission :
NIIT Project 1.55
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:
1.56 Project NIIT
ACKNOWLEDGEMENT
NIIT Project 1.57
SYSTEM ANALYSIS
System Summary:
1.58 Project NIIT
HARDWARE AND SOFTWARE REQUIREMENTS
Hardware:
Operating system:
Software:
NIIT Project 1.59
INDIVIDUAL PROJECT SCHEDULE
S.
No.
Activity Description Planned Date
of Completion
Actual Date Responsibility Remarks
1.60 Project NIIT
TECHNOLOGY DIAGRAM
NIIT Project 1.61
USE CASE DIAGRAM
This use case diagram represents the functional relationship among the
various entities in the system.
1.62 Project NIIT
E-R DIAGRAM
Database Name:
This E-R diagram represents the relationship among the various entities of
the database.
NIIT Project 1.63
SCHEMATIC DIAGRAM OF THE DATABASE
Database Name:
1.64 Project NIIT
LOGICAL FLOW DIAGRAM
This logical flow diagram represents the control flow of the Music Inc. online