Home » Web Development » 10 - Design, Architecture and Current Trends
10

Domain Spcific Details

Detailed domain concepts and sitemapping

Many web sites are extremely complex; they contain several sub-domains, topics and paths. A sitemap expands of all the links on the main home page, the links on the sub pages and so on. Captions that describe the contents of every page or branch form part of the sitemap, which is often an html document. A sitemap is very useful to users trying to navigate to a particular page on a large domain. A rough sitemap is also a good way to start developing a web site. This rough map may be very incomplete but will give the different stakeholders a good idea of the size of the project and the sort of modules that requires. Technical people may even be able to figure out best-fit software and hardware for the site using a rough site map.

Site Map of Florist Web Site

Catalogue Page Detailed View of Item
Shopping Cart Add
Shopping Cart View/edit
Place Order
Home Page General Information
Em ail Link For suggestions
Login Page Sign In
Sign Out
Register page New Users - Register
Existing Users - Change Details

Another ubiquitous web design artefact is a mockup. A mockup is a graphical description of each page. Mockups may range from very detailed (some contain specifications on text alignment, offsets, background colors and the images to be used for the smallest buttons) to bare-bones. Some mockups simply show the broad functionality of the page. Notes under a mockup may indicate the function that each button is expected to perform or the value each form field is expected to contain. After the broad picture provided by a rough sitemap, mockups provide invaluable information to web developers on the programming tasks each page contains. The feasibility of implementing a particular function and the amount of time and work involved may be easily determined by a mockup with attached notes.

ScreenShot 10a: Mockup of a From Using Microsoft Word

ScreenShot 10a: Mockup of a From Using Microsoft Word

Use cases are scenarios that describe how a system will interact with users or 'actors'. Coming up with Use Cases is part a process called 'requirements gathering'. This process takes place just before the design stage in the lifecycle of a software project (in a nutshell, this lifecycle consists of pre-design, design, implementation, and testing). Use cases are written in easy-to-understand language by persons who will be using the application and persons who know a lot about the subject-matter under consideration. Below is a use case for the florist web site. The customer is the actor; the use cases are in the ovals.

Figure 10a: Simple Use Case for Florist Web Site

Use cases do not necessarily have a one-to-one correspondence with the features of a system. A single feature may involve many usecases. The focus is on what the system should do and not how it is done - the system itself is looked upon a black box which takes input and returns output

Unified Modeling Language (UML) is a non-proprietary specification language that is used to arrive at an abstract model of a system, referred to as a UML model. UML models are widely used in the field of Software Engineering to model systems under design. UML may be used to model abstruse systems as it contains mechanisms for customization. A system's model consists of three parts. The functional model includes the Use Cases and describes what the system will do from the user's standpoint. The object model is more technical. It contains information about the actual structure of the system - the objects used, the relationships between the objects, lists of the computer programs that are used and so on. The object model sometimes includes information about the database and the data model. Finally, the dynamic model describes how the system behaves. The dynamic model describes flow of control - how programs call other programs or send data to the database and so on and the different states a particular system may be in at any point of time.

While very simple web applications may be designed using mainly broad outlines, mockups, a few use cases and an abbreviated model, a detailed UML model and a complete set of use cases and mockups are integral to applications that require any measure of complexity. Creating such models are time consuming but not very hard. Excellent industry standard software like Rational Rose allow for a significant amount of automation. However, such packages are desirable but not necessary. UML models may be specified using desktop Word Processors, Spreadsheets, and graphics software like Adobe's Photoshop