Monday, August 22, 2016

Software Design



<br /> topic - software<br />


INCLUSIVITY

Inclusive software should take into consideration the different end users who will likely use the product. software developers, have a responsibility to ensure that this is the case. Furthermore, software products that do not take into account different users are less likely to secure a significant market share.

Software design and development is a field that requires various skills and abilities. Companies engaged in the development of software should provide an inclusive work environment where the different strengths of their employees are recognized, utilized and respected. Software development involves far more than programming skills. Personnel are required with strong communication, teamwork, attention to detail, creativity, design and problem-solving skills. Different personnel will possess these skills in varying proportions. It is the job of management to foster and encourage the development and enhancement of skills in the workplace.

In this section, we consider perspectives to increase the inclusivity of software products as well as the skills required by personnel involved in the design and development of software.

PERSPECTIVES TO INCREASE THE INCLUSIVITY OF SOFTWARE

Let us now examine a number of perspectives that should be considered when designing software solutions. In most cases, these perspectives will have direct consequences to the design of the user interface.

Cultural and social perspectives

The culture of a people can be described as the set of ways of living built up over a period of time and passed from generation to generation. It is important that the beliefs and language of different cultures be considered when designing software. Similarly, the social structure of societies is influenced by their underlying culture.

How do we cater for these differences in practice? Firstly, we must understand or at least be empathetic to the needs of other cultures. It is not possible to be an expert on all cultures; however we can easily include users from a variety of cultures as part of the testing processes occurring during development. For example, in most western cultures we have a Christian name and a surname. This is not the case in many Asian cultures where a formal name and an informal name are more commonly used. Testing that includes users from the Asian culture, would quickly highlight this difference.Numbers, currency, times and dates are another common area of difference between cultures. In Australia, we express dates using day then month then year (e.g.. 25/112002). In America, they more commonly use month then day then year (e.g.. 1/25/2002). Again, those used to an alternative format, would soon encounter problems. Similarly, the format of numbers and currency is different in other countries. Sweden uses a comma as its decimal point and a period as a multiplication sign. 5.2 in Sweden would mean 5 times 2 and 3,255 would mean 3 point 255, The dominant language of a country should be used on the user interface when applications are to be sold to those cultures. Many large-scale systems manage to utilize any number of languages by storing the text used to label the interface in a text file that is loaded as the application starts. By altering this single text file the language used by the application can be customized to suit any foreign language. It may not be practical to rewrite our interfaces using a large variety of foreign languages, however we can design them using English that is clear, consistent and unambiguous. In this way users whose first language is not English are more able to comprehend our user interfaces. Cultural differences are often prevalent in regard to religious beliefs. Many religions worship at a particular time during the week. Perhaps software can be written so that processor intensive batch operations can be performed at this time. Attempts at humor within software can often be in bad taste to those with different religious beliefs. Similarly graphics, particularly many appropriate in western cultures, are deemed inappropriate in many eastern cultures. Increased awareness of the audience, including minority cultures and religions, is a vital step in developing culturally inclusive software.


Economic perspectives

Economic perspectives relate to the generation, distribution and use of income and wealth. This can be viewed on a global, national, local or industry specific scale. At present software development is a new industry that is growing in both breadth and overall volume; a very healthy economic situation. As software developers, we have a responsibility to ensure consideration is given to the economic situation of purchasers of software products. This is necessary to ensure the industry maintains a solid position in the market place in the years to come. Unlike most other industries, the cost of software products is most significantly influenced by its design and development costs; the production costs being relatively insignificant. To achieve equality of access to technologies such as software requires that the technology is available at a cost that is economically viable for the widest possible audience. Let us consider some issues related to design and development costs, which in turn influence the final purchase price for users.

Quality

Quality is a measure of how well a product meets the needs of its clients. A product
that better meets the needs of the user will be more successful, however quality costs
money. A software product developed for a single user cannot economically be
produced to the same quality standards as one produced for the global market. A
'balance must be found between cost and quality.

Nature of the market

Software developers must understand the market needs before embarking on new
product development projects. It is not economically feasible to develop a product
where the need it is intended to meet is of less value than the product's cost. A
feasibility study should be undertaken to determine economic feasibility of any new
software project. As software developers, we should acknowledge that some market
needs are better met by non-computer based solutions.
Management of the software design and development process
There are various software development approaches, suited to the
creation of different products. Choosing a suitable approach will result in a more
economically viable product. Different work environments can also influence those
involved in software development. It is often possible for developers to work flexible
hours and to work from home. By creating structures that help developers work more
effectively, managers will reduce costs and increase the quality of the software produced.

Influences on pricing

Companies are ultimately in business to make money. This is the basis of most
western capitalist economies. History shows us that companies that have a monopoly
in their industry tend to produce inferior products at higher costs to consumers. As a
result these companies make large profits. Competition and in some cases government
regulation can assist in ensuring software products are sold at realistic prices and are
within the financial grasp of a wide audience.

Gender perspectives

In most cases the first thing we ask when a new baby is born is whether it is a boy or a
girl. In actuality, this is probably the first thing we perceive when we meet anybody
for the first time. We seem to inherently know and sense the differences between the
sexes. We don't need to view a face or hear a voice; small almost imperceptible cues
almost always allow us to correctly identify the gender of a person. So what are the
major differences and how should these differences be included when designing and
developing software?

Firstly, both men and women should be included in the software design and
development process. At the time of writing, men dominate the industry. Many view
this as a natural consequence resulting from one of the major perceived differences
between men and women. Programming is viewed as a technical, mathematical
process with rigid boundaries. Research shows that rightly or wrongly, men
predominate in these types of occupations. Since men are engaged in the creation of
software, it follows that some bias is likely to exist towards males in the products they
develop.


No comments:

Post a Comment

American revolution and its aftermath

<br /> AMERICAN REVOLUTION AND ITS AFTERMATH<br /> The American Revolution marked the divorce of the British Empire and its...