05_j2ee2_pr_sg_01
TRANSCRIPT
Project
This project will enable you to apply the skills that you have
acquired in Java EE technologies and provide a solution to
the given scenario.
In this project, you will learn to:
Design user-friendly interfaces
Establish database connectivity
Implement appropriate business logic in an
application to provide a specific functionality
Objectives
NIIT Project 1.3
Earnest Bank was established seventy years ago in New York by Norman Bates. Today,
under the chairmanship of Scott Bates, Earnest Bank has spread across the world and has
its regional headquarters at London, Paris, Istanbul, Cairo, Kuala Lumpur, New Delhi,
and Singapore. The activities have also increased in terms of the services offered and the
volume of transaction.
Earnest Bank provides three types of services: regular deposits, loans, and credit.
Customers can open various types of accounts, such as current account, savings account,
and credit account, with the bank. Any person can avail the loan facility by registering
with the bank and fulfilling certain prerequisites. A loan can be a personal loan, a car loan,
a housing loan, or a business loan. The bank also offers credit cards.
Earnest Bank also has ATM centers in all the cities where it has branches. The ATM
facility is a useful addition to the bank’s services. Customers can deposit or withdraw
money at any of the ATM centers 24 hours a day.
In the last board meeting, it was observed that the profits of the bank had increased
manifold over the previous financial year due to an increase in the number of customers.
The management has now started facing some problems regarding the quality of the
services being provided to the customers. Some of the problems are:
Customers find it difficult to access their accounts when they are travelling.
Transfer of accounts from one place to another poses a problem for the
administrators.
The sales team is finding it difficult to cater to the large number of people who want
to open accounts or take loans.
Overheads are increasing because Earnest Bank has to employ a number of people to
cater to its increasing business.
The head of the marketing department, Sandra Drew, had done an extensive research on
current trends in the banking market. She made the following remarks in the board
meeting:
Most of the competitors of Earnest Bank have their own websites.
Online banking is proving to be very successful.
Most people prefer online banking because it saves time.
Case Study 1: Earnest Bank Ltd
Background
Existing System
1.4 Project NIIT
The Internet is an effective medium to reach out to new customers.
Online banking saves resources because automation of services reduces the team size
and the number of errors.
Scott decides that Earnest Bank should set up its website. He asks Karl Hoover of
Business Software Solutions (KHBSS) to build an online banking website for Earnest
Bank. Betty Charmers, a software programmer, analyzes the requirements and decides to
build a website that will provide the following features to its customers.
1. The customers will be able to enquire about the various types of accounts that can be
opened with the bank. This includes information such as the minimum amount
required to open a particular type of account and the rate of interest being offered by
the bank for each account type.
2. The customers will be able to enquire about the various types of loan facilities
provided by the bank, such as home loans, car loans, education loans, and personal
loans.
3. The customers will be able to fill the loan requirements form online without visiting
the bank.
4. The customers will be be able to check the balance in their accounts and view the
details of all their transactions online without visiting the bank.
In order to provide these features, KHBSS needs to perform the following tasks:
1. Create a logon page to check the credentials of the customers before granting rights
to access their account information.
2. Create a page in the loans section where the customers will be able to view the status
of their loan application. Another page will display the rate of interest for all types of
loans in various currencies for international customers.
3. Create a user registration page to register the new users. This information will be
used by the bank for the various sales promotional offers.
4. Create a central database named OnlineBankSystem and store all the information
related to the customers in that database. The bank account information will include
the account type, the minimum balance amount, and the rate of interest. The loan
information will include the loan type, the rate of interest, and the minimum down
payment. The registered customer information will include the user name, the
password, the address, the bank account number, the e-mail ID, and the contact
number. The banking transaction information will include the bank account number,
the customer name, the account type, the banking transaction amount, and the
transaction date.
Envisioned System
NIIT Project 1.5
To implement all these features, the system needs to have the following modules:
Logon module: To check the credentials of the registered bank customers
Registration module: To register a new bank customer
In addition, user interfaces need to be created wherever required. The website will provide
the database search functionality.
1.6 Project NIIT
FlyMyWay Airlines started its operations in January 1996 with an Airbus 330 aircraft
flying between the United States, Canada, and the United Kingdom. Since then, a total
commitment to quality in terms of customer satisfaction has enabled FlyMyWay Airlines
to earn record profit and expand its business.
At present, FlyMyWay Airlines uses two Boeing 747-400 and two Airbus 330 aircrafts. It
offers 10 flights per week in 5 cities. However, it operates only one flight to a particular
location on any given day. At present, FlyMyWay Airlines operates return flights as well
as one-way flights.
FlyMyAirlines has ticket reservation offices in New York, Los Angeles, Ottawa, and
London. The reservation offices serve as the liaison between the company and its
customers and are responsible for maximizing customer satisfaction by promptly booking
tickets and resolving customer queries.
Executives at the ticket reservation offices handle the queries received from the
customers. A customer can enquire about flight details either through phone or by
personally visiting the reservation office. When a customer calls a reservation office, he or
she is asked to provide information such as origin city, destination city, and the journey
date. The executive accesses the centrally located Excel worksheet and provides the
information to the customer. The structure of the flight information worksheet is shown in
the following table.
Reservation Detail Worksheet: Description:
Ticket
Number
Flight
Number
Journey
Date
Origin Destination Seat
Number
Ticket
Price
XXX XXX XXXXX XXXX ### ### ###
To make a flight reservation, a customer is required to visit a ticket reservation office.
Ticket reservations cannot be made through phone. Ticket reservation executives maintain
the details of reserved tickets in an Excel sheet. This worksheet contains details of every
flight ticket purchased, such as the flight number, the origin city, the destination city, the
ticket number, the customer name, and the ticket price. Payments for reserved tickets can
be made only by cash.
Case Study 2: FlyMyWay Airlines
Background
Existing System
NIIT Project 1.7
The structure of the ticket worksheet is shown in the following table.
Reservation Detail Worksheet: Description:
Ticket
Number
Flight
Number
Journey
Date
Origin Destination Seat
Number
Ticket
Price
XXX XXX XXXXX XXXX ### ### ###
A lot of time is required to access Excel sheets in order to make a flight enquiry or to
book a flight. Unnecessary time is wasted in maintaining the different Excel worksheets.
The actual time taken in query resolution is 1/10th of the total time taken to provide the
solution to the customer.
The senior management of FlyMyWayAirlines wants to provide fast and efficient service
to its customers. For this purpose, the management has decided to create an Online Flight
Reservation System (OFRS). Using OFRS, customers can make flight reservations online
and pay by using credit cards. The company executives can store flight details in a central
database and use it to quickly respond to customer queries.
In addition, the management wants to provide customized travel packages to its
customers. The package will include flight tickets and hotel bookings. Before purchasing
a customized travel package, a customer can choose from a list of hotels where he or she
wants to stay. To provide hotel information, FlyMyWayAirlines has tied up with leading
hotels.
To provide all the envisioned functionalities, the OFRS should have the following
features:
1. The system will use a mechanism to enquire about the flight plans and book the flight
tickets.
2. To book a flight ticket or a travel package online, a customer needs to register with
the OFRS. The system will provide a registration mechanism to register new
customers.
3. To book tickets, a registered customer needs to provide authentication information.
The system will provide a logon mechanism to authenticate the logon credentials of a
customer.
4. The system will maintain the details of flight information, ticket reservation,
registered customer information, and payment information in a central database
named FlyMyWaySystem. The details of flight information to be stored will include
the flight number, the flight time, the origin city, the destination city, and the seat
availability status. The details of the flight reservation status to be stored will include
the ticket number, the flight number, the journey date, the seat number, the customer
Envisioned System
1.8 Project NIIT
name, the customer address, and the destination city. The details of the registered
customer information to be stored will include the user name, the password, the
customer address, the e-mail ID, and the contact number. The details of payment
information to be stored will include the bill number, the flight ticket number, the
ticket price, and the credit card number.
5. The system will provide a mechanism to provide information of hotels located in the
destination city.
6. Online customers can make payments through credit cards. Details of credit card
information will be verified before confirming a reservation.
7. The system will have a mechanism to allow the OFRS administrator to update the
flight information and booking details.
To implement all the features, the OFRS system should have the following modules:
Logon module: To check the credentials of the registered customers
Registration module: To register a new customer
Payment module: To manage ticket payments
In addition, user interfaces need to be created wherever required. The website will provide
the database search functionality.
NIIT Project 1.9
ABC Corp. has been conducting auctions for the last 10 years. The company is known for
conducting transparent and secure auctions of a wide variety of products, such as
automobiles, electronic goods, jewellery, furnishings, and handicrafts. ABC Corp. has
offices in different cities in the United States. The volume of transaction data of ABC
Corp is constantly increasing with the growing volume of its customer base.
In the existing system, anyone interested to participate in an auction has to visit the
auction site. A participant needs to first register before participating in an auction. The
company maintains a record of all the registered participants in Excel worksheets. Auction
tokens are issued to registered auction participants, who use the tokens to participate in
auction bids.
Details of the products to be auctioned are also stored in Excel worksheets. Before an
auction starts, the company employees locate the product details stored in the Excel
worksheets to finalize the lowest bidding price and the number of products to be
auctioned. The structure of the worksheet that stores product details is shown in the
following table.
Product Detail Worksheet: Description:
Product
Number
Product
Name
Product
Specifications
Product
Price
Number
XXX XXX XXXXX XXXX ###
The company stores the details of only the 10 highest bids in Excel worksheets. The
structure of the worksheet that is used to store auction bid details is shown in the
following table.
Auction Bid Detail Worksheet: Description:
Product
Number
AuctionID Auction
Date
Token
Id
Current
Price
Bid
Price
Bid Status
XXX XXX XXXXX XXXX ### ### ###
Case Study 3: ABC Corp
Background
Existing System
1.10 Project NIIT
The company is facing a few problems. The employees need a lot of time to record and
maintain all the details in the Excel worksheets. On the other hand, the auction
participants must be physically present at the auction site to participate in an auction.
Many times this limitation discourages prospective buyers from participating in the
auctions. As a result, the management wants to build a new system that will reduce the
load on its employees and make the whole auction process more dynamic so that
interested participants need not be physically present at the auction site.
The proposed Online Auction System (OAS) will be a Web-based system. Using the
OAS, customers will be able to participate in the auctions online from any part of the
world. Auctions payments will be made online by using credit cards. The OAS system
will be flexible enough to enable payments in different currencies. It will store details
about every single bid for a product to ensure transparency.
To provide all the envisioned functionalities, the OAS should have following features:
1. The system will have a mechanism to search for the products to be auctioned.
Searches for auctionable products should be made categorywise, such as electronic
goods, jewellery, automobiles, and furnishings. The search mechansim will display
the list of the products to be auctioned. Online users should be able to check auction
details such as the auction date, the auction time, the reserved bid price, and the
current bid price from the search result list.
2. The system will have a mechanism to register new users. To participate in auctions,
an online user will need to register with ABC Corp. A unique auction ID will be
assigned after successful registration.
3. The system will use a logon mechanism to authenticate credentials of registerd users.
Every registered user will need to log on to the OAS before participating in an
auction.
4. The system will maintain the details of auction information, auction product
information, registered users information, bid detail information, and payment
information in a centralized database named MyAuctionDatabase. The details of
auction information to be stored will include the auction date, the product number,
the product name, the reserved price, the lowest bid price and quantity. The details of
product information to be stored will include the product number, the product name,
the category type, the quantity, the price, and the product description. The details of
registered users information to be stored will include the user ID, user name, the
password, the user address, and the user e-mail ID. The details of payment
information to be stored will include the product id, the product name, the price, the
user ID, the auction date, the quantity, the credit card type, and the credit card
number.
5. The system will have a mechanism in which an online user can view the current
bidding price and the reserved price of a product in the currency of his choice. The
Envisioned System
NIIT Project 1.11
system will use a Web service for providing price information in different currencies.
This Web service will store information of exchange rates of different currencies.
6. The system will have a mechansim to store details of every bid for a product. The
moment an online user bids for a product, the bidding details will get stored in the
database along with the user’s ID.
7. The system will allow the administrator of the OAS to update the auction information
and the product information.
8. The system will have a mechanism for making payments online by using credit
cards. The system will verify the credit card information before confirming the
transaction.
To implement all the features, the OAS system needs to have the following modules:
Logon module: To check the credentials of registered users.
Registration module: To register a new user.
Payment module: To manage the auction payments.
In addition, user interfaces need to be created, wherever required. The website will
provide the database search functionality.
1.12 Project NIIT
GroupFund Bank is a multinational bank with 1500 branches and 8000 ATM centers
around the world. It employs over 10,000 people.
GroupFund offers various services, such as savings accounts, current accounts, and fixed
deposit schemes. In addition, it offers various investment options to its 3 million
customers.
GroupFund witnessed proliferated growth ever since it offered “No Documents Required”
loan schemes and higher credit and cash withdrawal limits on its credit and debit cards.
These innovative campaigns led to its exponential growth. The customer base has
multiplied by 10 times while the number of branches and ATM centers has increased by
200%.
As a result, customers had to wait for a longer time at the branches to perform their
activities. This led to chaos and mismanagement at times. The senior management
discussed the situation. The discussion revealed that:
Because of the increased customer base, the service timing has decreased from 30
minutes per customer to a meager 2 minutes per customer.
Employees feel highly stressed out while dealing with the increased number of
mismanaged customers at the branch.
Customers get only a few minutes to talk to the bank staff after waiting for a long
time.
Customers often have to return home dissatisfied after waiting for a long time.
The senior management decided to employ additional staff and start using a queue
management system to manage the high footfall at its branches.
The features of the envisioned queue management system are:
An Internet-enabled application will be created. It will run as a website developed
using JSP.
A central database will store information related to all the products and services
offered by the bank and the information related to the customers who visit the
branch.
Case Study 4: GroupFund Bank
The Current System
The Envisioned System
NIIT Project 1.13
The queue management system will generate a coupon number for each customer
visiting the bank. The different customer service desks will cater to the different
needs of the customers.
A central display system will display the coupon number for each customer service
desk.
The system will allow the bank staff to increment the ticket number after they serve a
customer.
The website will provide access to three types of users:
Administrators: Will be responsible for maintaining master data, such as
information related to the products and services offered at the branch and the
number of customer service desks at the branch.
Banking Officers: Will be responsible for interacting with the customers and
providing them with relevant information.
Customers: Will have access to a touch screen-based system that they will use
to obtain the coupon number for the relevant customer service desk.
All users will be given a username and a password. Users will have the option of
retrieving lost user names/passwords by providing certain authenticated information
such as their date of birth.
You need to create an application by using the Java technology. Your application should
provide a solution to the given scenario.
1.14 Project NIIT
The following figure shows the ER diagram for GroupFund Bank.
Products
Branches
ServiceDesk
BankingOfficer
Ticket Queue
Ticket Number
IsProcessed
TicketDate
TicketNumbers
TicketPriority
Is For A [1:1]
TicketDate
Has [1:n]
Has [1:n]
Is Assigned To [1:1]
Is Assgined to [1:1]
ProductCode
ProductDescription
BranchCode BranchLocation
BankingOfficerCode
BankingOfficerName
ServiceDeskNumber
IsActive
NIIT Project 1.15
GoodHealth, Inc. started as a super specialty hospital in 2003. In 2006, the management
decided to increase its revenue by registering smaller clinics and hospitals under its brand
at a nominal licensing cost.
As a result, GoodHealth was able to increase its revenue and brand awareness across the
country. The smaller clinics benefited by associating with the GoodHealth brand name
and by obtaining expert assistance provided by the super specialty hospital.
Today, GoodHealth employs more than 300 doctors across its clinics and boats of a
combined capacity of 2000 beds.
GoodHealth uses a robust document-based system at its super-specialty hospital to
maintain patient records and activities. The front desk officers and medical staff maintain
a list of all the patients registered with the hospital. They record all patient-related
activities, such as appointments with doctors, out-patient visits, pharmacy details, and
laboratory testing services information, in a traditional ledger-based system.
However, the record maintenance system is complex and time consuming. The hospital
staff has requested the management to start using an automated system that should:
Cater to a high volume of patients.
Store and retrieve information from a central repository.
Process data quickly.
Be easy to learn and should require minimal training.
Generate invoices/bills to be handed over to the patients after discharge/visit.
Generate various reports for the senior management.
The management decides to set up a computerized system to manage the routine activities
of GoodHealth. The technical staff needs to consider across the following requirements:
The system will be Internet enabled. It will run as a website developed by using JSP.
A central database will store information for the following entities:
Patients
Doctors
Wards
Laboratory Tests
Case Study 5: GoodHealth, Inc.
The Current System
The Envisioned System
1.16 Project NIIT
Medicines
Patient Visits
Patient Bills
System users
The system will provide the following features:
System users will log on to the system by using a username and a password.
System users should be able to create records for new patients or select the
records of existing patients by providing the patient number/patient name. If
multiple patients with similar names are found, the system will display the list of
all the patients whose names match the search criteria found and the user should
be able to select a patient by clicking his/her name.
Patients will be categorized as:
In-patients: In-patients are admitted in the hospital and are under
continuous supervision by the medical staff. An in-patient is assigned to a
doctor at all times. Additionally, the in-patient is assigned an alternate
doctor and nurse. In-patients are given a bed in a ward. They can use the
laboratory services and buy medicines from the pharmacy. When the in-
patients are discharged, their status is converted to out-patient or deceased
(if the patient dies during the course of the treatment).
Out-patients: Out-patients are not under continuous supervision of the
medical staff. They take an appointment to consult a doctor. Out-patients
can also use the laboratory services and buy medicines from the pharmacy.
They can be admitted and assigned a bed number if their status is converted
to in-patient on the recommendation of a doctor.
The site will provide access to the following types of users:
Administrators: Are responsible for maintaining master data, such as the list of
doctors, patients, medicines, laboratory services, and wards of the hospital.
Desk Officers: Are responsible for keeping a track of the patient-related
activities. This includes admitting/discharging a patient, assigning a doctor and a
nurse to the patient, providing lab services/pharmacy medicines, and providing
billing information.
Senior Management: Should be able to generate reports based on selected
criteria, such as daily collections and ward occupancy.
All users will be assigned a username and a password. Users will have the option of
retrieving lost user names/passwords by providing certain authenticated information,
such as date of birth.
The administrator can log on to the system and view, edit, and create the master data.
The master data includes the following entities:
Wards and beds: Is the list of wards and beds assigned to in-patients
NIIT Project 1.17
Doctors and other medical staff: Is the list of all doctors, nurses, and other
staff assigned to in-patients
Laboratory Services: Is the list of tests offered by the laboratory
Desk officers will be responsible for handling the complete workflow. They will
register new patients, assign doctors and nurses to the patients, and create
appointments for out-patients. In addition, they will register patients who want to use
laboratory services or buy medicines from the pharmacy. Desk officers will also raise
bills for all the services provided to the patients.
You need to create a Java-based application to meet all the listed objectives. Your
application should provide a solution to the given scenario.
The following figure shows the ER diagram for GoodHealth.
Patient
Bill
Lab Services
Pharmacy
Medicine
Medical Staff
Name
Type (Doctor/
Junior Doctor/
Nurse)
Wards
Beds
Emergency
Contact
Working
Hours
Address
In Patient Visit
Charges
Out Patient Visit
Charges
Code Status
Code
Description
Daily Charge
Name
Salt Base
Price
Stock Level
Re-order Level
Name
Type (Doctor/Junior
Doctor/Nurse)
Emergency
Contact
Working Hours
Address
In Patient Visit
Charges Code
Charges
Description
Bill Number
Billing Date
IsPaid
User
Login Name
Password
First Name
Last Name
Avails [1:n]
Avails [1:n]
Admitted To [1:1]
Is Registered By [1:n]
Is Raised By [1:n]
Paid By [1:n]
Is Assigned to [1:n]
Belong To [1:n]
1.18 Project NIIT
This book contains six case studies. These case studies will be allocated to the students in
groups. Each group will consist of two students.
The project will be carried out in the following phases:
System Analysis: System analysis refers to an in-depth study of the existing system
to depict its functionality. The analysis phase is the most crucial phase in a project
because it helps developers to identify the processes and their functions in the
system. The project teams will analyze their respective case studies before moving on
to the development phase.
Development: This phase involves developing the project based on predetermined
specifications.
Testing and debugging: This phase involves testing the project before submitting it
to the coordinator.
Documentation: Documentation is one of the most important aspects of computer
programming. The project documentation should be submitted to the coordinator
before the project walkthrough. It should be created by using the formats given in
this book. The blank report following the case studies is to be filled up, detached
from the book, and submitted on the given date.
The project is to be evaluated based on the following parameters:
Quality: Conformance to requirements of the case study – 40 marks
The solution maps to the requirements specified in the case study.
The technologies selected are correct according to the requirements of the case
study.
The code is optimized.
Timeliness: Timely completion of the project - 10 marks
Quality of documentation - 30 marks
The project documentation is completed by using the appropriate formats.
The project documentation has all the required diagrams, such as the technology
diagram, the logical flow diagram, the use case diagram, the sequence diagram,
the ER diagram, and the table relationship diagram.
The project documentation adheres to predetermined standards and processes.
Query handling during project walkthrough - 20 marks
Project Execution
Phases in Project Execution
Project Evaluation Guidelines
NIIT Project 1.19
This project requires knowledge of almost all the technologies and architectures you have
learned during the course. Some of the technologies might not be used directly but the
concepts that you learned will definitely help. For example, you might use JSP whenever
you need to focus on the presentation aspect of the application. You can use servlets
where the emphasis is on business logic implementation, such as database manipulation.
You can use JavaBeans to perform database-related activities from a JSP page.
The decision to use programming techniques, paradigms, and architecture rests with you.
You need to decide on an optimal mix of all the advanced technologies in order to fulfill
the project objectives.
For example, you can use MS-SQL Server2000 or Java DB Database, provided along with
NetBeans5.5.1, to store data.
You can use UML, which you learned in the earlier course, to design the use case diagram
and the sequence diagram.
After you create the design, you can decide upon the different technologies to be used. For
example:
1. You can use JSP or servlets to create dynamic pages. JSP is a preferred choice if the
focus is on presentation of the page. The decision depends on the time and resources
available. JSP pages are easier to code and require lesser time.
2. You can use servlets if the logic needs to focus on validation of client information
and database interaction.
3. You can use JavaBean reusable components to retrieve and store the data in the
database.
The students will get 12 hours to complete the project. The activities to be performed
during this period are:
1. Analyze the case study to identify the system processes.
2. Create the technology diagram representing the technologies used in the various tiers
of the Web application and display the interaction among the various layers.
3. Create the diagram to show the logical flow of the application.
4. Create the use case diagram to show the functional requirements of the application.
5. Create the sequence diagram of the application architecture.
6. Create the ER diagram to show the relationships between the various database tables.
7. Create the table relationship diagram.
Project Standards and Guidelines
Project Activities
1.20 Project NIIT
8. Create the JSP pages, servlets, and JavaBeans.
9. Compile the Java files and deploy them by using NetBean5.5.1.
10. Debug the Java files in case of any errors.
11. Document the project by using the formats given in the later section.
12. Submit the documentation to the faculty.
13. After submitting the documentation, present the project to the faculty. The faculty
will assign marks based on the evaluation criteria specified in this section.
The students should complete the following activities before creating the code for the
system:
Analyzing the case study
Designing the database
Selecting the technology architecture
During project development, students need to work in groups of two. The following table
provides a suggested break-up of activities that the students should perform to ensure
timely completion of the project (students working in groups need to divide the tasks
amongst themselves).
Session # Task to be Performed
1 Create the database.
Create the logon module.
Create the new user registration module.
2 Create Core Module 1. This includes:
Creating the user interface.
Implementing the search functionality.
3 Create Core Module 2. This includes:
Implementing application functionality.
4 Create the payment module.
5 Deploy the application.
Test the application.
Debug the application.
Project Timelines
NIIT Project 1.21
Music, Inc. is a music company that manufactures and sells audio and video CDs. It
operates retail outlets in different cities of the United States. The company is doing good
business because it offers good discounts and caters to every segment of the music
market.
Currently, Music, Inc. does not use the online medium for doing any transactions. It wants
to set up a music store on the Web, which will be a virtual showcase for everything
related to music. The site will have information on the latest songs, albums, and the
artists.
The company conducted a market survey to find out customer requirements for its
proposed website. The recommendations of the survey are:
Users on the site should be able to search for music by using multiple keywords, such
as album name, music category, or singer name.
Users should be able to vote for their favorite artist and view the popularity charts on
an ongoing basis.
Users should be able to search the most popular artists and songs in each music
category.
Music Inc. has hired a team of Web developers for creating the website and implementing
these recommendations. This team is led by Project Manager James Norton.
Music, Inc. has also set up a website maintenance team that will update the site with
information about the latest albums and songs released in the market.
Sample Case Study 6: Music, Inc. Online Application
Background
Existing System
Envisioned System
1.22 Project NIIT
Note
Note
Ask your faculty to provide you the solution files and the database for this case study. The
project files will be provided to you in the Music.zip file. The database script has been
provided to you in Scripts.zip.
Creating the MusicInc Database
To create the MusicInc database, you need to perform the following steps:
1. Open NetBeans5.5.1 IDE.
2. Click the Runtime window.
If the Runtime window is not visible, you need to select WindowRuntime.
If the Java DB Server is not running, you need to start the server. To start the server,
you need to select ToolsJava DB DatabaseStart Java DB Server.
3. Click ToolsJava DB DatabaseCreate Java DB Database. The Create Java
DB Database dialog box is displayed, as shown in the following figure.
The Create Java DB Database Dialog Box
Guidelines for Executing the Solution
Solution to Case Study 6 – Music, Inc. Online
Application
NIIT Project 1.23
4. Type MusicInc in Database Name text box.
5. Type sa in the User Name text box.
6. Type sa in the Password text box.
7. Click the OK button. The MusicInc database is created. You can view the created
database by expanding the Databases tree in the Runtime window, as shown in the
following figure.
The NetBeans IDE 5.5.1 Window
8. Right-click the MusicInc database and click the Connect option.
9. Right-click the MusicInc database and select Execute Command. The SQL
Command1 window appears.
10. Unzip the Scripts.zip file from the TIRM/PROJECT SOLUTION folder and copy
the script from the ProjectScript.sql in the SQL Command1 window.
11. Click the RunSQL ( )option in the toolbar of the SQL Command1 window.
The tables are created in the MusicInc database.
Execute the MusicInc application
To execute the project solution, you need to perform the following steps:
1. Unzip the Music.zip from the TIRM/PROJECT SOLUTION folder at the desired
location. The Music folder will be created.
1.24 Project NIIT
Note
2. Select FileOpen Project. The Open Project dialog box is displayed.
3. Locate and select the Music folder.
4. Click the Open button to open the project.
5. Press F5 to execute the application. The home page will be displayed, as shown in
the following figure.
Home Page for Music Inc. Online Application
Note: The logon ID for administrator is admin and the password is adminpass. The
logon ID for the user is Mark and password is Mark. Only a user would be able to
login from the Home page. For the administrator to login, you need to click the
Administrator link.
The website will be used by customers and maintained by a website administrator.
The Web application consists of the following JSP pages:
1. HOME.jsp: Contains the code to create the welcome page of the online music
application. It displays four hyperlinks: Sign Up, Administrator, Search, and Most
Popular artist in each category of music. In addition, this page enables users to vote
for their favorite artist and displays the most populart artist as a marquee on the top
of the page.
NIIT Project 1.25
2. sign_in.jsp: Contains the code that displays a user registration form to register a new
website user.
3. admin.jsp: Contains the code to accept the user name and the password of the
administrator. After accepting the details, it uses the Java bean SessionWB.java to
validate the account information. It displays the Home Page hyperlink.
4. artist_in_category: Contains the code to display the name of the most popular artist
in each category of music. This page displays the Home Page hyperlink.
5. NewArtist.jsp: Contains the code to add the details of a new artist.
6. UpdateArtist.jsp: Contains the code to update the details of an existing artist.
7. DeleteArtist.jsp: Contains the code to delete the details of an artist.
8. errorpage.jsp: Contains the code to display a message whenever an error occurs
because of any invalid transaction on the website.
9. logged_in.jsp: This page is shown whenever a registered user signs in.
10. search.jsp: Contains the code that searches for songs categorywise or artistwise.
11. NewSong.jsp: Contains the code to add the details of a new song in the database.
12. UpdateSong.jsp: Contains the code to update the details of an existing song.
The Web application also consists of the following Java files:
1. SessionWB.java: This Java bean contains the code to implement the database
connectivity. In addition, it stores the data or retrieves it when requested by the
client.
2. ResetRanking.java: This servlet contains the code to reset the rankings of all the
artists.
1.26 Project NIIT
PROJECT ON
Developed by
Name: Michael John Name: Stephen Clark
Reg. No.: 6709-50-386 Reg. No.: 6709-50-387
Sample Project Documentation: Music, Inc. Online
Application
NIIT Project 1.27
Music, Inc. Online Application
(Project Title)
Batch Code : B010101
Start Date : June 1, 2007
End Date : June 10, 2007
Name of the Coordinator : Alex Norton
Name of Developers : Michael John, Stephen Clark
Date of Submission : June 11, 2007
1.28 Project NIIT
CERTIFICATE
This is to certify that this report, titled Music, Inc.Online Application,
embodies the original work done by Debbie Howe in partial fulfillment of
his/her course requirement at NIIT.
Coordinator:
Alex Norton
NIIT Project 1.29
ACKNOWLEDGEMENT
We have benefited a lot from the feedback and suggestions given to us by
Mr. Alex Norton and other faculty members.
1.30 Project NIIT
SYSTEM ANALYSIS
System Summary: The Music, Inc. application is an online module that
facilitates users to search for songs by specifying the artist name or the category.
Users can also participate in an ongoing poll to select the most popular artist.
The administrator will be required to update information related to all the latest
songs and the artists in the database.
NIIT Project 1.31
INDIVIDUAL PROJECT SCHEDULE
S.
No.
Activity Description Planned Date
of Completion
Actual
Date
Responsi
bility
Remarks
1 Create the Home page. 1st Jun 2007 1st Jun
2007
Michael
2 Create the Sign Up
page.
1st Jun 2007 1st Jun
2007
Stephen
3 Create the Admin page. 2nd
Jun 2007 2nd
Jun
2007
Michael
4 Create the Artist page. 2nd
Jun 2007 2nd
Jun
2007
Stephen
5 Create the Error page. 3rd
Jun 2007 3rd
Jun
2007
Michael
6 Create the Song page. 3rd
Jun 2007 3rd
Jun
2007
Stephen
7 Create q Java bean to
perform back-end
connectivity.
4th
Jun 2007 4th
Jun
2007
Michael
8 Create a page to reset
the rankings of the
artists.
4th
Jun 2007 4th
Jun
2007
Stephen
9 Create the technology
diagram.
5th
Jun 2007 5th
Jun
2007
Michael
10 Create the database
MusicInc.
5th
Jun 2007 5th
Jun
2007
Stephen
11 Create the logical flow
diagram of the
application.
6th
Jun 2007 6th
Jun
2007
Michael
12 Create the ER diagram. 7th
June 2007 7th
June
2007
Stephen
13 Create the UML and
database diagrams.
8th
Jun 2007 8th
Jun
2007
Michael
14 Deploy and test the
application.
9th
Jun 2007 9th
Jun
2007
Michael
15 Fix the errors. 10th
Jun 2007 10th
Jun
2007
Stephen
1.32 Project NIIT
TECHNOLOGY DIAGRAM
This top-level diagram represents the technologies used to develop a J2EE
Web application.
NIIT Project 1.33
USE CASE DIAGRAM
This use case diagram represents the functional relationship among the
various entities in the system.
1.34 Project NIIT
E-R DIAGRAM
Database Name: MusicInc
This E-R diagram represents the relationship among the various entities of
the database.
LOGINDETAILS
USERNAME PASSWORD
Jsp:
song_mai
ntance.jsp
Entity
bean:
artistmast
erEJB ORD
JJ
SS
PP
:: Jsp:
ssiigg Jsp:
admin.
jsp
Admin
choice.
jsp ava
Entity
ADDRESS
PHONE
ADMINLOGIN
Jsp: Home.jsp NLOGIN
ADMINNAME PASSWORD
ARTISTMASTER
ARTISTCODE ARTISTNAME
LOGINDETAILS
CATEGORY
RANK ARTISTNAME
SONGID
SONGNAME
NIIT Project 1.35
SCHEMATIC DIAGRAM OF THE DATABASE
Database Name: Music Inc. Online Application
1.36 Project NIIT
LOGICAL FLOW DIAGRAM
This logical flow diagram represents the control flow of the Music Inc. online
application.
Home Page
Jsp: HOME.jsp
Sign Up Page
Jsp: sign_in.jsp
JavaBean:
SessionWB.java
Search Page
Jsp: search.jsp
JavaBean:
SessionWB.java
Logged In Page
Jsp:
logged_in.jsp
JavaBean:
SessionWB.java
Administrator
Page
Jsp: admin.jsp
adminchoice.jsp
JavaBean:
SessionWB.java
Most Popular Artist
Page
Jsp:
artist_in_category.jsp
JavaBean:
SessionWB.java
New Artist Page Jsp:
NewArtist.jsp
JavaBean: SessionWB.java
Update Artist Page
Jsp:
UpdateArtist.jsp
JavaBean: SessionWB.java
New Songs Page Jsp:
NewSong.jsp
JavaBean: SessionWB.java
Update Songs Page
Jsp:
UpdateSong.jsp
JavaBean: SessionWB.java
Delete Artist Page
Jsp:
DeleteArtist.jsp
JavaBean: SessionWB.java
NIIT Project 1.37
CONFIGURATION
Hardware: PC compatible with a Intel Pentium-III processor, 512-MB RAM, and
20GB of Hard disk
Operating system: Windows XP Professional
Software: NetBeans5.5.1 bundled with Sun Java Application Server 9.0, JDK1.5
1.38 Project NIIT
PROJECT FILE DETAILS
S. No. File Name Remarks
1 HOME.jsp Is the Welcome page of the online
music application
2 sign_in.jsp Provides a page to register a new
user
3 admin.jsp Accepts logon details of the
administrator
4 adminchoice.java Displays three choices for the
administrator: songs, artist, and reset
ranking
5 artist_in_category.jsp Displays the most popular artist in
each category
6 NewArtist.jsp Adds the details of a new artist
7 UpdateArtist.jsp Updates an artist’s details
8 DeleteArtist.jsp Deletes the details of an artist
9 erropage.jsp Displays an error message whenever
an invalid transaction occurs
10 logged_in.java Allows the user to play and download
songs
11 NewSong.jsp Adds the details of all the new songs
12 UpdateSong.jsp Updates the details of the existing
songs
13 SessionWB.java Stores and retrieves the data stored
in the database
14 ResetRanking.java Resets the rankings of all the artists
NIIT Project 1.39
PROJECT ON
Developed by
Name: Name:
Reg. No.: Reg. No.:
Blank Documentation Formats
1.40 Project NIIT
(Project Title)
Batch Code :
Start Date :
End Date :
Name of the Coordinator :
Name of Developers :
Date of Submission :
NIIT Project 1.41
CERTIFICATE
This is to certify that this report, titled ______________, embodies the
original work done by ____________ and _____________in partial
fulfillment of their course requirement at NIIT.
Coordinator:
1.42 Project NIIT
ACKNOWLEDGEMENT
NIIT Project 1.43
SYSTEM ANALYSIS
System Summary:
1.44 Project NIIT
INDIVIDUAL PROJECT SCHEDULE
S.
No.
Activity Description Planned Date
of Completion
Actual
Date
Responsi
bility
Remarks
NIIT Project 1.45
TECHNOLOGY DIAGRAM
This top-level diagram represents the technologies used to develop a J2EE
Web application.
1.46 Project NIIT
USE CASE DIAGRAM
This use case diagram represents the functional relationship among the
various entities in the system.
NIIT Project 1.47
E-R DIAGRAM
Database Name:
This E-R diagram represents the relationship among the various entities of
the database.
1.48 Project NIIT
SCHEMATIC DIAGRAM OF THE DATABASE
Database Name:
NIIT Project 1.49
LOGICAL FLOW DIAGRAM
This logical flow diagram represents the control flow of the Music Inc. online
application.
1.50 Project NIIT
CONFIGURATION
Hardware:
Operating system:
Software:
NIIT Project 1.51
PROJECT FILE DETAILS
S. No. File Name Remarks
1.52 Project NIIT