Page 127 - DCAP405_SOFTWARE_ENGINEERING
P. 127

Software Engineering




                    Notes          The same is true for the artifacts that we build, including software: People do not approach them
                                   in isolation. Every object appears in a context of expectations that is generated by the history of
                                   previous objects and experiences, and by the surroundings in the periphery—the physical,
                                   social, and historical context in which the object is encountered.

                                   Design has Social Consequences

                                   Much of the discussion on software design uses examples from generic mass-distribution software,
                                   such as word processors, operating systems, spreadsheets, graphics programs, and games.
                                   Although many key concerns of software design are addressed in these applications, others are
                                   not. These highly visible applications are part of a larger picture that includes a vast number of
                                   vertical applications (for example, a medical-office billing application) and systems designed
                                   for a specific workplace setting. In these more targeted applications, the designer can see and
                                   take into account the specific effects of the design on the people who will inhabit it.
                                   Organizational aspects of software design in which we build integrated computer systems for
                                   specific organizations and workplaces. The needs and concerns of the people in those workplaces
                                   can lead to complex—and, at times, controversial—design considerations, which we can address
                                   only by making the social and political dimensions an explicit part of the analysis and of the
                                   design dialog. The designer takes on a role that includes organizational as well as technical
                                   design, and can enlist workers directly in this process through techniques such as participatory
                                   design.

                                   Design is a Social Activity

                                   In concentrating on the activity of an individual designer, we can fall into the error of assuming
                                   that the overall quality of a design is primarily a result of the qualities and activities of the
                                   creative individual. As Kelley points out, the designer operates in a larger setting, which is both
                                   facilitated and constrained by interactions with other people.

                                   Self Assessment

                                   Fill in the blanks:
                                   1.  Software design is a process of problem solving and ………………… for a software solution.

                                   2.  Designing software is an exercise in managing………………….
                                   3.  Design cannot be neatly divided into compartments for ……………………. and for devices.
                                   4.  Design always implies a medium of construction, and new technologies bring with them
                                       new ……………………. for design.
                                   5.  …………………………… teams also tend to be fluid, likewise often changing in the middle
                                       of the design process.

                                   8.3 Design Quality


                                   Software design principles represent a set of guidelines that helps us to avoid having a bad
                                   design. The design principles are associated to Robert Martin who gathered them in “Agile
                                   Software Development: Principles, Patterns, and Practices”. According to Robert Martin there
                                   are three important characteristics of a bad design that should be avoided:
                                       Rigidity: It is hard to change because every change affects too many other parts of the
                                       system.




          120                               LOVELY PROFESSIONAL UNIVERSITY
   122   123   124   125   126   127   128   129   130   131   132