Use Case Design for Websites Part 1 - Usability Design and Data Organization
(Page 4 of 4 )
When building Web applications, the organization of back-end data is the single most important factor that makes an application easy to implement and maintain from a programmatic and back-end standpoint. Usability analysis can play a large role in this area as well. By making use of the same large groups of use-cases mentioned in the last section, some truly surprising data-organizations can become apparent. In many cases, the functional processes of a website can be very telling in how they access back-end persistent data, thus implying possible divisions in data, as well as suggesting possible places for normalization of that data.
In cases of very individual, unique, or unfamiliar websites, use-cases can help a programmer or designer make sense, through user interactions with a site, how data will be accessed and how that data relates. A simple, obvious example lies in the organization of customer data. Suppose you were to write use cases for how a customer might interact with a Web page to view and change his or her own information as stored by the Web application. Because these use cases are all closely tied, they suggest that all of this data might logically fit together in some kind of close-knit table structure. Clearly, this is an obvious example, but it suggests how a designer might use use-cases to organize the data for an unfamiliar task within a site.
Furthermore, because the presentation of data on a website is stripped of any reference to where that data actually comes from, it can help suggest normalization schemes through which a website’s database can be organized. It can make clearer what data gets presented where to a client. This large-scale look at the way data is presented makes it easy to see where data is repeated across a site, and makes it clearer what data needs to be normalized.
Usability Design and Site Implementation
One place that usability analysis often gets lost is during actual system implementation. During the process of implementation, use-cases often get overlooked when trying to solve problems that arise during the process of implementation. Especially in websites, it is very easy for small lapses in maintaining good design documentation to throw an entire project into non-unified disarray. Adhering closely to design documentation prevents a project from losing the advantages gained by good usability analysis.
If a change is warranted due to implementation stage problems, it is important to reanalyze that change in terms of the use-cases. Web sites are particularly vulnerable to this type of problem. It manifests itself in symptoms found across badly designed sites throughout the Web: buried important info, long click trails to get anything useful, mismatches in scope between entries in link lists, and so forth. These are serious usability issues that can usually be avoided by remaining true to usability design during the actual construction of a website.
In general, good design in a prerequisite for any successful software project. However, it is often an under-appreciated step in website design, for any of the reasons I listed above. This article has dealt specifically with how usability analysis fits with site layout and how it might suggest useful schemes for data organization. Usability design is an important tool and belongs in any website software engineer’s toolbox of techniques.
Further Reading on Use Cases:
| DISCLAIMER: The content provided in this article is not warranted or guaranteed by Developer Shed, Inc. The content provided is intended for entertainment and/or educational purposes in order to introduce to the reader key ideas, concepts, and/or product reviews. As such it is incumbent upon the reader to employ real-world tactics for security and implementation of best practices. We are not liable for any negative consequences that may result from implementing any information covered in our articles or tutorials. If this is a hardware review, it is not recommended to open and/or modify your hardware. |