Key words: Java Programming Assignment Help, Java Homework Help, Java Questions
Project Specifications CIS3007 2013
The course objectives met by this assignment include:
- Course specifications are available online from the USQ website <http://www.usq.edu.au/course/specification/>. Always check the website for the latest version.
On successful completion of this course, students should be able to:
- demonstrate advanced written and oral communication skills by preparing and presenting professional documentation that is tailored to a specific audience
- demonstrate understanding of advanced programming and design techniques in developing distributed business enterprise systems
- apply the appropriate planning and problem-solving skills required for the successful completion of a business systems project
- demonstrate an understanding of technologies used in J2EE Enterprise applications (such as JSF, JSP, XML, DOM, StAX, JAX-RS, JAX-WS, SAX, SOAP, EJB, RPC, JMS, JNDI, JMS, etc)
- demonstrate creativity, initiative, and enterprise by translating the problem into a solution (enterprise web application) that is efficient, economic, smart, and easily maintainable, and complies with the course material and specified Java 2EE software installations
- demonstrate the ability to create, manage, and distribute robust, reliable, secure, and user-friendly component-based enterprise applications to provide business solutions in a multi tier web based enterprise system
- where relevant, demonstrate the capacity to work successfully with others as part of a team to plan and deliver a project.
Project Specifications Duke-Bookstore
Background
Currently our organisation has a sample running application to sell books which has been designed as an early proof of concept. The application can be found in your installation at C:\glassfish3\glassfish\docs\javaee-tutorial\examples\case-studies\dukes-bookstore if you installed the system as per instructions. The demo uses NetBeans project so you should be able to open existing project to load the application and all its files into the IDE. Please take time and explore the application fully to understand how it operates. The sample application provides very basic functionalities that we will need to upgrade and extend to deploy as an enterprise business solution. A number of changes to the current system have been identified that must be implemented before we can proceed to the next step of suitability evaluation. You have been given a lot of freedoms in the look and feel of the design but the functionalities which need to be addresses are very specific and mandatory.
Visual Changes
The web site needs to have a uniform design and feel across all the pages. The functionality needs to be carefully separated so as not to confuse the user as to the purpose of current pages. For example the current design allows us to control the shopping cart (delete all items) shop for available articles and see the current stock and quantities. This design is too cluttered and confusing. You are encouraged to look at other designs for inspirations but not copy the ideas. You will have to add extra pages and navigational capabilities between the different sections depending on the current logical state of the activities.
Things to be addresses by new design
- Unified screen design and placement of option across all the screens.
- Separate screen for different sections of activities
- Add last historical data for the user when logging onto the system (last login and purchases with greeting)
- Unified mechanisms for moving between the screens and options on the web pages.
- Extend the book descriptions to provide more details reading book structure and content.
- Ability to review previous shopping history for the customer
- Ability to modify information for the customer (shipping address and so on)
- Information to personalise the pages across different screens when logged into the system.
- Ability to peruse and add items to the cart without being logged in or registered to the system
- Ability to add and remove items to a wish list as future possible purchases.
- Ability to review historical purchases for registered and authenticated users.
- Users should be given the option to rate/review a book once they are a member and have logged into the system.
- List of the rate/reconditions of books by the customers
- Extend the options to include other categories of products beyond computer programming
- Expand the collection of customer information to include contact details and newletters as well new product notifications
- Current front screen needs to be brought up to date and made more functional.
Structural Changes
The structural changes are modifications to the system either logical or physical by addition of new capabilities or design to add or capture new data or activities.
Currently the information tier is a simple item in the backing bean to fill in the DB with books and details. For current iteration of the project you can either keep it in the in memory database or convert the system to a physical Data Base system. If using the in memory database you will need to modify the process so that changes to the database can be exported in appropriate format to be loaded at next start-up of the system. Current solution uses classes to create the database entries which will not be flexible for our purposes.
Functional Changes
There are a number of changes that need to be implemented in terms of processing to make the system more suitable for the organisation. These changes are designed to provide extra feedback and incentive for users to return and participate in the product offerings.
Things to be addresses by new design
- A more functioning database mechanism needs to be implemented to record and search the information stored in the application
- The system must be able to support multiple connections and processes by appropriately separating the state information between different communications.
- At the finalisation of the purchases a 10% discount added to the current purchases to users who have submitted 5 or more reviews or ratings in the system.
- Collect information to create a mailing list of customers with their authorisation. The system will look at the wish list and notify of them of the current process as well as any new products in their wish list category
- Authentication and for logging into the system. Preferably that you use the existing facilities security mechanisms but if that fails write your own checks
- Full controls of the shopping cart to be able add and remove items as well as process payments.
- Where possible provide client side checks and validations for input before being submitted
Final Thoughts
While the changes do not look difficult in order to add them to the existing system they require quite a good understanding of how the current system is working and the services supplied by each of the technologies. While the changes might look trivial actually implementing them can be quite demanding.
The biggest change will be moving to the database option and linking the resources correctly. All the activities are grouped around the data store and access operations. Once you are over that hurdle and can access the data store you can either use mapping or backing bans for the access. Both options have their advantages and disadvantages.
The final design and operation of the screen are left up to the individual. Note that you are encouraged to utilise the new design features and technologies. Solutions which have been discarded / deprecated by the J2EE systems should not be implemented. For example you are encouraged to use JSF solutions in place of Servlets or scriptlets. Separation of responsibilities and a good MVC design is very important for future development.
The downloaded textbook provides you with a lot example code demonstrating various technologies or procedures to correctly set up and deploy the solutions. You are strongly encouraged to carefully go through the different aspects to familiarise yourself with the technology and terminology. Try and work only on one part at a time as a small error can be quite hard to diagnose. Please use the discussion list for the course to discuss issues and possible problem solutions.