Functional independence is achieved by developing a module in such a way that it uniquely performs given sets of function without interacting with other parts of the system. The software that uses the property of functional independence is easier to develop because its functions can be categorized in a systematic manner. Moreover, independent modules require less maintenance and testing activity, as secondary effects caused by design modification are limited with less propagation of errors. In short, it can be said that functional independence is the key to a good software design and a good design results in high-quality software.
There exist two qualitative criteria for measuring functional independence, namely, coupling and cohesion. Coupling measures the degree of interdependence among the modules.
Several factors like interface complexity, type of data that pass across the interface, type of communication, number of interfaces per module, etc. Module coupling is categorized into the following types. However, some components may be designed for a specific task.
A component-level design can be represented by using some intermediary representation e. The design of data structures, interfaces, and algorithms should conform to well-established guidelines to help us avoid the introduction of errors. Each component has its own interface that specifies required ports and provided ports; each component hides its detailed implementation.
A component should be extended without the need to make internal code or design modifications to the existing parts of the component. Depend on abstractions component do not depend on other concrete components, which increase difficulty in expendability. Connectors connected components, specifying and ruling the interaction among components.
The interaction type is specified by the interfaces of the components. Components interaction can take the form of method invocations, asynchronous invocations, broadcasting, message driven interactions, data stream communications, and other protocol specific interactions.
For a server class, specialized interfaces should be created to serve major categories of clients. Only those operations that are relevant to a particular category of clients should be specified in the interface. A component can extend to other components and still offer its own extension points. It is the concept of plug-in based architecture.
This allows a plugin to offer another plugin API. Creates a naming conventions for components that are specified as part of the architectural model and then refines or elaborates as part of the component-level model. What is more, components are not tied to specific subpages, which means that you can use them throughout your website. Examples of such components include text blocks, a photo banner, a contact form, or a call-to-action block. If you find yourself in a need to come up with a new landing page in a pinch, you can easily and quickly build one using a library of ready-made components.
What are the advantages and benefits of a website structure based on ready-made components? One of the most important ones is definitely versatility in reusing these building blocks since they enable you to freely shape and rearrange your website without the help of developers. What is more, thanks to a broad range of ready-made elements, your website becomes a universal content presentation tool. They are designed in such a way as to make any website administrator able to easily modify and add required sections and build new subpages.
In other words, you can simply click your way to a new subpage if you need one. Thanks to reusing components on various subpages, all changes in design or code modifications of a given element are easier. You can modify the design of the component template, and all subpages containing the component will immediately adapt and reflect the changes.
The shortcut should be easily remembered by the users. The interface screen should be friendly to users. Make the interface consistent The system must allow the user to put task into meaningful context. Consistency should be maintained for all the interaction. Do not change the past system that is created by the user expectation unless there is a good reason to do that.
User interface design issues The user interface design consist of following four issues: 1. Response time of the system Length and variability are the two important characteristic of the system response time. User help facilities The user of each software system needs the help facility or the user manual for the smooth use of the software. Error information handling Many error messages and warnings are created which irritate the users as they are not meaningful. Only the critical problems should be handled.
Error message guidelines are as follows: The language of error message should be described in plain language i. For recovering the error,useful advice should be provided. The error message must have an audible or visual indications like beep, short flashing or the special error color. The error messages must indicate any negative result so that the user verifies it.
0コメント