Computer Science Essays - Web Engineering

Published: Last Edited:

This essay has been submitted by a student. This is not an example of the work written by our professional essay writers.

Dynamic Web Engineering

The Big Red Dragon FireworksFactory produces a large range of fireworks which it sells throughout thefar-East through a network of retailers. Having decided that it wishes to enterthe European market Big Red Dragon has decided to blatantly disregard anylegal, health and safety legislation and advertise its explosive products viathe internet.

Putting aside any moral, legaland ethical issues which a professional software engineer such as yourselfwould and should certainly have with such a venture you have agreed to designand build a dynamic website solution to Big Red Dragon's online requirements.The first stage in this process is to produce for them a working prototype ofthe proposed website. This prototype will be complete in terms of page design,client-side functionality and navigation but the back end database andserver-side functionality will be substituted with static data to illustratehow the eventual website will operate. If Big Red Dragon's managers are happywith the prototype then you will be given a separate contract at a later dateto complete the server-side functionality and database. For this reason you aredetermined to show off your web engineering skills as best you can in thedevelopment of this prototype.

This Assignment

In this assignment you are todesign and implement the front-end HTML and client-side scripting components ofthe system. You should design appropriate pages, include all navigation anduser input forms (with validation) and show where database fields will bedisplayed but you are NOT required to include the actual database connectivity.Wherever you would display database fields in the final system you shouldinstead provide example static text. In particular you are to select and useappropriate tools for the front-end development and where any client-sidescripting is used it should be in the JavaScript language. Your prototypesystem will be a dynamic front-end web solution which will only require theaddition of database connectivity and back-end scripting in order to be read! yto function as a viable and professional E-Commerce application [this will becompleted in Assignment 2].

Big Red Dragon are not exactlysure what it is that they want in their website system so this is a chance foryou to demonstrate your design flair and professional skills. However, they areclear that they would like the following:

  • a logo and corporate style which will be consistent acrosstheir website
  • to enable the customer to view the different products that arefor sale (this should ideally be a multi-paged selection of products) [statictext should be used in place of database fields]
  • to enable the customer to select the products that they wishto purchase
  • to enable the customer to view and edit a shopping cart ofproducts [static text should be used in place of actual values]
  • a currency converter so that customers can view a summary oftheir order in their own country's currency
  • a customer enquiry form

There are no requirements forusernames and passwords for this site

The main software application thatI used during this brief was Macromedia Dreamweaver MX, with the incorporationof Javascript for the dynamic elements of the website. Like all software packages,Dreamweaver MX has advantages and disadvantages. Dependant on the experienceand skills of the user, this package can be a help or a hindrance.

I would say that this package mayappear to be a little daunting to users new to web development, so much so thata lesser package, like FrontPage for example, may be more beneficial and helpbuild user confidence before they move on to Dreamweaver. I do not think thatDreamweaver is ideal for beginners as users are presented with an interfacethat is packed with Dreamweaver's special features. This software package has alot going on with regards to potential tools used for web development andincorporates advanced development tools that some newer users may finddifficult to take on board and understand.

That said, Dreamweaver doesincorporate a great deal of help for users. There is an animated tour thatcomes with the package. This tour looks at the basics of web design, andprovides a good point of reference for developers. Also included in the softwarepackage are numerous tutorials, covering various aspects of Dreamweaver. Thesetutorials are well worth spending a bit of time going through, as they not onlybuild user confidence with the package, but also allow the user to appreciatethe multitude of features incorporated into the package. Also, due to thepopularity of the software, users can quite easily access online tutorials toaid in the speeding up of knowledge intake for this package. These onlinetutorials are pitched at all levels of expertise, from the novices to theexperts.

Dreamweaver will allow users todesign and create web pages without the need for any prior knowledge of HTML(Hyper Text Mark-up Language) as it offers the choice of views for the designenvironment. In the design mode, users can simply chose a template from thevast library available and simply amend these by including text, pictures,hyperlinks etc. Once these features have been implemented into the web page,the automatically produced HTML code can be viewed by changing the viewavailable.

If a developer is looking atcreating a more dynamic site then Dreamweaver can be a bit of a headache. Theautomatically generated HTML code can often be incorrect. The software willattempt to second-guess what the user is trying to achieve. Tags andadditional code are sometimes included where they shouldn't be and theproduction of tables, cascading style sheets and other various attributes ofweb design can go drastically wrong when more complex pages are being developed.

For more complex web pages it isworth using Dreamweaver as a base for the development and concentrate more onthe code view available where the HTML code can be edited manually. Moreexperienced web developers will just use a text editor to produce their pagesas they become increasingly frustrated with the WYSIWYG (What You See Is WhatYou Get) editors.

The more advanced web pagedevelopment requires users to have some working knowledge of programmingskills. The easiest programming language to incorporate into a web page isJavascript, but even this requires the developer to have some insight intowriting easy scripts, and normal data manipulation associated with programming.There are websites available that provide online tutorials to simple Javascriptfunctions, but even these can prove to be difficult to follow for individualsthat have limited or no previous experience with programming.

On the positive side, becauseJavascript is a client-side scripting language, the speed of running the code,and consequently the loading and refreshing of pages, is greatly increased.All the functions incorporated into a web page are executed on the clientmachine and there is no need for the web page to access the web server with thequery, return the results, and then present the results to the user in order torun the script.

There is a security issueassociated with Javascript. Due to the fact that the script will run on theclient's machine, some hackers will use this fact to exploit the clientmachine. Also, all the hard work put into the web pages scripting elements canbe viewed by anyone accessing that particular page if the developer has justincorporated the scripts directly.

Finally, the incorporation ofJavascript on any web page must be carefully tested. Different Web browserswill manage the scripts differently and sometimes the results are not what thedeveloper had wanted. It is definitely recommended that any web page that includesany form of scripting should be tested against all the major browsersavailable. This is also true for non-scripted web pages.

In summary, I enjoy usingDreamweaver for developing web pages. Having created a few web pages in thepast, I find that the software is good in helping me achieve my objective, butdo find that I tend to use the code view as opposed to the design view.