Tuesday, November 29, 2011

Some design perspectives

When an application/product is evaluated, it has to be done in various perspectives. If it fails in one of these, it will be considered as a bad design. Several industry standards exist for this. Some important ones are :

1.Functionality - it should render a decent coverage of various functionalities it boasts to provide. The extent of functionalities which can satisfy its clients depends on the business domain and various terminologies in that. For example, if we consider an online website where we can order books, it should have a good search functionality so that customers can search the books they want by various parameters such as author's name, title, publications, keywords etc.


2.Usability - software should be easy to use. If people need special training to use a software it may not be a good fit for the public in general. One important aspect in this is user interface. But usability is much broader than just the user interface.


3. Accessibility - in certain countries, it is mandated that people with disabilities should be able to use a software. Software should adhere to such guidelines.


4. Security - software that is exposed on the internet should take extra care to ensure that there is no security threat for the users who want to provide their personal information. Again, there are third parties who can certify whether the site is vulnerable for security threats.


5.Performance - If the software has too many functionalities but takes too much time to load, it is again a bad thing. Ideal standard is that a screen/page should not take more than 8 seconds to load. The standard may vary, however it should take as little time as possible.


6.Scalability - refers to how many users(or load) an application can support simultaneously. We all know about those websites which crash when they are needed most.

7.Internationalization - refers to how many languages can the software support. When the software has global presence, it is desired to provide support for multiple locales.

8.Maintainability/Upgradability - this aspect of software is equally important because once the software is developed, it is very likely to undergo a lot of changes over a period of time. If the design of software is not good enough to accommodate new features, it may become a nightmare for developers to support the software.

0 comments: