The Assignment-2 Specification and Marking Criteria
In this assignment, you are to implement a 3-tier enterprise application based on the following scenario.
The application scenario
An online device sale company needs to implement an e-business
system. The system is a typical 3tier enterprise application that
integrates a presentation tier, a business tier and a persistence tier.
After user requirement and budget analysis, the executive of IT
Department of the company has decided to use Java EE open source
technology and related platforms and tools for the implementation of the
system. As an officer of the IT Department of the company, you are
delegated as the developer of the system core. To accomplish this task,
you will need to design, implement, test and document the e-business
system.
The assignment specification
1. The persistence tier
a. The company sells only 2 products, laptops and smart phones, and
may extend to more products in the future through this general
framework. A major assumption is that the 2 products share some common
properties. For example, both laptops and smart phones have the
properties of Brand, Model, Size of Display, Weight, OS, Camera and
Wi-Fi etc. However, a laptop has speciality properties such as a Network
Interface (e.g. 1000G Ethernet LAN), Hard Drive and Optical Drive etc.;
a smart phone has speciality properties such as Cellular Connectivity
(e.g. 4G 700/750/800/900/1800/2100), Location (e.g. GPS) and SIM Card
(e.g. Nano or Micro).
b. The product information must be persisted into a Derby database.
You are required to use Java Persistence API (JPA) to persist the
product information into a Derby database. In order to reduce code
redundancy, you should use inheritance mapping. That is, in your design
and implementation, the Java entity classes should be at least 3 with 1
class as the super class to abstract the common properties and
operations for the 2 products and the other 2 classes as the sub-class
for the specialty of each product. You are required to use the
JoinedSubclass Strategy (detailed from page 170 of the textbook) in your
design and implementation.
c. The company needs to store customer details and customer orders.
You are required to use entities to persist customer details and
customer orders. The relationship between a customer and his/her orders
must be one-to-many (detailed from page 156 of the textbook), i.e. a
customer can have multiple orders, and each order is just for one
product item only.
2. The business tier
Develop the business tier by using Enterprise Java Beans (EJB). The
business tier will process the data persistence or retrieval requests
from users and interact with the persistence tier for accomplishing the
requests.
Note: to interact with the persistence tier, the EJBs need to use
Java Persistence Query Language (JPQL) to query entities and return the
processed results to the presentation tier.
3. The presentation tier
Develop the presentation tier by using JavaServer Faces (JSF). The
presentation tier will provide a web-based user interface, which will
allow users to enter product details, customer details and order details
and retrieve these saved information later on. Presenting exception
messages, e.g. a user doesn’t enter data for a required text field, is
necessary and required for this tier.
Note: you need to review Backing Beans (Managed Beans) as the core
component of presentation tier and its functions for JSF pages’
navigation (detailed from page 354 of the textbook) and do some personal
research if necessary.
To demonstrate success, you are required to implement all the
required entities, EJBs and JSF pages (.xhtml files) and managed beans.
To submit your assignment, you need to provide:
Part 1: Documentation
The diagram of architecture: it should include major components from
all 3 tiers, which are depicted by using any formal method e.g. UML.
The typical workflow: you need to use an example workflow, e.g.
creating a customer’s order, to describe the tier components interaction
and JSF pages navigation.
The end user manual and test instruction: you are required to
provide detailed instructions about how a user would compile and deploy
the software and use the software to persist at least 2 products, 2
customers, where each customer puts in at least 2 orders.
Part 2: Software
You will have 2 options to provide the complete implementation code
of the 3 tiers, including Java source code and executable files,
persistence files and JavaServer Faces xhtml pages. You can provide your
implementation by either a Maven project or a NetBeans project, which
must satisfy:
1. The project can be compiled directly without any further revision/re-development or debugging.
2. The generated .war application from the project can be executed
on a separate/independent GlassFish server (not the NetBeans embedded
one) to interact with a separate/independent Derby database (not the
NetBeans embedded one).
Submission
Your design and test documents must be detailed in a Word document.
You must submit all the required files in a zip file. You must submit
your assignment via the unit web site. Any hardcopy or email submission
will not be accepted. After the marked assignments are returned, any
late submissions will not be accepted.
Demonstration of the e-business system
To help you understand and develop the application, a number of
screenshots have been provided to demonstrate the e-business system’s
functionality of a reference implementation. You will need to use this
demonstration as a guide to ensure that your development complies with
the assignment specification and its function is complete. The
demonstration can be accessed on the unit web site.
Important Note: the demonstration is a system to sell Books and CDs,
but the assignment that you need to implement is to sell Laptops and
Smart Phones. However the application architecture is the same, that is,
you can imagine that Book and Laptop play the same role, and CD and
Smart Phone paly the same role. You cannot use Books and CDs as product
for your implementation because they are the example entities of the
textbook and too much reuse of the example code cannot show your
understanding of JPA, EJB or JSF architecture and their usage. Doing so
will result in 20% (-8 marks) penalty.
The marking criteria of this assignment are detailed in the following table.
Marking Criteria Available Marks
Design Documentation 8
1. Diagram of Architecture 4
2. Description of tier component interaction and page navigation 4
Test Instruction 10
1. User’s manual for compiling and deploying the project 2
2. Inputs and expected outputs of each test 6
3. Coverage of the application scenario 2
Software 22
1. Being compilable and runnable 2
2. Conformance between the implementation of entities, EJBs, JSF pages and the given assignment specification 4
3. Functionality of data persistence 6
4. Functionality of data retrieval 6
5. Functionality of presentation (including necessary exception messaging) 2
6. Source code in-line comments and class readability 2
Subtotal for Assignment-2 40
Penalty of reusing Book and CD entities -8 (20%)
Late Penalty -2 (5% ) for each calendar day (either full
or part)
Plagiarism Penalty
Total for Assignment-2
Subscribe to:
Post Comments (Atom)
One of the distinguishing features in the earlier films is the presence of video cameras and their low-resolution images that contrast with film images that seem more stable and permanent
The goal of the project is to have you research a movie of your choice (cannot be a film shown in class whic...
-
Environmental Justice Toxins in the environment are a common health risk, but they are not always obvious or easy to identify. The trained...
-
this is a case study on financial accounting. attached are two files. one is the questions that are to be answered and the other document is...
-
Create a 2 pages page paper that discusses sex change.  .The controversy that will surround the red...
No comments:
Post a Comment