Reference no: EM133014894
Assignment specification
Continuing from your first and second submission, where you also incorporated the feedback provided to you through the marking process, this submission incorporates all previous assignment requirements. Through the previous assignment submissions you created all the functionality that you can now build upon:
1. Separation of business and GUI layer
2. Data entry
3. Database update
4. Purchase summary page
5. Issues and anomalies
6. Video demonstrating your running web application
1. Separation of business and GUI layer
Implement a clear separation between the Business and GUI layer in your code-behind. The separation between these two layers reflects the need of development in the real world, where time is money, and GUI might be ripped from an application and replaced. Therefore the assumption is that none of the business logic is located in the GUI layer. There would not be sufficient money (translated into time) to also replace the Business layer classes. Changing the business layer classes would require an organisation wide change in processing or government imposed requirements. Otherwise, there is no need to change the Business layer. GUI layer however, is changed frequently to keep up with competition.
The code-behind that is associated with the GUI web form should only be related to the GUI requirements. It should not have any variable assignments or processing methods that would be located in a class definition. The GUI layer should use variables such as object references or form related variables and processing. It would instantiate on object of a class type (your class definition) and then execute required object method.
Object-oriented implementation
The object-oriented methodologies specified in the CIS2003 study book needs to be applied to class definitions as per course convention.
More class definitions
You would have already created the specified class definitions through your second assignment. In addition, you are also required to have class definitions that will be responsible for other processing, such as database update, etc. In addition, you are given the creative freedom to design as many class definitions that you need.
Provide the following:
• one or more class definitions to store the shopping cart in the database
• any other additional class definitions that you decide upon
• instantiation of these class definition within the GUI and execution of object methods
2. Data entry
Input validation
Use Visual Studio validation controls for all data entry. All data must be validated before passing it to the business layer for processing. This includes checking a selection has been made (drop down list).
In addition, once data has been passed to the corresponding business layer object, the objects validation method must also be executed, and any problems immediately communicated back to the GUI layer.
The aim is to get the customer to correct any data that is not correct according to expectations. However, this must be communicated well to the customer, and starts with data entry that provides examples to the customer for any specific format required. For more details see CIS2003 study book.
Customer details
Customer details are split up into billing and shipping, where the customer can select for both to be the same (a tick box) or enter different details as prompted.Customers might want to pay using their own address and the products be shipped to another address if the products are a present for someone.
Customer details consist of
• title (drop-down list), first name, middle name(s), surname
• address details, which must be split up into country, state, town/city, suburb, postcode, street type (drop-down), street name, unit number street number, property name
• phone details, which must be split up into country code, area code, phone number for landline, one mobile phone
• email address.
• Payment details
A word on payment details.
In the real world the organisation would be contracting a third party to take on all of the responsibilities and functionality. In this course we cannot do that and therefore simulate capture of payment details. In other words, drop-down list for credit card type, input for "valid date", "Name on Card", and card number (with information on how to enter), and store this in the database. Please DO NOT use real credit card numbers.
Provide the following:
• Functioning data entry screen integrated into the web application as requested, using Product and Customer object, collections and session object, in conjunction with the validation requirements and other requirements as described above.
• Use of the database class definitions.
3. Database update
Updating of the database must only occur once the customer has gone through the whole process of confirming the products to be purchased, entered their billing and shipping details, entered the payment options, and then received confirmation of all that in one page, and the clicked the last button to complete the purchasing process. At that stage only, will the data be send to the database. Otherwise we would be filling the database with data that is of no use to anyone.
Visualise that the organisation would have other processes, for example, ensuring payment went through ok, and then filling the order from stock. Perhaps an item is not in stock, the retail business might have to call the customer, etc. All activities that do not have anything to do with your web application development, but are processes that will happen after the purchase completion.
Shopping cart transition
In your second submission, you implemented the XML control with the XML and XSLT file. A customer can add products into a shopping cart, and the shopping cart page allowed changing quantity and deleting products, yet still displaying the correct total. For this part of the assignment you need to have the ArrayList with the Product objects working and accessible in the Session object, so that this functions for the process of database update. Your Session object must have the collection with these product objects available at time of writing to the database.
Exception handling
As you will be working with a database you need to implement exception handling. All of the data entry must be in a format that matches the format you have set up in your database. GUI data entry occurs in String format, so you need to cater for conversions. When you set up your database fields keep this in mind.
Provide the following:
• Working implementation of updating database from Product and Customer Objects, implementing appropriate exception handling.
• Use of the database class definitions.
4. Purchase Summary Page
After the customer entered all customer details, provide a summary page showing the contents of the shopping cart with total and all the data entered, and ask the customer to click on a button to finalise the purchase process. Display a thank you for shopping message with a link to return to the home page.
Provide the following:
• Fully working web page with specified details.
• Show the content of the shopping cart with total and all the data entered
• A button to finalise purchase process
• After completion of successful purchase, display a thank you for shopping message with a link to return to the home page.
5. Issues and Anomalies
You may have some plans of how you want to implement some feature, or there may be some issues or anomalies that you are still going to resolve before the next submission. Or there may be incomplete functionality. Communicating this now will provide a better insight into your understanding of the course material, and provide us with a chance to give you feedback.
Provide the following:
• short heading of the issue
• short description of the problem, the steps you have taken to resolve the issue.
6. Video demonstrating your running web application
Create a video with voice over where you demonstrate the functionality of your web application. The length of the video must be 5 minutes.
What not to include in your submission
• Search functionality
• About page
• Contact us page
• Creation of customer account
• Login requirements
• Blog or other Social Media
• Any other functionality that is not essential for the web application to work.
• All your code-behind must be in the code-behind editor - not mixed in with HTML source
• Do not hard code data on your web form or code-behind
• All products must come from the XML - not database
• DO NOT USE JavaScript or any other script - this is not this kind of course
• All code-behind must be executed and run at the server
• Do not use Master-content template at all
• Continue to apply the conventions of this course how to create a web application and how to develop
• Do not use .js files or bin directories
• Do not provide any executable, dll, or active x files
Attachment:- Assignment specification.rar