Information Systems Education Journal (ISEDJ) 13 (1) ISSN: 1545-679X January 2015 A Design Quality Learning Unit in OO Modeling Bridging the Engineer and the Artist Leslie J. Waguespack [email protected] Computer Information Systems Department Bentley University Waltham, Massachusetts 02452, USA Abstract Recent IS curriculum guidelines compress software development pedagogy into smaller and smaller pockets of course syllabi. Where undergraduate IS students once may have practiced modeling in analysis, design, and implementation across six or more courses in a curriculum using a variety of languages and tools they commonly now experience modeling in four or fewer courses in at most a couple of paradigms. And in most of these courses their modeling decisions focus on acceptable syntax rather than principles representing and communicating concepts of quality in information systems. Where learning design quality may once have been an osmotic side effect of development practice it must now be a conscious goal in pedagogy if it is to be taught at all. This paper presents a learning unit that teaches design quality in object-oriented models. The focus on object-oriented models allows the learning to permeate analysis, design, and implementation enriching pedagogy across the systems development life cycle. The quality perspective presented is more expansive than that usually found in software engineering, the traditional “objective” notion of metrics, and integrates aspects of aesthetics, the more subjective phenomena of satisfaction. This learning unit is intended as an adaptable framework to be tailored to the coursework and the overall objectives of specific IS programs. Keywords: design quality, design, OO modeling, IS discipline, IS curricula, IS pedagogy 1. INTRODUCTION constrain the scope of coursework by compressing systems development into smaller Over the past decade computing curricula have and smaller pockets of course syllabi. (AACSB been repartitioned with the permeation of 2010, EQUIS 2010) Where undergraduate IS computing across disciplines and society. students once may have practiced modeling in (Shackelford, Cross, Davies, Impagliazzo, analysis, design, and implementation across six Kamali, LeBlanc, Lunt, McGettrick, Sloan & Topi, or more courses in a program using a variety of 2005) There are now 5 major computing languages and tools they commonly now curriculum guidelines that subdivide computing. experience modeling in four or fewer courses in (Soldan, Hughes, Impagliazzo, McGettrick, at most a couple of paradigms. (Waguespack Nelson, Srimani & Theys 2004, Cassel, 2011) And in most of these courses their Clements, Davies, Guzdial, McCauley, modeling decisions focus on acceptable syntax McGettrick, Sloan, Snyder, Tymann & Weide, rather than principles representing and 2008, Diaz-Herrara & Hilburn, 2004, Lunt, communicating concepts of quality in Ekstrom, Gorka, Hislop, Kamali, Lawson, information systems. Where learning design LeBlanc, Miller & Reichgelt, 2008, Topi, Valacich, quality may once have been an osmotic side Wright, Kaiser, Nunamaker, Sipior & de Vreede, effect of development practice it must now be a 2010) The co-location of IS curricula in schools conscious goal in pedagogy if it is to be taught of business further exacerbates the pressure on at all. pedagogy as accreditation bodies further ©2015 EDSIG (Education Special Interest Group of the AITP) Page 58 www.aitp-edsig.org /www.isedj.org Information Systems Education Journal (ISEDJ) 13 (1) ISSN: 1545-679X January 2015 At the same time industry and academia persist (Waguespack 2010b) asserts that the quality of in their lament over the paucity of focus on systems revolves around two primary concepts: quality in system design first sounded more than efficiency and effectiveness defined as follows four decades ago (Dijkstra, 1968) and echoing (New Oxford American Dictionary): consistently since as in (Denning, 2004, Brooks Efficiency [noun]- the ratio of the useful work 1995, 2010, Beck, Beedle, van Bennekum, performed […] in a process to the total energy Cockburn, Cunningham, Fowler, Grenning, [effort] expended Highsmith, Hunt, Jeffries, Kern, marick, Martin, Mellor, Schwaber, Sutherland, & Thomas 2010) Effectiveness [noun]- successful in producing a desired or intended result This paper presents a learning unit that teaches design quality within the object-oriented These two concepts appear primarily paradigm. The focus on OO models allows the quantitative and therefore objective. In and of learning to permeate analysis, design, and themselves they may well be. Portraying implementation enriching pedagogy across the efficiency using a convenient interpretation of systems development life cycle. We amplify a “work” and “effort” is genuinely objective. “How traditional “objective” notion of systems quality many” or “how much” or “how often” often (i.e. metrics usually found in software depicts efficiency. But, when we ask “Is it engineering) by integrating the more subjective enough?” apparent objectivity fades away. phenomena of satisfaction, aesthetics. This Likewise, the supposed objectivity of learning unit is adaptable to the coursework and “effectiveness” relies upon the tenuous phrase, objectives of specific IS programs. The paper “desired or intended result” defined as presents: a brief overview of design quality, properties to assess design choices, the object- Intend [noun]- have (a course of action) as oriented ontology; and a discussion of how each one’s purpose or objective; plan of the design choice properties express quality through the use of object-oriented modeling Effectiveness (like efficiency) is a constructs. Finally, there is a description of how correspondence between a system and its the learning unit has been integrated in object- stakeholders’ intentions. Assessing effectiveness modeling syllabi with a comment on its efficacy. depends on comparing “what is” to “what is intended.” While the former may be expressed quantitatively the latter presents challenges: 2. WHAT IS DESIGN QUALITY? clarity of conception, mode of representation, Quality is an elusive concept, shifting and scope of contextual orientation, and fidelity of morphing on a supposed boundary between communication to name but a few. Indeed the science and art: objective, engineering notion of effectiveness is complicated when we characteristics versus subjective, aesthetic contemplate identifying and quantifying the observer or stakeholder experience. stakeholder(s) intentions objectively. International standards of quality reflect the The indefiniteness or imprecision that challenge of defining quality by offering a variety characterizes stakeholder intention(s) is of perspectives (as gathered here by Hoyle generally not a concern if an observer is asked 2009): to assess the beauty of something – an A degree of excellence (Oxford English assessment generally conceded to be subjective. Dictionary) A detailed or even explicit intention is not expected in assessing beauty – beauty is most Freedom from deficiencies or defects often perceived as an experience of observation (Juran 2009) rather than a system analysis. Most people Conformity to requirements (Crosby commonly accept beauty as subjective and 1979) exempt from specific justification or explanation – “Beauty is in the eye of the beholder.” and Fitness for use (Juran 2009) “You’ll know it [beauty] when you see it.” This Fitness for purpose (Sales and Supply of absence of or difficulty in forming a quantitative Goods Act 1994) justification of beauty is often the basis for categorizing artifacts or processes as products of The degree to which the inherent art rather than of engineering. And therein lies characteristics fulfill requirements (ISO the presumption that the aspects of design 9000:2005) quality that we label objective and those we Sustained satisfaction (Deming 1993) label subjective are somehow dichotomous. They in fact teeter between objectivity and ©2015 EDSIG (Education Special Interest Group of the AITP) Page 59 www.aitp-edsig.org /www.isedj.org Information Systems Education Journal (ISEDJ) 13 (1) ISSN: 1545-679X January 2015 subjectivity depending on the degree of graphical outline of the ontology is Figure 1 granularity that observers choose to employ in below. inspecting not only the artifact but also their own disposition toward satisfaction relative to it. 3. AN ARCHITECTURAL INTERPRETATION OF QUALITY DESIGN We will never be able to absolutely define design quality because of the relativistic nature of satisfaction in the observer experience. But, our students must still face design choices. So, as IS educators we must provide a framework for them to develop and refine their individual perceptions and understanding of systems quality. The taxonomy of design choice evaluation proposed in Waguespack (2008, 2010b), the 15 choice properties, is just such a framework. (See Appendix A.) Choice properties derive from Christopher Alexander’s writings on design quality in physical architecture. Figure 1 – Object-Oriented Ontology (Alexander 2002) The ontology captures the elements of the Choice properties address the process of object-oriented paradigm eschewing the building, the resulting structure, and the obfuscation that usually occurs with behavior of systems as cultural artifacts. Every programming language syntax examples. At the design decision, choice, contributes to the same time an experienced IS teacher can readily aggregate observer experience: either positively translate the ontological elements into a relevant or negatively. Each choice exhibits the 15 programming dialect. properties with varying strengths or influence that impact the resulting observer satisfaction. 5. CRAFTING OBJECT-ORIENTED MODELING The confluence of property strength results from CHOICES THAT STRENGTHEN PROPERTIES the coincidence of the designer’s choice with the OF DESIGN QUALITY collective intention of the stakeholders. The combination of all choices with their respective This section, the heart of the learning unit, property strengths results in the overall, enumerates the 15 choice properties as defined perceived design quality. Many of the properties in Waguespack (2010b) illustrating how are design characteristics long recognized in modeling choices in the object-oriented ontology software engineering (i.e. modularization, can express design quality. In this space-limited encapsulation, cohesion, etc.). But several reach discussion one choice property often references beyond engineering to explain aesthetics, the art another reflecting the confluent nature of the (i.e. correctness, transparency, user friendliness, design quality properties as Alexander defines elegance, etc.). An example of the effectiveness them in physical architecture. (Alexander 2002) of choice properties in explaining the design Stepwise Refinement (as the name implies) is quality of production systems is reported in an approach to elaboration that presumes a (Waguespack, Schiano & Yates 2010a). problem should be addressed in stages. The stages may represent degrees of detail or an 4. THE ONTOLOGY OF THE OBJECT- expanding problem scope. (Birrell and Ould ORIENTED PARADIGM 1988) In either case quality evidence of stepwise refinement is demonstrated by the cogent and Illustrating design decisions in the object- complete representation of a design element at oriented paradigm can be a challenge. The whatever level of detail or scope is set at each idiosyncrasies of OO programming syntax often stage. To achieve this representation the obscure the intention and/or the result of a modeling paradigm must support abstraction design decision. For that reason the learning unit that allows generalization of the scope of presented here uses a paradigm description interest and then the elaboration of that scope independent of programming language, the from one stage to the next. object-oriented ontology, found in (Waguespack 2009) and excerpted in Appendix B. The The class concept in OO provides this capability. Through the inheritance relationship a class can ©2015 EDSIG (Education Special Interest Group of the AITP) Page 60 www.aitp-edsig.org /www.isedj.org Information Systems Education Journal (ISEDJ) 13 (1) ISSN: 1545-679X January 2015 represent the more abstract, general character promote a texture exhibiting a sense of system of a model feature while expressing all the connectedness, elegance. information and behavior needed at that level of Encapsulation is a design quality reflected abstraction: 1) what responsibilities the objects directly in the nature of the object-oriented of this class fulfill, 2) what information they ontology as objects encapsulate both their data manage, and 3) what services this class’s and behavioral attributes. Encapsulation clearly objects provide the rest of the model. As the delineates who is allowed to manipulate system modeling stages progress greater specialization information and who is not. Object data and is achieved with child classes that redefine behavior are only accessible (invoke-able) via abstract behaviors: by adding data and/or the published services defined for each object by behavioral attributes germane only at a lower its class. When sustained as a discipline this level of abstraction, or by defining collaborations boundary universally designates the object as to support this class’s responsibilities. Stepwise the finest granule of modularization. (Scott Refinement can mimic the concept of “need-to- 2006) This principle eliminates the possibility of know.” Only that detail required to “understand” “side effects” where system state changes occur the system at that abstraction level need be in any manner other than the “contractual” revealed or perhaps is not even chosen until the prescription defined in the object’s service need arises. When the need does arise the detail interface. The isolation of the inside of the object may be added within the genealogy of the class from the outside allows both to evolve without preserving the cohesion of a class’s defined servitude to the implementation of the other functional responsibility at the higher abstraction (e.g. pursuing efficiency) as an object is levels. obligated only through the published As an example, consider a class that defines responsibilities in its class’s services. items stored in an inventory. At the most Extensibility is the property of design quality general level the most important functional most important in pursuing systems with detail is the entry and removal of items. As sustainability essential to cost of ownership refinement progresses simple entry and removal economy. This is the vehicle for seamless may be augmented by including item re-order unfolding in system evolution. Extensibility and supplier interaction both concealed from the juxtaposes the potential for new functionality inventory item’s client who sees only entry and with the effort required to achieve it. (van Vliet removal. The supplier interaction details are 2008). In the object-oriented paradigm class encapsulated within the inventory item’s plays the pivotal role by empowering instance responsibilities retaining the cohesion of the and inheritance relationships. class’s purpose (its identity). And the description of the inventory item exhibits correctness at Multiplicity is achieved through instance either level of detail with and without the propagation, progeny. Each instance is supplier interaction elaboration. completely interoperable in any combination with its sibling objects as well as acting as an Cohesion is a quality property reflecting a instance of any ancestor class. consistent responsibility distribution in a field of Interchangeability both enables and reinforces system components. (Zuse 1997) Since every modularization. object “expects” the objects around it to fulfill their responsibilities to contribute to the whole Evolution or unfolding is accomplished as class model, each object is in itself free to be single- definitions are refined and specialized in their minded in its focus on its own purpose. This is child classes – the relationship called the result of well-chosen classes. This inheritance. When a child class extends the independent sufficiency accentuates the scope of the data and behavioral attributes of its divisibility of function in terms of each object’s parent it honors the pattern set out in the parent individual purpose, its identity, and the clarity without contradiction. Polymorphism with which its purpose is exposed to the rest of compensates (through dynamic binding) for any the community of objects in the system. The overridden methods. This extension proceeds single-mindedness that results also increases without any impairment of correctness because the feasibility of object interaction the interfaces defined in the parent class must rearrangement enabling an overall change in be supported in each child class. The parent to system function while almost every class’s child unfolding specializing structure and individual purpose remains fixed. The behavior results in an unbroken thread that independent sufficiency of each object’s inner binds each class to its ancestry and projects an workings couples with the system-wide identity down through the generations of class. interdependency of object cooperation to ©2015 EDSIG (Education Special Interest Group of the AITP) Page 61 www.aitp-edsig.org /www.isedj.org Information Systems Education Journal (ISEDJ) 13 (1) ISSN: 1545-679X January 2015 Modularization along with cohesion expresses Transparency is evident structure, revealing “divide and conquer” problem solving how things fit and work together. (Kaisler 2005) augmented by the flexibility of configuring and In the OO ontology “fit together” and “work reconfiguring objects as cooperating agents. together” are defined by the structural and Modularization also supports scale permitting the behavioral relationships. Individual objects may composition of subsystems of varying scope that represent clearly delineated and encapsulated hold details in abeyance until they require focus. choices, but their cooperation is defined by (Baldwin and Clark 2000) Enlightened module relationships. design exposes the solution structure envisioned Inheritance explains the structural relationship by the modeler and publishes intentions for of classes through the propagation of data and further extension by separation of concerns and behavioral attributes. Inheritance not only isolation of accidents of implementation. (Brooks propagates attributes, but also enables a class 1987) The OO paradigm provides ample facility hierarchy’s capacity for exhibiting similarity and for defining modules of any size and scope while difference between parent and child classes. aggregating and/or nesting their interfaces That which is similar (in fact identical) inherited through deliberate information hiding. The by the child class is assumed and becomes in granularity enabled through modularization may effect familiar – requiring no reiteration. This be applied to facilitate the modeler’s formulation “folding” of that which is not changed avoids of structure as well as the perspective to aid clutter in the child class description, but may be stakeholder recognition and understanding. readily reviewed in the parent. Correctness in software engineering is often The behavioral relationships of association, narrowly defined as computing the desired message passing, and polymorphism explain the function. (Pollack 1982) Thriving Systems predictable patterns of communication and Theory frames this property upon two outcomes: action. Association uses the property of identity 1) validation, the clarity and fidelity of the to designate membership, ownership, and represented understanding of system accessibility among objects. Message passing characteristics, and 2) verification, the provides the mechanism for cooperating action completeness and effectiveness of model feature between objects providing a disciplined conduit testing both individually and in composition. through the encapsulating boundary of objects Validation depends on the fidelity of the by using services to convey intention, unfolding process; that through the stages of information, and reaction. Polymorphism allows stepwise refinement the “essence” of system the abstraction of intention by using the same characteristics are brought forward maintaining service name to evoke distinct behaviors from their integrity. (Brooks 1987) Modularization objects of different classes. The identical service aids in cataloging and focusing on individual names in classes with different methods directly essential characteristics. Correctness is the only realize the metaphorical abstraction of object choice property that directly supports itself! behavior where at one level of abstraction the Correctness must be a priority at each stage as behaviors are the same and at a more detailed experience shows that correctness shortcomings level of abstraction their behaviors are distinct. grow more and more expensive to rehabilitate Composition of Function - As a fundamental as evolution progresses – notice “rehabilitate,” tool for managing complexity humans regularly to restore to normal life. attempt to decompose problems, issues, or Verification depends on the effective testability tasks into parts that either in themselves are of each choice to certify it as “consistent with sufficiently simple to permit direct solution or stakeholder understanding.” Modularization can through recursion be subdivided enables the verification of individual choices or successively until they become sufficiently modules. Then relying on the correctness inside simple. This is a defining aspect of modules verification can turn to the certification modularization. When the conception of a part of behaviors resulting from composition of also anticipates reuse then the part takes on a function. Experience often leads to dependable larger significance. The combination of patterns of classes or modules applicable or specifying a choice consistent with the essence adaptable to recurring modeling tasks. of system characteristics and then designing the Verification in these situations can focus on choice as an interchangeable component in known areas of fragility/risk limiting the effort multiple super-ordinate choices is a step toward required to reach a desired confidence level of elegance. Reusable choices represent an reliability. understanding of the essence of the system at a deeper level than an individual application. They ©2015 EDSIG (Education Special Interest Group of the AITP) Page 62 www.aitp-edsig.org /www.isedj.org Information Systems Education Journal (ISEDJ) 13 (1) ISSN: 1545-679X January 2015 represent awareness of the intention, perhaps (association and message passing) each object even the philosophy of the system domain. must be uniquely distinguishable. Composition of function as a property of design Scale’s effect on design quality is reflected in quality is realized in model features that common idioms: “You can’t see the forest for facilitate the extension or retargeting of the the trees!” and “Let’s get a view from 10,000 model in the future. It is the capacity to combine feet.” They reflect the importance of context in simple functions to build more complicated ones recognition and decision-making. Scale captures (Meyer 1988). The retargeting capability may be the modeling imperative that all choices must be provided directly to the users of the system in kept in perspective because it is not sufficient to the form of a programmable interface. A choice consider a choice only in the microcosm of itself, achieving the principle of composition of function as it must also participate in the connectedness is marked not only by the function it initially of the whole. By achieving scale, a system provides the user, but also by the functionality it designer provides differing granularities of anticipates and supports even (perhaps) before comprehensibility to suit the requirements of a the stakeholders realize the need for the variety of observers (Waguespack 2010). capability. The relationships provided in the object-oriented Identity is at the root of recognition and is paradigm (association, inheritance, instance, another property of design quality not usually message passing, and even polymorphism) defined in software engineering. In the physical provide ample means for designing collections of world identity is literal based upon direct cooperating choices that are nested, intersect, sensorimotor experience: by sight or touch and or partition the full field of functionality essential in some cases by sound or smell – a human to the model. These may be called variously experience of the “real” world. In the object- subsystems, modules, or sub-modules. In those oriented paradigm identity is an object property. cases where the actual structure of a collection (Khoshafian and Copeland 1986) Existence is must be rendered obscure, classes and objects sufficient for object identification. can be devised to serve as facades or agents to “keep up appearances.” Coupled with stepwise In other paradigms identification is achieved refinement, as it is, scale is used to focus through possessed characteristics (attributes) modeler and stakeholder attention to achieve that contribute to distinct recognition by a the contextual understanding needed to address process of intersecting categorizations or the constituent concerns within the whole. introduction of an artificial characteristic whose sole purpose is to support discrimination. Aside User Friendliness is another property of design from the fact that these approaches to quality more often considered aesthetic. It is a identification require some overhead (either combination of: ease of learning; high speed of mental or computational) they are simply not user task performance; low user error rate; natural to humans. Humans perceive objects as subjective user satisfaction; and, user retention possessing characteristics rather than over time (Shneiderman 1992). Its impact may characteristics defining objects. The former be easiest to consider in its absence. A modeling begins with certain uniqueness and progresses choice that is “unfriendly” to stakeholders is toward explanation while the latter begins with confusing, hard to comprehend, unwieldy, and uncertainty and attempts to deduce uniqueness. perhaps worst of all, of indeterminate correctness. That which defies understanding Characteristics are not unimportant. cannot be determined to be correct. Satisfaction Classification is essential in most human is cumulative. The sensitivity to the problem solving activities. And recognition is stakeholders’ conceptions of the essence of the virtually always accelerated by the system to be modeled is key to the stakeholders’ discrimination that categorizing characteristics sense of comfort, familiarity, and expectation. (attributes) provide. And most importantly in the absence of physical experience categorization The object-oriented paradigm excels in its through characteristics is the only choice. Class facility to represent systemst preserves the structure and the instance relationship are vital stakeholders’ ability to recognize “their” system. to identity – an object belongs to “this” class Authoring object-oriented models whose and not to “another.” Described both by what an elements correspond almost one-to-one with the object “knows” (data attributes) and what it real-world concepts and entities results in “knows how to do” (behavioral attributes) intrinsically better stakeholder understanding classes form a categorization cornerstone of the and interaction. The casting of “objects” in the object-oriented ontology. But to model both the models that have direct counterparts in the static and dynamic dimensions of reality stakeholders’ experience exhibits a ©2015 EDSIG (Education Special Interest Group of the AITP) Page 63 www.aitp-edsig.org /www.isedj.org Information Systems Education Journal (ISEDJ) 13 (1) ISSN: 1545-679X January 2015 fundamentally friendly quality. It respects the Programmability in software engineering is stakeholders’ perceptions and it welcomes them often considered a feature rather than a into the processes of verification and validation property of design quality – the capability within that are intrinsic to correctness. The unified hardware and software to change; to accept a structure of “what an object knows” and “what new set of instructions that alter its behavior an object knows how to do” correlates so (Birrell and Ould 1988). It is closely allied with naturally with observers of business models or extensibilityand addresses the need for models process models that the natural clarity in that to welcome the future. What largely separates communication improves understanding and information systems from other human-made avoids mistakes in understanding, mechanisms is the degree of adaptability that communication, or implementation. they offer to deal gracefully with change. Unlike most appliances that support a very narrow And in a serendipitous quirk of language (or a range of use (albeit with great reliability), profound emergence of the deep meaning of contemporary information systems are expected metaphors) Alexander’s term from which the to provide not only amplification of effort as in principle here, user friendliness, is derived is computation, but also amplification of roughness. (Alexander 2002) Something has to opportunity in terms of different approaches to have a certain degree of roughness if one is to business or organizational questions. be able to effectively grasp it! Contemporary information systems are expected Patterns describe versatile templates to solve to demonstrate that they can reliably particular problems in many different situations accommodate change. As with extensibility, (Gamma et al. 1995). All entities in the object- successful accommodation of change relies on oriented paradigm propagate from classes, an understanding of the fundamental options predefined templates, or “cookie cutters.” This governing the structure and behavior within a protocol organizes what otherwise would be a particular domain. The OO ontology offers bewildering multiplicity of individual powerful tools (structural and behavioral computational entities to consider. It becomes relationships, e.g. inheritance and less complicated in the understanding that the polymorphism) to service the elements of potential of any number of objects boils down to change without fracturing a skeletal foundation understanding the class(s) of which they are of base classes characterizing the domain. instances. Each instance mimics perfectly the What sets programmability apart from form and function of every other of its siblings, extensibility is a facility that permits altering the members of that class. Class hierarchies, systems behavior without having to reconstruct generations of parent-child class definitions, choices – that is to say that the system’s defining “nearly the same” and “different in behavior can be sensitive to the context specific ways” relationships significantly lessen determined by a “user” in “real time.” “Real the apparent complexity that considering only time” is relative to the “user’s” role (e.g. individual entities entails. Class hierarchies developer or end user, etc.). This versatility is define the path of unfolding for all to see – a not accidental but architectural. Choices may depiction of the analysis, solution, and design provide an interface language for end users that philosophies at work. permits selections of system actions to meet an Patterns is the property of design quality that immediate “real-time” need – an interface as channels change (unfolding). A pattern simple as a light switch or as complex as a foreshadows where and how change will need to natural language. be accounted for. Patterns of the form Reliability is a property of design quality more popularized in (Coplein, 1995) document often associated with implementation than commonly encountered design questions offering design. It is the assurance that a product will carefully considered advice and cautions. Their perform its intended function for the required patterns are paradigm and modeling language duration within a given environment (Pham independent. However, it is not surprising that 2000). Objects facilitate modularized testing and many examples using patterns are presented in quality assurance. A certified class produces OO dialects. The reason is simple. The certified objects (which is not to say that integration of instance, inheritance, message certification is easy or inexpensive). As long as passing, and polymorphism relationships is an classes are protected from dynamic modification ideal toolset for expressing patterns with a in deployment there is no need to be concerned balance of prescription and adaptability – a with the inner workings of their objects. As long balance not as conveniently achieved in dialects as objects are truly encapsulated they conform based on pre-object-oriented paradigms. to the intention of their class. In development ©2015 EDSIG (Education Special Interest Group of the AITP) Page 64 www.aitp-edsig.org /www.isedj.org Information Systems Education Journal (ISEDJ) 13 (1) ISSN: 1545-679X January 2015 testing proceeds incrementally as new classes field effect of the beneficial, integrated, mutual are added or rearranged in their collaboration. support of strong choices described in Thriving Once deployed testing is relegated to their Systems Theory. (Waguespack 2010b) interactions rather than their definition. Testing is compartmentalized and does not explode 6. INTEGRATING THE DESIGN QUALITY exponentially when additional classes or LEARNING UNIT IN AN OBJECT-ORIENTED functionality within a class is added. MODELING SYLLABUS Reliability in design reflects an austerity that For the past six semesters the design quality confines design elements to the essentials of the learning unit presented here is woven into two stakeholder’s intentions. When design or object-oriented modeling syllabi: 1) implementation decisions involve additional undergraduate systems analysis and design and constructs due to technology or compatibility, 2) masters level object-oriented systems these accidents of implementation must be engineering. The unit content appears clearly delineated so as not to imply that they throughout the pedagogy of modeling using are essence rather than accident. This clear UML-2 syntax. distinction will protect future system evolution After initially presenting the object-oriented from mistaking accidental “baggage” as paradigm using the ontology to establish its stakeholder intentions. vocabulary (see Appendix B), we present use Elegance is perhaps the epitome of subjective case, class, and sequence diagramming quality assessment that clearly sets choice establishing the syntax and the expression of properties of design quality apart from semantics in UML-2. During this UML traditional software engineering metrics. presentation we repeatedly allude to the design “Pleasing grace and style in appearance or quality properties through the syntax. Small manner,” that’s how the dictionary expresses student groups and then individuals conduct a the meaning of “elegance”. (Oxford English series of modeling exercises based on Dictionary) requirement narratives establishing the students’ grasp of UML syntax. On that “A designer knows he has achieved foundation the explanation of design quality, the perfection not when there is nothing left to enumeration of the fifteen properties, and the add, but when there is nothing left to take corresponding application of OO ontology away.” (Raymond 1996) elements to strengthen the properties precede a Models composed of choices that are consistent, final individual course modeling project. The clear, concise, coherent, cogent, and design quality discussion provides a quality transparently correct exude elegance and vocabulary for one-on-one consultations nurture cooperation, constructive criticism and between teacher and student as each develops stakeholder community confidence. These are the object-model of their final project. In this models that confess to their own shortcomings one-on-one context each student’s specific because their clarity obscures nothing, even design decisions are discussed and evaluated in omissions. These are models that satisfy relationship to the design quality properties, an stakeholders. They appear “intuitively obvious.” opportunity for individualized, reinforced The clarity of their composite structure is so learning and/or suggested improvements. self-evident that they seem “simple.” The use of The deeper subtleties of design quality present a the OO paradigm to construct a collection of challenge for some students particularly in a “building blocks” in the form of a class library to compressed format. The “light doesn’t go on” encapsulate architectural design decisions right away for all students. However, the facilitates this impression of what is “intuitively integration of the ontology and design quality obvious.” Using well-conceived library elements property based vocabulary establishes a becomes so second nature, so natural, that the touchstone that returning students report helps builder perceives the blocks as the natural them “to name” the “quality elements” they primitives of construction rather than rediscover in succeeding coursework and constructed artifacts. professional practice. Elegance largely proceeds from the efficient and In your own curricular situation the distribution effective representation of essential system of learning unit elements may span more than characteristics along with those features one course (some addressed in OO emerging out of design decisions, accidents of programming, requirements engineering, or implementation, that are laid out with equal database design, etc.), be rearranged to suit clarity for separate consideration. This is the ©2015 EDSIG (Education Special Interest Group of the AITP) Page 65 www.aitp-edsig.org /www.isedj.org Information Systems Education Journal (ISEDJ) 13 (1) ISSN: 1545-679X January 2015 your modeling tools, or be adjusted to your Coplien J and Schmidt D (Eds) (1995). Pattern course sequencing with context-appropriate Languages of Program Design, Addison- examples. Regardless, the learning unit Wesley, Reading, MA, USA components are flexible and robust enough to Crosby,P. B., (1979) Quality is Free, McGraw- suit various specific program needs. Hill, New York, NY, USA. 7. ACKNOWLEDGEMENTS Dijkstra, E. (1968). “GOTO Statement Considered Harmful.” Communications of the Thanks to helpful referees. Special thanks are ACM, 11(3), 147-148 due my colleagues David Yates and Bill Schiano at Bentley University for their insightful Diaz-Herrara, J.L., & Hilburn, Thomas B. (eds.) discussions and comments on these ideas. (2004). Software Engineering 2004: Curriculum Guidelines for Undergraduate 8. REFERENCES Degree Programs in Software Engineering, AACSB (2010). Eligibility Procedures and IEEE Computing Society (IEEE-CS), Accreditation Standard for Business Association of Computing Machinery (ACM) Accreditation. Retrieved July 16, 2010 from Deming, W. E. (1993), The New Economics for http://www.aacsb.edu/accreditation/AAACSB Industry, Government, Education (2ed), -STANDARDS-2010.pdf Cambridge Press: MIT, Cambridge, MA, USA Alexander C, (2002). The Nature of Order An Denning, P. J. (2004). “The Great Principles of Essay on the Art of Building and the Nature Computing,” Ubiquity, 4(48), 4–10 of the Universe: Book I - The Phenomenon of Life, Berkeley, California: The Center for EQUIS (2010). EQUIS Standards and Criteria. Environmental Structure, p. 119 Retrieved July 16, 2010 from http://www.efmd.org/attachments/tmpl_1_a Baldwin, C. Y., and Clark, K. B. (2000). Design rt_041027xvpa_att_080404qois.pdf Rules, Volume 1: The Power of Modularity. The MIT Press, Cambridge, MA. Gamma, E., Helm, R., Johnson, R., and Vlissides, J. (1995). Design Patterns: Beck K., Beedle M., van Bennekum A., Cockburn Elements of Reusable Object-Oriented A., Cunningham W., Fowler M., Grenning J., Software. Addison-Wesley, Reading, MA. Highsmith J., Hunt A., Jeffries R., Kern J., Marick B., Martin R.C., Mellor S., Schwaber Hoyle, D. (2009). ISO 9000 Quality Systems K., Sutherland J., & Thomas D. (2010). Handbook. Butterworth-Heinemann Manifesto for Agile Software Development. (Elsevier); 6 ed. Burlington, MA, USA Retrieved July 12, 2010 from ISO 9000 (2005), http://www.iso.org/iso/qmp agilemanifesto.org Juran, J. M., (1999). Quality Control Handbook Birrell, N. D., and Ould, M. A. (1988). A Practical (6ed), McGraw-Hill, New York, NY, USA Handbook for Software Development. Cambridge University Press, Cambridge, UK. Kaisler, S. H. (2005). Software Paradigms. Wiley-Interscience, Hoboken, NJ. Brooks F. P. (1987), "No Silver Bullet: Essence and Accidents of Software Engineering," Khoshafian, S. N., and Copeland, G. P. (1986). Computer, Vol. 20, No. 4, pp 10-19. “Object identity,” Proceedings of ACM Conference on Object Oriented Programming Brooks, F. P. (1995). The Mythical Man-Month: Systems Languages and Applications, Essays on Software Engineering (2ed). Portland, OR, November 1986, 406-416. Addison-Wesley, Boston, MA. Lunt, B.M., Ekstrom, J.J., Gorka, S., Hislop, G., Brooks, F. P. (2010). The Design of Design: Kamali, R., Lawson, E., LeBlanc, R., Miller, Essays from as Computer Scientist. Addison- J., & Reichgelt, H. (eds.) (2008). Wesley, Pearson Education, Inc., Boston, Information Technology 2008: Curriculum MA. Guidelines for Undergraduate Degree Cassel L., Clements A., Davies G., Guzdial M., Programs in Information Technology, McCauley R., McGettrick A., Sloan B., Association of Computing Machinery (ACM), Snyder L, Tymann P., & Weide B.W., IEEE Computing Society (IEEE-CS) (2008). Computer Science Curriculum 2008 Meyer, B. (1988). Object-oriented Software An Interim Revision of CS2001. Association Construction. Prentice Hall, New York, NY. of Computing Machinery (ACM), & IEEE Computing Society (IEEE-CS) ©2015 EDSIG (Education Special Interest Group of the AITP) Page 66 www.aitp-edsig.org /www.isedj.org Information Systems Education Journal (ISEDJ) 13 (1) ISSN: 1545-679X January 2015 Pham, H. (2000). Software Reliability. Springer, Topi, H., Valacich, J.S., Wright, R.T., Kaiser, Berlin, Germany. K.M., Nunamaker, J.F. Jr., Sipior, J.C., & de Vreede, G.J. (eds.) (2010). IS2010: Pollack, S. (Ed.). (1982). Studies in Computer Curriculum Guidelines for Undergraduate Science. Mathematical Association of Degree Programs in Information Systems, America, Washington, DC. Association for Computing Machinery (ACM), Raymond, E. S. (1996). The New Hacker's Association for Information Systems (AIS) Dictionary, 3rd ed. The MIT Press, Van Vliet, H. (2008). Software Engineering: Cambridge, MA. Principles and Practice, 3rd ed. Wiley, Sales and Supply of Goods Act 1994, Ch 35, Hoboken, NJ. Legislation of Her Majesty’s Government, Waguespack, L. J. (2008). “Hammers, Nails, The National Archives, UK, Windows, Doors and Teaching Great http://www.legislation.gov.uk/ukpga/1994/3 Design,” Information Systems Education 5/introduction Journal, 6 (45). http://isedj.org/6/45/. Scott, M. L. (2006). Programming Language ISSN: 1545-679X Pragmatics, 2nd ed. Morgan Kaufmann, Waguespack, L. J. (2009). “A Two-Page “OO Maryland Heights, MO. Green Card” for Students and Teachers,” Shackelford, R., Cross, J.H., Davies, G., Information Systems Education Journal, Impagliazzo, J., Kamali, R., LeBlanc, R., 7 (61). http://isedj.org/7/61/. ISSN: 1545- Lunt, B., McGettrick, A., Sloan, R., & Topi, 679X H., (2005). Computing Curricula 2005: The Waguespack, L. J., Schiano, W. T., Yates, D. J. Overview Report, Association for Computing (2010a). “Translating Architectural Design Machiner (ACM), The Association of Quality from the Physical Domain to Information Systems (AIS), The Computer Information Systems,” Design Principles and Society (IEEE-CS) Practices: An International Journal, 4, 179- Shneiderman, B. (1992). Designing the User 194 Interface: Strategies for Effective Human- Waguespack, L. J. (2010b). Thriving Systems Computer Interaction, 2nd ed. Addison- Theory and Metaphor-Driven Modeling, Wesley, Reading, MA. Springer, London, U.K. Soldan, D., Hughes, J.L.A., Impagliazzo, J., Waguespack, L. (2011). “Design, The “Straw” McGettrick, A., Nelson, V.P., Srimani, K., & Missing From the “Bricks” of IS Curricula,” Theys, M.D. (eds.) (2004). Computer Information Systems Education Journal, 9(2) Engineering 2004: Curriculum Guidelines for pp 101-108. http://isedj.org/2011-9/ ISSN: Undergraduate Degree programs in 1545-679X Computer Engineering, IEEE Computer Society (IEEE-CS), Association for Zuse, H. (1997). A Framework of Software Computing Machinery (ACM) Measurement. Walter de Gruyter, Berlin, Germany. ©2015 EDSIG (Education Special Interest Group of the AITP) Page 67 www.aitp-edsig.org /www.isedj.org