You are required to design, implement, test and document windows forms application within Microsoft Visual Studio 2017 community edition environment (C#). The application will implement the following app.
A carpet company has asked you to write an application that calculates the price of carpeting for rectangular rooms. To calculate the price, you multiply the area of the room (width times length) by the price per square meter of carpet. For example, the area of a room that is 6 meter long and 5 meter wide is 30 square meter. To cover that room with carpet that costs £8 per square meter would cost £240 (6x5x8=240)
First, you should create a class named RoomDimension that has two Fields: one for the length of the room and one for the width. The RoomDimension class should have a method that returns the area of the room (the area of the room is the room's length multiplied by the room's width).
Next, you should create a RoomCarpet class that has a RoomDimension object as a field. It should also have a field for the cost of the carpet per square meter. The RoomCarpet class should have a method that returns the total cost of the carpet.
Once you have written these classes, use them in an application that asks the user to first enter the number of rooms. For each room, the user must enter dimensions, then calculate the area. The next step is to enter the price per square meter of the desired carpeting and calculating the carpeting price per room. This repeats for each room and the application should calculate and display the total cost of the carpeting for all the rooms at the end.
All the values on the forms are required and you need to check the value range for valid inputs. If you entered the values wrong there should be a clear button that clears all the values from the form.
Expected programming output: For fulfilment of task 3 you need implementation of all the functionalities, providing that they are complete and follow OOD and OOP principles, it is possible to achieve full marks.
Various programming language are available to design and develop the application.
Discuss the principles, characteristics and features of objected oriented programming.
Explain the advantages of OOP principles in the design of software solution to a problem such as described in the above scenario. Here you may refer to inheritance, modularity and extensibility.
You need to produce a full design for the requirements given. Identify the objects and data and file structures for given problem
For the requirement specification given in the above scenarios, identify and list the classes required in your proposed OOP design solution. Show these by drawing a UML class diagram(s) depicting the classes (with their attributes and methods) and their relationships with each other in the design.
Within the MS Visual Studio (VS) IDE implement an objected oriented solution to each of the above given problem scenarios. Your code must follow good software design and development conventions some of which are given in the good programming practice section below. You must also demonstrate effective use of the VS IDE, including code and screen templates. To this end, you have to:
Implement your design for the software designed in tasks 2.1 and 2.2.
Your code must make use of programming standards to define relationships between objects to implement design requirements
You should state any changes made to the design with reasons by implementing object behaviours and using control structures to meet the designed algorithms.
Screenshots evidence showing coding and running of the program must also be included.
Important: You need to screenshot all of the source code very visibly and include it in your final report. Please avoid attaching the source code to the final report.
Critically review and test an object orientated programming solution you developed for the given scenario.
Analyses actual test results against expected results to identify discrepancies. You are advised to use a table to show this.
Evaluate independent feedback on a developed object oriented programme solution and make recommendations for improvements.
Create onscreen help to assist the users of the computer program you developed.
As part of the user and design documentation, create brief documentation for the support and maintenance of the program and day-to-day user.
A Class describes the characteristics of some real objects/events that occurs in the real word. The class specifies the characteristics of class as the properties and behavior and operations on those attributes as the methods. Example: Person is a class
Objects are instance of classes. Example: John is a person
Data abstraction is used to hide complex internal details from the external user. It is based on the idea that to consider only important details and ignoring other details.
Data Encapsulation involves hiding the data from the external world. The hidden data are accessed by the external world using accessors and mutators.
Inheritance is used to reuse the existing functionality of the classes in the new class. Inheritance improves the readability of the code and ensures code re-usability.
Polymorphism means the ability to take many forms. Polymorphism enables the function and operator to perform more than one task under the same name with different number of parameters, different data type or different return type.
Some of the advantages of using OOP principle while developing the application includes:
Objects Identification:
To develop the application that calculates the cost of carpeting rooms, it requires the objects of carpet that is used and the object of the room which needs to be carpeted.
Classes Identification:
To develop the application that calculates the cost of carpeting rooms, it requires the classes for RoomDimension and RoomCarpet.
RoomDimension class stores the properties of the room which includes the length and width of the room.
RoomCarpet class stores the dimension of the room to be carpeted and the cost of carpet per square meter
The RoomDimension class in addition to the constructor of the class, it contains the function named areaOfRoom() which determines the area of the rectangular room by multiplying the room length with the room width.
The RoomCarpet class in addition to the constructor of the class, it contains the function named costOfCarpeting() which determines the cost of carpeting the given room. This is done by multiplying the room area with the cost of the carpet.
The structure of the CarpetCostCalculator application is given below.
The RoomCarpet.cs file contains the RoomCarpet Class
The RoomDimension.cs file contains the RoomDimension Class
The file Form1.cs stores the GUI of the Carpet Cost calculator application
The Program.cs stores the main program of the application.
The user interface of CarpetCostCalculator application is given below.
Initially the user is required to enter the number of rooms. After entering the number of rooms, the Get Room Dimension button is enabled. On clicking the Get Room Dimension button, it requests user to enter the length and width of specified number of rooms. After entering the room dimension, the text box to enter the carpet cost is enabled. After entering the cost of the carpet, the Calculate button is enabled. On clicking the Calculate button the total cost of carpeting the specified number of rooms is displayed to the user. On clicking the clear button, all the entries are deleted, and the state goes back to the initial state. On clicking the exit button, the application exits.
To develop the application that calculates the cost of carpeting rooms, it requires two classes namely the RoomDimension and RoomCarpet.
The RoomDimension class stores the length and width of the room. The RoomDimesion class contains a constructor that is used to initialize the RoomDimension object with the length and width of the room. The class contains the areaOfRoom() function, it calculates the area of the room by multiplying the room length with its width and return its area.
The RoomCarpet class stores the cost of the carpet per square meter and the dimension of the room to be carpeted. The RoomCarpet class contains a constructor that is used to initialize the RoomCarpet object with the room dimension and the cost of the carpet. The class contains the costOfCarpeting() function, it calculates the cost of carpeting the room of specified size. Tjos is done by multiplying the are of the room with the carpet cost.
An Association relationship exist between the RoomDimension and RoomCarpet class.
The use case diagram of the Carpet CostCalculator application is given below.
On executing an application, a form is displayed, which request to enter the number of rooms Initially a form is displayed to user requesting to enter the number of room. The user then enters the length and width of the room. The user also enters the carpet cost. Finally, the user clicks the button to request the application system to determine the total cost of carpeting all the rooms.
Now the application system determines the area of each room then determines the cost of carpeting each room. Finally, the total cost is found, and the result is displayed to the user.
RoomDimension.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace CarpetCostCalculator
{
class RoomDimension
{
private int roomLength;
private int roomWidth;
public RoomDimension(int length, int width)
{
roomLength = length;
roomWidth = width;
}
public int areaOfRoom()
{
return roomLength * roomWidth;
}
}
}
RoomCarpet.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace CarpetCostCalculator
{
class RoomCarpet
{
RoomDimension dimensionOfRoom;
int carpetCost;
public RoomCarpet(RoomDimension dimension, int cost)
{
this.dimensionOfRoom = dimension;
this.carpetCost = cost;
}
public int costOfCarpeting()
{
return carpetCost* dimensionOfRoom.areaOfRoom();
}
}
}
An association relationship between exist between the Room Dimension and the RoomCarpet class. This because the dimension of the room is associated with the room carpet class. This is notified via the RoomDimension object acts as the attribute of the RoomCarpet class.
There have been no changes made to the initial design document. Control structures like if and for loop are used while implementing the CarpetCostCalculator application. “If” control structure is used to test whether the data is valid. “while” control structure is used to perform continuously until the correct data is entered.
The GUI coding of main form is given below:
Form1.Designer.cs:
namespace CarpetCostCalculator
{
partial class Form1
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
this.label1 = new System.Windows.Forms.Label();
this.label2 = new System.Windows.Forms.Label();
this.label3 = new System.Windows.Forms.Label();
this.noOfRoomsTxtBx = new System.Windows.Forms.TextBox();
this.carpetCostTxtBx = new System.Windows.Forms.TextBox();
this.getRoomDimensionButton = new System.Windows.Forms.Button();
this.clearButton = new System.Windows.Forms.Button();
this.calculateButton = new System.Windows.Forms.Button();
this.exitButton = new System.Windows.Forms.Button();
this.costLabel = new System.Windows.Forms.Label();
this.SuspendLayout();
//
// label1
//
this.label1.AutoSize = true;
this.label1.Font = new System.Drawing.Font("Microsoft Sans Serif", 15.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.label1.Location = new System.Drawing.Point(172, 9);
this.label1.Name = "label1";
this.label1.Size = new System.Drawing.Size(187, 25);
this.label1.TabIndex = 0;
this.label1.Text = "Carpet Company";
//
// label2
//
this.label2.AutoSize = true;
this.label2.Location = new System.Drawing.Point(22, 59);
this.label2.Name = "label2";
this.label2.Size = new System.Drawing.Size(95, 13);
this.label2.TabIndex = 1;
this.label2.Text = "Number of Rooms:";
//
// label3
//
this.label3.AutoSize = true;
this.label3.Location = new System.Drawing.Point(22, 120);
this.label3.Name = "label3";
this.label3.Size = new System.Drawing.Size(65, 13);
this.label3.TabIndex = 2;
this.label3.Text = "Carpet Cost:";
//
// noOfRoomsTxtBx
//
this.noOfRoomsTxtBx.Location = new System.Drawing.Point(143, 56);
this.noOfRoomsTxtBx.Name = "noOfRoomsTxtBx";
this.noOfRoomsTxtBx.Size = new System.Drawing.Size(100, 20);
this.noOfRoomsTxtBx.TabIndex = 3;
this.noOfRoomsTxtBx.TextChanged += new System.EventHandler(this.noOfRoomsTxtBx_TextChanged);
//
// carpetCostTxtBx
//
this.carpetCostTxtBx.Location = new System.Drawing.Point(143, 113);
this.carpetCostTxtBx.Name = "carpetCostTxtBx";
this.carpetCostTxtBx.Size = new System.Drawing.Size(100, 20);
this.carpetCostTxtBx.TabIndex = 4;
this.carpetCostTxtBx.TextChanged += new System.EventHandler(this.carpetCostTxtBx_TextChanged);
//
// getRoomDimensionButton
//
this.getRoomDimensionButton.Location = new System.Drawing.Point(298, 53);
this.getRoomDimensionButton.Name = "getRoomDimensionButton";
this.getRoomDimensionButton.Size = new System.Drawing.Size(125, 23);
this.getRoomDimensionButton.TabIndex = 5;
this.getRoomDimensionButton.Text = "Get Room Dimension";
this.getRoomDimensionButton.UseVisualStyleBackColor = true;
this.getRoomDimensionButton.Click += new System.EventHandler(this.getRoomDimension_Click);
//
// clearButton
//
this.clearButton.Location = new System.Drawing.Point(177, 189);
this.clearButton.Name = "clearButton";
this.clearButton.Size = new System.Drawing.Size(91, 23);
this.clearButton.TabIndex = 6;
this.clearButton.Text = "Clear";
this.clearButton.UseVisualStyleBackColor = true;
this.clearButton.Click += new System.EventHandler(this.clearButton_Click);
//
// calculateButton
//
this.calculateButton.Location = new System.Drawing.Point(38, 189);
this.calculateButton.Name = "calculateButton";
this.calculateButton.Size = new System.Drawing.Size(94, 23);
this.calculateButton.TabIndex = 7;
this.calculateButton.Text = "Calculate";
this.calculateButton.UseVisualStyleBackColor = true;
this.calculateButton.Click += new System.EventHandler(this.calculateButton_Click);
//
// exitButton
//
this.exitButton.Location = new System.Drawing.Point(298, 189);
this.exitButton.Name = "exitButton";
this.exitButton.Size = new System.Drawing.Size(91, 23);
this.exitButton.TabIndex = 8;
this.exitButton.Text = "Exit";
this.exitButton.UseVisualStyleBackColor = true;
this.exitButton.Click += new System.EventHandler(this.exitButton_Click);
//
// costLabel
//
this.costLabel.AutoSize = true;
this.costLabel.ForeColor = System.Drawing.Color.Red;
this.costLabel.Location = new System.Drawing.Point(111, 153);
this.costLabel.Name = "costLabel";
this.costLabel.Size = new System.Drawing.Size(0, 13);
this.costLabel.TabIndex = 9;
//
// Form1
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(432, 249);
this.Controls.Add(this.costLabel);
this.Controls.Add(this.exitButton);
this.Controls.Add(this.calculateButton);
this.Controls.Add(this.clearButton);
this.Controls.Add(this.getRoomDimensionButton);
this.Controls.Add(this.carpetCostTxtBx);
this.Controls.Add(this.noOfRoomsTxtBx);
this.Controls.Add(this.label3);
this.Controls.Add(this.label2);
this.Controls.Add(this.label1);
this.Name = "Form1";
this.Text = "Carpet Cost Calculator";
this.ResumeLayout(false);
this.PerformLayout();
}
#endregion
private System.Windows.Forms.Label label1;
private System.Windows.Forms.Label label2;
private System.Windows.Forms.Label label3;
private System.Windows.Forms.TextBox noOfRoomsTxtBx;
private System.Windows.Forms.TextBox carpetCostTxtBx;
private System.Windows.Forms.Button getRoomDimensionButton;
private System.Windows.Forms.Button clearButton;
private System.Windows.Forms.Button calculateButton;
private System.Windows.Forms.Button exitButton;
private System.Windows.Forms.Label costLabel;
}
}
Form1.cs:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace CarpetCostCalculator
{
public partial class Form1 : Form
{
RoomDimension[] roomsDimensions;
public Form1()
{
InitializeComponent();
carpetCostTxtBx.Enabled = false;
calculateButton.Enabled = false;
getRoomDimensionButton.Enabled = false;
}
private void clearButton_Click(object sender, EventArgs e)
{
noOfRoomsTxtBx.Text = "";
carpetCostTxtBx.Text = "";
costLabel.Text = "";
carpetCostTxtBx.Enabled = false;
calculateButton.Enabled = false;
getRoomDimensionButton.Enabled = false;
}
private void getRoomDimension_Click(object sender, EventArgs e)
{
int roomCount = 0;
string lengthOfRoom = "";
string widthOfRoom = "";
int roomLength = 0;
int roomWidth = 0;
if (int.TryParse(noOfRoomsTxtBx.Text, out roomCount))
{
roomsDimensions = new RoomDimension[roomCount];
for (int i = 0; i < roomCount; i++)
{
Boolean valid = false;
while (!valid)
{
lengthOfRoom =
Microsoft.VisualBasic.Interaction.InputBox(
"Enter the length of Room" + (i + 1),
"Input Room Dimension", "0", 0, 0);
if (int.TryParse(lengthOfRoom, out roomLength))
valid = true;
else
MessageBox.Show("The length of the room is not valid");
}
valid = false;
while (!valid)
{
widthOfRoom =
Microsoft.VisualBasic.Interaction.InputBox(
"Enter the width of Room" + (i + 1),
"Input Room Dimension", "0", 0, 0);
if (int.TryParse(widthOfRoom, out roomWidth))
valid = true;
else
MessageBox.Show("The width of the room is not valid");
}
roomsDimensions[i] = new RoomDimension(roomLength, roomWidth);
}
carpetCostTxtBx.Enabled = true;
}
else
{
MessageBox.Show("Enter the valid number of rooms");
}
}
private void exitButton_Click(object sender, EventArgs e)
{
this.Dispose();
}
private void carpetCostTxtBx_TextChanged(object sender, EventArgs e)
{
int cost;
if (int.TryParse(carpetCostTxtBx.Text, out cost))
calculateButton.Enabled = true;
else
calculateButton.Enabled = false;
}
private void calculateButton_Click(object sender, EventArgs e)
{
int totalCost = 0;
for (int i = 0; i < roomsDimensions.Length; i++)
{
RoomCarpet roomCarpet = new RoomCarpet(roomsDimensions[i], int.Parse(carpetCostTxtBx.Text));
totalCost += roomCarpet.costOfCarpeting();
}
costLabel.Text = "The cost of carpetting the room is $" + totalCost;
}
private void noOfRoomsTxtBx_TextChanged(object sender, EventArgs e)
{
carpetCostTxtBx.Enabled = false;
calculateButton.Enabled = false;
int roomCount;
if (int.TryParse(noOfRoomsTxtBx.Text, out roomCount))
getRoomDimensionButton.Enabled = true;
else
getRoomDimensionButton.Enabled = false;
}
}
}
On executing the CarpetCostCalculator application the following window is displayed to the user:
On entering the valid number of rooms, the Get Room dimension button is enabled as given below.
On clicking the get room dimension button, a dialog is displayed to enter the length and width of each room as shown below.
After entering the dimension of the room, the carpet cost text field is enabled. On entering the valid cost of the carpet, the calculate button is enabled as given below.
On clicking the calculate button, the cost of carpeting all the rooms is displayed to user
The CarpetCostCalculator application when executed produces the following window to the user:
The Get Room dimension button is enabled, on entering the valid number of rooms. This example is given as shown below.
On clicking the get room dimension button, a dialog is displayed to enter the length and width of each room as shown below.
The carpet cost text field is enabled only after entering the dimension of all the rooms. The calculate button is enabled, on entering the valid cost of the carpet.
The cost of carpeting all the rooms is displayed to user, on clicking the calculate button.
Testing Analysis:
Testing Condition |
Expected Output |
Actual Output |
Number of Rooms: 2 |
Get Room Dimension Button must be enabled |
|
Number of Rooms: 2c |
Get Room Dimension Button must be disabled as the number of rooms is not valid |
|
Length of Room: 12 |
It must try to get the width of the room |
|
Length of Room: 12e |
Displays the error message as the length of the room is not valid |
|
Width of Room: 13 |
It must try to get the length of the next room/ return to the main form |
|
Width of Room: 13s |
Displays the error message as the width of the room is not valid |
|
Carpet Cost: 20 |
The calculate button must be enabled |
|
Carpet Cost: 20e |
The calculate button must be disabled |
|
Number of Room: 2 Length of Room1: 12 Width of Room1: 13 Length of Room2: 14 Width of Room2: 15 Carpet Cost: 20
|
The Cost of carpeting the room is $7320 |
|
Based on the feedback received from users, some of the suggestions for the improvement of the application is provided below.
Onscreen help menu is added to the CarpetCostCalculator application as shown in the figure below.
The revised program after adding the Help information is given below.
Form1.cs:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace CarpetCostCalculator
{
public partial class Form1 : Form
{
RoomDimension[] roomsDimensions;
public Form1()
{
InitializeComponent();
carpetCostTxtBx.Enabled = false;
calculateButton.Enabled = false;
getRoomDimensionButton.Enabled = false;
}
private void clearButton_Click(object sender, EventArgs e)
{
noOfRoomsTxtBx.Text = "";
carpetCostTxtBx.Text = "";
costLabel.Text = "";
carpetCostTxtBx.Enabled = false;
calculateButton.Enabled = false;
getRoomDimensionButton.Enabled = false;
}
private void getRoomDimension_Click(object sender, EventArgs e)
{
int roomCount = 0;
string lengthOfRoom = "";
string widthOfRoom = "";
int roomLength = 0;
int roomWidth = 0;
if (int.TryParse(noOfRoomsTxtBx.Text, out roomCount))
{
roomsDimensions = new RoomDimension[roomCount];
for (int i = 0; i < roomCount; i++)
{
Boolean valid = false;
while (!valid)
{
lengthOfRoom =
Microsoft.VisualBasic.Interaction.InputBox(
"Enter the length of Room" + (i + 1),
"Input Room Dimension", "0", 0, 0);
if (int.TryParse(lengthOfRoom, out roomLength))
valid = true;
else
MessageBox.Show("The length of the room is not valid");
}
valid = false;
while (!valid)
{
widthOfRoom =
Microsoft.VisualBasic.Interaction.InputBox(
"Enter the width of Room" + (i + 1),
"Input Room Dimension", "0", 0, 0);
if (int.TryParse(widthOfRoom, out roomWidth))
valid = true;
else
MessageBox.Show("The width of the room is not valid");
}
roomsDimensions[i] = new RoomDimension(roomLength, roomWidth);
}
carpetCostTxtBx.Enabled = true;
}
else
{
MessageBox.Show("Enter the valid number of rooms");
}
}
private void exitButton_Click(object sender, EventArgs e)
{
this.Dispose();
}
private void carpetCostTxtBx_TextChanged(object sender, EventArgs e)
{
int cost;
if (int.TryParse(carpetCostTxtBx.Text, out cost))
calculateButton.Enabled = true;
else
calculateButton.Enabled = false;
}
private void calculateButton_Click(object sender, EventArgs e)
{
int totalCost = 0;
for (int i = 0; i < roomsDimensions.Length; i++)
{
RoomCarpet roomCarpet = new RoomCarpet(roomsDimensions[i], int.Parse(carpetCostTxtBx.Text));
totalCost += roomCarpet.costOfCarpeting();
}
costLabel.Text = "The cost of carpetting the room is $" + totalCost;
}
private void noOfRoomsTxtBx_TextChanged(object sender, EventArgs e)
{
carpetCostTxtBx.Enabled = false;
calculateButton.Enabled = false;
int roomCount;
if (int.TryParse(noOfRoomsTxtBx.Text, out roomCount))
getRoomDimensionButton.Enabled = true;
else
getRoomDimensionButton.Enabled = false;
}
private void helpToolStripMenuItem_Click(object sender, EventArgs e)
{
MessageBox.Show("1) Enter the valid number of rooms n" +
"2) Click the Get Dimension Button n" +
"3) Enter the length and width of each room n"+
"4) Enter the cost of the carpet n" +
"5) Click the Calculate Button to determine the cost" +
"6) Click the Clear button to clear the text fields n"+
"7) Click the Exit button to exit the application","Information");
}
}
}
4.5 Solution:
Support Documentation:
The steps to be followed by the user to use the CarpetCostCalculator application is given below
Maintenance Documentation:
To export a reference to this article please select a referencing stye below:
My Assignment Help. (2020). HND In Computing. Retrieved from https://myassignmenthelp.com/free-samples/zlx05-hnd-in-computing/develop-application-for-an-carpet-company.html.
"HND In Computing." My Assignment Help, 2020, https://myassignmenthelp.com/free-samples/zlx05-hnd-in-computing/develop-application-for-an-carpet-company.html.
My Assignment Help (2020) HND In Computing [Online]. Available from: https://myassignmenthelp.com/free-samples/zlx05-hnd-in-computing/develop-application-for-an-carpet-company.html
[Accessed 27 January 2021].
My Assignment Help. 'HND In Computing' (My Assignment Help, 2020) <https://myassignmenthelp.com/free-samples/zlx05-hnd-in-computing/develop-application-for-an-carpet-company.html> accessed 27 January 2021.
My Assignment Help. HND In Computing [Internet]. My Assignment Help. 2020 [cited 27 January 2021]. Available from: https://myassignmenthelp.com/free-samples/zlx05-hnd-in-computing/develop-application-for-an-carpet-company.html.
If you do not know how to write a term paper, simply hire us and receive exemplary solutions on the go. Our term paper writing service is effective, affordable and deadline-oriented. We will also help you with interesting topics to research for your term paper assignment. In addition to it, we are committed to sending across 100% original papers. Wondering how? We use advanced plagiarism checkers to look through each and every critical plagiarism issues. So, you need to check plagiarism online for your term papers. We shall send across comprehensive solutions on time.
Answer: Information Communication and Technology in some year has gone through drastic changes in the world. The economic and social structure has been widely affected due to information and communication technology (Buhalia & Schertler, 1999). Through this technology there are various segments in which it has given a chance of development such as Travel & Tourism. Travel and Tourism has been widely benefited as they expanded their mar...
Read MoreAnswer: Introduction Artificial intelligence is a technology and science which are based on the regiments such as mathematics, computer science, biology, psychology and engineering. The primary objective of this task is outline that how artificial intelligence may hamper the society and how it provides various benefits to the clients and organization. AI has a huge and wider impact on various fields that may largely influence the effect...
Read MoreAnswers: 1. Contrasting Access Control for Risks, Threats and Vulnerabilities i) The access control in respect to threats can be demonstrated for two types of threats, which are internal threats and external threats. The internal threats occur from the individuals, who have legalized access like employees or other personnel of a company. It is quite difficult to prevent or detect them as they have legalized access to the systems (Yang et al....
Read MoreAnswer: Describe the steps that you would include in the plan to migrate these services? The aim of the Meta soft board is to create a strategy that will help in migrating their web services in to the cloud server, so that they can get better flexibility and the efficiency will also get increased. Before migrating to the cloud server, there are some major concerns that are needed to be considered to be as the essential part. This are as follo...
Read MoreAnswer: Introduction The principal determination of the document is to focus on the significance of 3D technology which is a new concept in the manufacturing industry. This new technology has enhanced specifications compared to the previous technologies. The 3D printing technologies are accurate and flexible, and it is used to manufacture a wide range of materials (Lu, Li & Tian, 2015). This advanced technology works on a three-dime...
Read MoreJust share requirement and get customized Solution.
Orders
Overall Rating
Experts
Our writers make sure that all orders are submitted, prior to the deadline.
Using reliable plagiarism detection software, Turnitin.com.We only provide customized 100 percent original papers.
Feel free to contact our assignment writing services any time via phone, email or live chat. If you are unable to calculate word count online, ask our customer executives.
Our writers can provide you professional writing assistance on any subject at any level.
Our best price guarantee ensures that the features we offer cannot be matched by any of the competitors.
Get all your documents checked for plagiarism or duplicacy with us.
Get different kinds of essays typed in minutes with clicks.
Calculate your semester grades and cumulative GPa with our GPA Calculator.
Balance any chemical equation in minutes just by entering the formula.
Calculate the number of words and number of pages of all your academic documents.
Our Mission Client Satisfaction
Thanks for doing it on time...great work...fingers crossed for the grades...i hope i get good grades...its a great website to do assignments and all the exams
Australia
Satisfied with the writing style. The writer responded immediately for the revisions which were requested.
Australia
did not have time to start on my assignment and randomly googled for people to do it for me. To my surprise, i found myassignmenthelp and they did it for me just on time for my submission with even time to spare. My first time, but definitely not my ...
Australia
Thank you, thank you, thank you very much. It is one of the most beautiful and highest levels of the solution that I have seen in my life. In all honesty, the expert is very distinguished and he was at the heart of the solution to answer all the poin...
Australia