Object-oriented design process model

Summary Design is a first step in the development phase for any engineered product or system. It is defined as the process and strategies used to manage complexity. Software design process is an iterative process whereby the requirements are transformed into a “blueprint” for constructing the software. A design model is developed based on the combination of intuition and judgment, a set of principles and heuristics, and a process of iteration that leads to final design specifications. Without a proper design, a software system may fail to deliver its intended service and often will lead to some consuming maintenance activities. Therefore it is necessary for software developers to do the design process thoroughly before they start implementing the system. Objectoriented design is not an easy task. It is even difficult for a novice designer or for an experienced designer who wants to shift to object-oriented approach. Throughout literature, there are varying schools of thought on what constitutes object-oriented design. What is the process involved in this phase and what are components or structures? This paper presents four popular object-oriented design methods, and then a process model of object-oriented design for novice designer is proposed. The model consists of a process and four components. The process model is part of the model of a guidance system to assist novice designers in designing object-oriented systems.

[1]  Ivar Jacobson,et al.  Object-Oriented Software Engineering , 1991, TOOLS.

[2]  Anthony Robins,et al.  Problem distributions in a CS1 course , 2006 .

[3]  William E. Lorensen,et al.  Object-Oriented Modeling and Design , 1991, TOOLS.

[4]  A Suppapitnarm,et al.  E-learning from knowledge and experience capture in design , 2002 .

[5]  Caspar Ryan,et al.  A Methodology for the Empirical Study of Object-Oriented Designers , 2002 .

[6]  Cleveland Augustine Gibbon,et al.  Heuristics for object-oriented design , 1997 .

[7]  George Wright,et al.  The Difficulties of Learning Object-Oriented Analysis and Design: An Exploratory Study , 2002, J. Comput. Inf. Syst..

[8]  Anthony V. Robins,et al.  My Program is Correct But it Doesn t Run: A Preliminary Investigation of Novice Programmers Problems , 2005, ACE.

[9]  Daniel J. Fonseca,et al.  An expert system for the selection of software design patterns , 2006, Expert Syst. J. Knowl. Eng..

[10]  M.A. Perez-Quinones,et al.  A comprehensive analysis of object-oriented design: towards a measure of assessing design ability , 2004, 34th Annual Frontiers in Education, 2004. FIE 2004..

[11]  Motoshi Saeki,et al.  Metrics for applying GOF design patterns in refactoring processes , 2001, IWPSE '01.

[12]  Dennis de Champeaux,et al.  Object-oriented system development , 1993 .

[13]  Radu Marinescu,et al.  Measurement and Quality in Object-Oriented Design , 2005, ICSM.

[14]  Lynda Thomas,et al.  Identifying novice difficulties in object oriented design , 2006, ITICSE '06.

[15]  Gerald W. Both,et al.  Object-oriented analysis and design with applications , 1994 .

[16]  D. Sanders,et al.  Do students recognize ambiguity in software design? A multi-national, multi-institutional report , 2005, Proceedings. 27th International Conference on Software Engineering, 2005. ICSE 2005..

[17]  Ralph E. Johnson,et al.  Surveying current research in object-oriented design , 1990, CACM.

[18]  Ralph Johnson,et al.  design patterns elements of reusable object oriented software , 2019 .

[19]  Barbara Liskov,et al.  Data Abstraction and Hierarchy , 1987 .

[20]  Brian Hanks Problems encountered by novice pair programmers , 2008, JERC.

[21]  John Whittaker,et al.  Rules of Thumb , 1996 .

[22]  Harry Zimmer,et al.  Rules of Thumb , 1987, Int. CMG Conference.

[23]  Ilana Lavy,et al.  Cognitive activities of abstraction in object orientation: an empirical study , 2004, SGCS.

[24]  Robert McCartney,et al.  Can graduating students design software systems? , 2006, SIGCSE '06.