Reference no: EM132765924
CIS2003 Component Based Software Development - University of Southern Queensland
Assignment specification - This assignment specification is following the assignment specification for the first submission of your web application design and the incorporation of the feedback that you received from the marker for your first submission.
For all the implementations in your assignment, use the components that are covered by this course. This course only covers server side programming, therefore no client side scripting must be used. As you are manually building your web application over time, ensure that there will be no reference to scripting.
The following list of assignment requirements are needed for the second submission:
1. Formatting
2. Create a web user control
3. Category selection
4. Display your products
5. Display all details for one product
6. Class de finitions
7. Shopping cart
8. Issues and Anomalies
1. Formatting
You need to design and implement the formatting (positioning and color) of the components on each web form. You need to aim for a simple design, functional, and appropriate for your retail business. This is a small part of the development and important that do not spend too much time on it. It is part of many tasks. Do not compromise the other requirements due to spending too much time on formatting.
Provide the following:
For all web forms (web pages) in your web application
clean and functional design appropriate for the retail business
CSS and themes simple and functional implementation
2. Create a web user control
While you are given freedom in other aspects of you web application design, this part of the design you are required to provide the following: Create two web user controls (.ascx), one as a footer and one as a header. Place a list of links in the footer, and the business name, logo, and contact details, and links in the header. The icon representing a shopping cart must be located on the right side of the header.
Provide the following:
create the web use control with above outlined details
placement of the web user control used on all web forms
3. Category selection
Provide the customers with an option to select a category using a hyperlink. Once the customer selected a category, only the list of products within the category must be displayed.
Provide the following:
the implementation of the required number of categories (see below first submission link, label in red for details)
the source code (code-behind) of passing the selection to the XSLT file by using XSLT Arguments
4. Display your products
The page will display all the products within the selected category.
All product details are extracted from the XML file using the XSLT file as demonstrated in the corresponding weekly exercise.
The XML and XSLT file are assigned to an XML control and only the XML control must display the products.
Only provide the following details for each product:
Product name
Product picture (smallest size)
Product price
Functionality to "Add to cart"
Functionality to display more product details (separate web form)
Provide the following:
display of products using XML control only
product details are extracted from the XML file using XSLT
5. Display all details for one product
The "Functionality to display more product details (separate web form)" requires another web form to display all the details of the one product web controls showing the header and footer
Product name
Product picture (appropriate size)
Product price
Functionality to "Add to cart"
Product model (depending on the retails business you may need to use ISBN for books, etc.)
Product description (it might outline the functionality of the product, or if it is a book, what the book is about. Keep it short.
Functionality to return to the previous page
Depending on the type of your retail business, you are permitted to display other information.
All the above information comes from the XML file.
The page must be pleasingly arranged with the information well balanced across the white space available and will only display all the details for the select product.
There must be a link to return to the previous page from which the user came.
Provide the following:
well designed web form with all above
specified details.
6. Class definitions
In your code-behind (source code) create a class definition for Product and a class definition for Customer.
Product
This class definition needs to cater for all the details for a product, including its category, as well as quantity. You need to provide the function to determine the current quantity and update it in accordance to the input from the customer.
This class definition will then be instantiated at time of adding the product to shopping cart.
The Product object must then be added to a Collection. And the Collection must be added to the Session object.
Customer
Create a Customer class definition. Read the assignment specification for the third submission,
2. Data Entry, Customer details.
You are permitted to create more classes for other purposes in your web application if you wish. Provide the following:
Product class definition
Customer class definition in accordance with and preparation of the specifications for the third submission in appropriate place within the application, the instantiation of Product object, update of
Product object, adding Product object to a Collection, and updating the Session object with the Collection.
7. Shopping cart
The shopping cart concept
A shopping cart in a supermarket is a physical cart with wheels, into which we place the products we want to purchase. It sometimes happens that we add two products, then change our mind and return one to the shelf. There are many examples that you can recall from your own experience of how products go in and out of a shopping cart in the supermarket - and for different reasons.
However, once you queue at the check out, you decided to purchase the products that are in the shopping cart. Up until this point, it will not be known what you will purchase, and you might not purchase anything at all.
The same philosophy applies to the online shopping cart, and the customer must be able to add products, then be able to delete or change quantity.
Add to cart
Two ways for the customers to add a product into the shopping cart:
Customer is positioned on the product page that lists all the products under the selected category.
Customer is positioned on the product details page that displays all the details of one product.
This would have been demonstrated in the corresponding weekly exercises.
Implementing the shopping cart concept
The example of the supermarket shopping cart above is a concept. For the web application, the concept of shopping cart means that a product (an object) is added into a Collection (ArrayList). The Collection is the representation of a shopping cart that remains in memory until the customer has completed the purchasing process. In other words, the Collection becomes the shopping cart. The product is an object that has all the details, and was created using an Product class definition. The object, and instance of the Product class, is placed into the Collection (the shopping cart).
The details of the product reside in the XML file and are set up by the XSLT file for the product page and product details page accordingly. On clicking the add to cart functionality these details are transferred and made available through Query String in the code-behind that is then extracted and the Product details are send to the Product object.
On the server the code-behind will execute to: Create an object of class type Product (see class definition below)
Add the Product object into a collection
Add the collection to the Session object
Due to issues with maintaining state, once the customer moves to another page all information in variables will be lost. Placing the Collection into the Session object allows us to keep the data while the customer moves between different pages. This also means that you need to build-in a test condition that first checks to see if the Session object already has this Collection, and if not create and add one - before getting access to the Collection and adding products.
Provide the following:
the above instructions implemented in the code-behind
implementation of the Collection by using an ArrayList in appropriate place within the application, the instantiation of Product object, update of Product object, adding Product object to a Collection, and updating the Session object with the Collection
a check is present to determine if the Session object contains the Collection, and if not it will be handles accordingly print screens of test data (can be in debug mode) will be required as evidence
Shopping cart page
When the customer clicks on the icon representing a shopping cart, the corresponding shopping cart web form will be displayed.
It will show all the products in the shopping cart, with their product name and identifying data (model number, ISBN, etc.), the quantity, single item cost, all item cost per product, and a total of all item costs at the end.
The shopping cart page must work with no products as well as one or more products.
Provide the following:
well formatted shopping cart page screen capture of shopping cart empty without exception
exception handling implemented in the code-behind ability to delete an item from the shopping cart
ability to change (increase and decrease) the quantity of a product
refreshing total cost for all products on any
action by the customer
link to continue shopping
link to checkout products
8. 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.
Attachment:- Component Based Software Development Assignment File.rar