Web460 Week 5 Lab – Guaranteed 100% Score

Payment Details


Lab Price = $15
Please feel free to send us your queries at: [email protected]
Payment Methods

Add to Cart

Buy Now

View Cart

Problem Statement
Lab 5 of 7: Refactoring and Security
08:18 AM MT
What’s this?

iLab Overview


In this week’s iLab, we refactor our web application and add a secure login feature.

Part I: Refactoring
As applications grow and change with added features and fixed bugs, they can become unwieldy and very difficult to maintain. When an application is difficult to maintain, even a small change to the app can result in hard-to-find bugs. The original design of the application may no longer support the features and functionality present in the current application version.

The solution to this situation is refactoring the application code to better distribute the workload among the classes in the application. Refactoring does not change the external functionality of software; it changes the internal structure by reorganizing it. After refactoring our application, it should look the same to users but execute more efficiently and be easier to maintain.

pgCheckOut.aspx.cs has become fairly large, making it difficult to maintain. The reason for this is that we have the pgCheckOut class doing much of the work that belongs in the business layer and data layer. For this week, the goals of our refactoring are as follows.

Correctly distributing application functionality
The presentation layer ( pgCheckOut) manages user interaction through the ASP form. It makes requests of the business layer for data to populate form fields, responds to button presses, and sends form data to the business layer for processing.
The business layer ( clsBusinessLayer) validates data, catches exceptions, and corrects them if possible. This layer handles communication between our application and others (through an XML file) and retrieves data from the data layer.
The data layer ( clsDataLayer) interacts with database and responds to requests form the business layer. When we are finished with our refactoring, pgCheckOut.aspx.cs should not need any knowledge or interaction with the data layer (clsDataLayer.cs)
Replace repeated or duplicate code with methods to improve maintainability
We want to replace code that is duplicated in several places with either a method when it is a sequence of statements, or a data field when it is a reused piece of data, such as the data directory’s Server.MapPath. We already reduce duplication on our forms by using master pages. This step allows us to reduce duplication in our code.

Part II: Secure Login
Because our application manages customer information, we should provide a secure login so that only authorized users can view and manipulate customer information. Our secure login page accepts a username and password. If the same user fails to correctly enter his or her password three times, that user’s account is locked and the person must contact the system admin to unlock it. If there is a total of six failed login attempts during the session, no matter the user, the application locks by hiding the login/submit button.

Here is an outline of this lab:

PART 0: Prepare Your Project

Start your project as a copy of the Week 4 iLab
PART I: STEP A: Move the GetAllCustomers Functionality to the Business Layer

Add a method to clsBusinessLayer.cs and modify a method in pgCheckOut.aspx.cs.
PART I: STEP B: Move Update and Insert Customer Functionality to the Business Layer

Add two methods to clsBusinessLayer.cs, add a new method to pgCheckOut.aspx.cs, and modify two other methods in pgCheckOut.aspx.cs.
PART I: STEP C: Move Retrieving a Single Customer’s Data to the Business Layer

Add a method to clsBusinessLayer.cs and modify a method in pgCheckOut.aspx.cs.
PART II: STEP D: Data Layer Functionality: Validating and Locking Users

Add two methods to clsDataLayer.cs.
PART II: STEP E: Implement the Business Layer Functionality to Verify User Credentials

Add one method to clsBusinessLayer.cs.
PART II: STEP F: Create the Login Form

Create a form, user the site master page and add controls.
PART II: STEP G: Implement Login Functionality

Validate user credentials and redirect to pgCheckOut.aspx.
PART II: STEP H: Harden Your Application (Optional)

Optionally add features to obscure passwords and prevent SQL injection.
PART II: STEP I: Finalize the iLab


Submit your assignment to the Dropbox, located at the top of this page. For instructions on how to use the Dropbox, read these step-by-step instructions.

(See the Syllabus section “Due Dates for Assignments & Exams” for due dates.)

Please zip and submit the entire web project folder to the assignment Dropbox.




* If you want to purchase multiple products then click on “Buy Now” button which will give you ADD TO CART option.Please note that the payment is done through PayPal.
* You can also use 2CO option if you want to purchase through Credit Cards/Paypal but make sure you put the correct billing information otherwise you wont be able to receive any download link.
* Your paypal has to be pre-loaded in order to complete the purchase or otherwise please discuss it with us at [email protected].
* As soon as the payment is received, download link of the solution will automatically be sent to the address used in selected payment method.
* Please check your junk mails as the download link email might go there and please be patient for the download link email. Sometimes, due to server congestion, you may receive download link with a delay.
* All the contents are compressed in one zip folder.
* In case if you get stuck at any point during the payment process, please immediately contact us at [email protected] and we will fix it with you.
* We try our best to reach back to you on immediate basis. However, please wait for atleast 8 hours for a response from our side. Afterall, we are humans.
* Comments/Feedbacks are truely welcomed and there might be some incentives for you for the next lab/quiz/assignment.
* In case of any query, please donot hesitate to contact us at [email protected].
* MOST IMPORTANT Please use the tutorials as a guide and they need NOT to be used for any submission. Just take help from the material.
******************************************** Good Luck ***************************************************
Payment Details


Lab Price = $15
Please feel free to send us your queries at: [email protected]
Payment Methods

Add to Cart

Buy Now

View Cart

Privacy Policy
We take your privacy seriously and will take all measures to protect your personal information.
Any personal information received will only be used to fill your order. We will not sell or redistribute your information to anyone.
Refund Policy
Incase you face any issues with the tutorial, please free to contact us on [email protected]
We will try our best to resolve the issue and if still persists we can discuss for a refund in case its required.

Leave a Reply