05_j2ee2_pr_sg_01

52
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

Upload: tung-nguyen

Post on 28-Nov-2014

261 views

Category:

Documents


11 download

TRANSCRIPT

Page 1: 05_J2EE2_PR_SG_01

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

Page 2: 05_J2EE2_PR_SG_01
Page 3: 05_J2EE2_PR_SG_01

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

Page 4: 05_J2EE2_PR_SG_01

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

Page 5: 05_J2EE2_PR_SG_01

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.

Page 6: 05_J2EE2_PR_SG_01

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

Page 7: 05_J2EE2_PR_SG_01

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

Page 8: 05_J2EE2_PR_SG_01

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.

Page 9: 05_J2EE2_PR_SG_01

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

Page 10: 05_J2EE2_PR_SG_01

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

Page 11: 05_J2EE2_PR_SG_01

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.

Page 12: 05_J2EE2_PR_SG_01

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

Page 13: 05_J2EE2_PR_SG_01

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.

Page 14: 05_J2EE2_PR_SG_01

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

Page 15: 05_J2EE2_PR_SG_01

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

Page 16: 05_J2EE2_PR_SG_01

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

Page 17: 05_J2EE2_PR_SG_01

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]

Page 18: 05_J2EE2_PR_SG_01

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

Page 19: 05_J2EE2_PR_SG_01

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

Page 20: 05_J2EE2_PR_SG_01

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

Page 21: 05_J2EE2_PR_SG_01

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

Page 22: 05_J2EE2_PR_SG_01

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

Page 23: 05_J2EE2_PR_SG_01

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.

Page 24: 05_J2EE2_PR_SG_01

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.

Page 25: 05_J2EE2_PR_SG_01

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.

Page 26: 05_J2EE2_PR_SG_01

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

Page 27: 05_J2EE2_PR_SG_01

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

Page 28: 05_J2EE2_PR_SG_01

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

Page 29: 05_J2EE2_PR_SG_01

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.

Page 30: 05_J2EE2_PR_SG_01

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.

Page 31: 05_J2EE2_PR_SG_01

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

Page 32: 05_J2EE2_PR_SG_01

1.32 Project NIIT

TECHNOLOGY DIAGRAM

This top-level diagram represents the technologies used to develop a J2EE

Web application.

Page 33: 05_J2EE2_PR_SG_01

NIIT Project 1.33

USE CASE DIAGRAM

This use case diagram represents the functional relationship among the

various entities in the system.

Page 34: 05_J2EE2_PR_SG_01

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

EMAIL

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

Page 35: 05_J2EE2_PR_SG_01

NIIT Project 1.35

SCHEMATIC DIAGRAM OF THE DATABASE

Database Name: Music Inc. Online Application

Page 36: 05_J2EE2_PR_SG_01

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

Page 37: 05_J2EE2_PR_SG_01

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

Page 38: 05_J2EE2_PR_SG_01

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

Page 39: 05_J2EE2_PR_SG_01

NIIT Project 1.39

PROJECT ON

Developed by

Name: Name:

Reg. No.: Reg. No.:

Blank Documentation Formats

Page 40: 05_J2EE2_PR_SG_01

1.40 Project NIIT

(Project Title)

Batch Code :

Start Date :

End Date :

Name of the Coordinator :

Name of Developers :

Date of Submission :

Page 41: 05_J2EE2_PR_SG_01

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:

Page 42: 05_J2EE2_PR_SG_01

1.42 Project NIIT

ACKNOWLEDGEMENT

Page 43: 05_J2EE2_PR_SG_01

NIIT Project 1.43

SYSTEM ANALYSIS

System Summary:

Page 44: 05_J2EE2_PR_SG_01

1.44 Project NIIT

INDIVIDUAL PROJECT SCHEDULE

S.

No.

Activity Description Planned Date

of Completion

Actual

Date

Responsi

bility

Remarks

Page 45: 05_J2EE2_PR_SG_01

NIIT Project 1.45

TECHNOLOGY DIAGRAM

This top-level diagram represents the technologies used to develop a J2EE

Web application.

Page 46: 05_J2EE2_PR_SG_01

1.46 Project NIIT

USE CASE DIAGRAM

This use case diagram represents the functional relationship among the

various entities in the system.

Page 47: 05_J2EE2_PR_SG_01

NIIT Project 1.47

E-R DIAGRAM

Database Name:

This E-R diagram represents the relationship among the various entities of

the database.

Page 48: 05_J2EE2_PR_SG_01

1.48 Project NIIT

SCHEMATIC DIAGRAM OF THE DATABASE

Database Name:

Page 49: 05_J2EE2_PR_SG_01

NIIT Project 1.49

LOGICAL FLOW DIAGRAM

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

application.

Page 50: 05_J2EE2_PR_SG_01

1.50 Project NIIT

CONFIGURATION

Hardware:

Operating system:

Software:

Page 51: 05_J2EE2_PR_SG_01

NIIT Project 1.51

PROJECT FILE DETAILS

S. No. File Name Remarks

Page 52: 05_J2EE2_PR_SG_01

1.52 Project NIIT