Enterprise Development Project
Team-based
Enterprise Application Development Project
The Assignment 2 Specification and Marking Criteria
This
assignment is a team -based software development project. You will work in a
small team for the design and development of a 3 -tier enterprise application.
You will practice to work collaboratively and communicate effectively as part
of a productive team.
You
will need to negotiate with your fellow students to form a team of at least 2
students and at most 3 students; each team needs to elect a team leader. The
online students will be facilitated by the
unit coordinator to form teams.
Warning :
the teamwork (including forming a team) of this assignment is compulsory. In
some personal particular
circumstances including that you cannot form yourself into a team, you may ask
the unit coordinator for attempting the assignment individually. However, you
will lose the 10 marks that are allocated for the effective teamwork.
Team Membership Agreement
By
default, a team works collaboratively; with all members performing their duties
timely. The team leader submits the project and each member must submit his/her
own teamwork report of Template A (see
Part 2 of this document) by the assignment due time.
A
large emphasis of this group project is solving minor collaborative problems as
a part of teamwork and this should be reflected upon in the teamwork report.
Each team should minimize contacts with lecturer/tutor/coordinator for minor
collaborative problems, as too many contacts show the ineffectiveness or
inefficiency of the team for solving minor problems and will result in loss of
marks.
Each
team member should use the following agreement if a major problem arose. The
unit coordinator should be contacted as a last resort, only when the dispute
cannot be solved by the following agreement.
When
forming a team, each team member must agree that the whole team is to take its
own risk when including an individual member and that the project progress can
be delayed by that individual member. Some circumstances are:
1. A
team member cannot take his/her allocated duty normally for a particular
reason, e.g. health condition.
If
an extension is given to that particular member, the extension is applied to
the whole team. If there is no extension granted for that particular member,
the whole team is to take the risk of a late penalty. In addition, the whole
team is to take its own risk of any other impact, e.g. influence on schedule of
other units of study, which may be caused by the improper delivery of duty of
that team member.
2. The
other members of a team are to complete the whole project if a team member
leaves in the middle of project for any sound reasons or no reasons.
3. If
a team splits into individuals in the middle of the project, each individual
needs to complete the whole project separately.
4. If
a team member does not take his/her allocated duty and cannot be contacted, the
team can provide evidence of 3 contacts without responses or other relevant
evidence to the unit coordinator. The unit coordinator reserves the final right
to decide whether the member should be excluded from the team. However, as
mentioned in point 2 previously, the rest of the team needs to complete the
whole project if a team member is excluded from the team.
5. Any
individual, who separates/quits from a team for any reasons in the middle of
the project, needs to complete the whole project and the teamwork report of Template
B (see Part 2 of this document).
This assignment
consists of 2 parts.
Part 1: Software Development and Documentation.
This
part is to design, implement, test and document a 3 tier enterprise
application. The application scenario and project specification are as follows.
The application scenario
An
online car sale company needs to implement an e-business system. The system is
a typical 3-tier 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 designated as the developer for the system core. To accomplish
this task, you will need to design, implement and test and document the
e-business system.
The project specification
1.
The
persistence tier
a. The
company sells both brand new cars and used cars, and may extend to more
products in the future through this general framework. A major assumption is
that brand new car and used car share some common properties. For example, both
brand new cars and used cars have the properties of Make, Model, Drive Type,
Colour, Transmission, Engine, Fuel Type, Doors and Seats etc. However, a brand
new car has speciality properties such as Warranty, Extending Warranty and
Roadside Assistance Packages; a used car has speciality properties such as
Odometer, Rego No., Rego Expiry, Service History and VIN (Vehicle
Identification Number) and Car History etc.
b. The
car information must be persisted into a Derby database. You are required to
use Java Persistence API (JPA) to persist the car 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 both brand new car and used car and
the other 2 classes as the sub-class for the specialty of a brand new car or a
used car. You are required to use the Joined-Subclass 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.
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
persisted information later on. Presenting exception messages, e.g. a user
doesn’t enter data for a required textbox, is necessary and required for this
tier.
Note:
you need to review Backing 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.
Note:
a separate document for the demonstration of the system functions is available
on the unit Moodle site. You will
need to use that demonstration document as a part of the assignment
specification. You will need to ensure that you fully understand the scenario
and project specification before developing the project; you will also need to
ensure the developed system fulfilling the function requirements as shown in
the demonstration document.
The
whole team will need to negotiate and divide the whole project into multiple
tasks, which are allocated to the team members. The team members need to
communicate frequently so that each member’s software modules can be integrated
into a complete system to fulfil the project specification.
Submission for Part 1
The submission
of this part includes:
1.
Documentation
a. The
diagram of architecture: it should include major components from all 3 tiers,
which are depicted by using any formal method e.g. UML.
b. 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.
c. 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 brand
new cars and 2 used cars, 2 customers, where each customer puts
in at least 2 orders, one for a
brand new car and the other for a used car.
2.
Software
You
will need 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 need to provide your implementation by a NetBeans project,
which must satisfy:
a.
The project can be compiled directly
without any further revision/re-development or debugging.
b. The
generated .war application from the project can be executed on a separate
GlassFish server (not the NetBeans embedded one) to interact with a separate
Derby database (not the NetBeans embedded one).
Only one submission of this part from
the team leader is required. The complete project and the documents will need to be compressed into a zip file for the team
leader to submit. This part will be marked and the same marks will be given to
all team members.
Part 2: Teamwork Report
A
student, who completes the whole project as a member of a productive team, is
to prepare a document in the following format and address the following
questions.
Template A
1.
Team
Details
a.
Team
Name (optional):
b.
Your
Name and Student ID:
c.
Team
Leader (Name and Student ID):
d.
Other
Team Members (Name and Student ID):
2.
Teamwork
Report
a.
Describe
team forming, task assigning, your role and responsibility and the project
timeline
b. List
2 technical problems in the project development and describe how the problems
have been solved by the team.
c. List
2 collaborative problems in the teamwork and how the problems are negotiated
and solved by the team.
d.
Describe
and justify what are important for the success of teamwork.
e.
Describe
the communication skills that you have developed in this small team-based
project.
A
student, who separates/quits a team in the middle of project, is to prepare a
document in the following format and address the following questions.
Template B
1.
Team
Details
a.
Team
Name (optional):
b.
Your
Name and Student ID:
c.
Team
Leader (Name and Student ID):
d.
Team
Members (Name and Student ID):
2.
Teamwork
Report
a. Describe
team forming, task assigning, your role and responsibility and the project
timeline
b. Describe
what major problems that cause you leave the team or cause the team break into
individuals.
c. Describe
and justify the impact on you and other team members caused by your leave or
the break of the team
d.
Describe
and justify what are important strategies for successful teamwork.
e. Describe
and justify how you can avoid such hindrances of teamwork in future
opportunities of teamwork.
Note:
this part is to address a team member’s own individual experience with the
teamwork. The document is not shared
between the team members; each team member needs to submit his/her own document
individually. The same/copying contents of this part by 2 or more team members
will be treated as plagiarism.
Every
team member is to prepare the report in a Microsoft Word document. This part
will be marked for each team member. You must submit your report via the unit
Moodle site. Any hardcopy or email submission will not be accepted. After the
marked assignments are returned, any late submissions will not be accepted.
To get solution visit our website www.sourceessay.com
Comments
Post a Comment