Page 125 - DCAP405_SOFTWARE_ENGINEERING
P. 125

Software Engineering




                    Notes          interaction. As humans, we experience the world in aesthetic, affective, and emotional terms as
                                   well. Because computing evolved initially for use in the laboratory and the office, non-cognitive
                                   aspects have been largely ignored, except by creators of computer games. Yet, whenever people
                                   experience a piece of software—whether it be a spreadsheet or a physics simulation—they have
                                   natural human responses. They experience beauty, satisfaction, and fun, or the corresponding
                                   opposites.
                                   As computing becomes integrated into technologies for entertainment, and as the typical user
                                   moves from the well-regimented office to the home recreation room, software designers will
                                   need to focus more on the affective dimensions of human response. We can learn from the
                                   history of other human communication media, and can adapt the principles and techniques of
                                   novelists, film makers, composers, visual artists, and many other designers in what are loosely
                                   called the arts. Designing for the full range of human experience may well be the theme for the
                                   next generation of discourse about software design.

                                   Perhaps even more difficult than the task of defining software is the task of defining design. A
                                   dictionary provides several loosely overlapping meanings, and a glance at the design section in
                                   a library or bookstore confuses the issue even more. Although we label it with a noun, design is
                                   not a thing. The questions that we can ask fruitfully are about the activity of designing.

                                   Design is Conscious

                                   People may refer to an object as being well designed whenever it is well suited to its environment,
                                   even if this suitability resulted from a process of unintentional evolution. In this book, we
                                   concentrate on what happens when a designer reflects on and brings focus to the design activity.
                                   Consciousness about designing does not imply the application of a formal, consistent, or
                                   comprehensive theory of design or of a universal methodology. Systematic principles and
                                   methods at times may be applicable to the process of design, but there is no effective equivalent
                                   to the rationalized generative theories applied in mathematics and traditional engineering.
                                   Design consciousness is still pervaded by intuition, tacit knowledge, and gut reaction.

                                   Design keeps Human Concerns in the Center

                                   All engineering and design activities call for the management of tradeoffs. Real-world problems
                                   rarely have a correct solution of the kind that would be suitable for a mathematics problem or
                                   for a textbook exercise. The designer looks for creative solutions in a space of alternatives that
                                   is shaped by competing values and resource needs. In classical engineering disciplines, the
                                   tradeoffs can often be quantified: material strength, construction costs, rate of wear, and the like.
                                   In design disciplines, the tradeoffs are more difficult to identify and to measure. The designer
                                   stands with one foot in the technology and one foot in the domain of human concerns, and these
                                   two worlds are not easily commensurable.
                                   As an example, it is easy for software designers to fall into a single-minded quest, in which ease
                                   of use (especially for beginning users) becomes a holy grail. But what is ease of use? How much
                                   does it matter to whom? A violin is extremely difficult for novices to play, but it would be
                                   foolhardy to argue that it should therefore be replaced by the autoharp. The value of an artifact
                                   may lie in high-performance use by virtuosos, or in ease of use for some special class of users,
                                   such as children or people with disabilities. There is room for the software equivalents of high-
                                   strung racing cars alongside automatic-transmission minivans.

                                   Design is a Dialog with Materials

                                   The ongoing process of designing is iterative at two levels: iteration by the designer as a piece
                                   of current work develops, and iteration by the community as successive generations reveal new



          118                               LOVELY PROFESSIONAL UNIVERSITY
   120   121   122   123   124   125   126   127   128   129   130