scispace - formally typeset
Search or ask a question
Topic

Object-oriented design

About: Object-oriented design is a research topic. Over the lifetime, 5136 publications have been published within this topic receiving 144108 citations.


Papers
More filters
Proceedings ArticleDOI
27 Jun 1999
TL;DR: A pedagogical framework rooted in the constructivist epistemology for teaching object-oriented design and programming is described.
Abstract: Computer science education is greatly affected by the object-oriented approach. This can be seen in the numerous new teachers being attracted to programming languages such as Java. Learning the object-oriented approach is however difficult for novice students, mostly because it requires a new way of thinking about computing and more depth to grasp. Thus, to promote the object-oriented approach at the introductory level, a re-examination of the teaching method is recommended. This article describes a pedagogical framework rooted in the constructivist epistemology for teaching object-oriented design and programming.

86 citations

Book ChapterDOI
01 Jan 2002
TL;DR: In this paper, the authors propose design patterns as a new mechanism for expressing object-oriented design experience, identifying objects, their collaborations, and the distribution of responsibilities in a design.
Abstract: We propose design patterns as a new mechanism for expressing object-oriented design experience. Design patterns identify, name, and abstract common themes in object-oriented design. They capture the intent behind a design by identifying objects, their collaborations, and the distribution of responsibilities. Design patterns play many roles in the object-oriented development process: they provide a common vocabulary for design, they reduce system complexity by naming and defining abstractions, they constitute a base of experience for building reusable software, and they act as building blocks from which more complex designs can be built. Design patterns can be considered reusable micro-architectures that contribute to an overall system architecture. We describe how to express and organize design patterns and introduce a catalog of design patterns. We also describe our experience in applying design patterns to the design of object-oriented systems.

86 citations

Patent
04 Jan 1999
TL;DR: Domain objects as discussed by the authors are context specific representations of information that are used in a freeform graphics system and are represented by a graphic object (icon) representing an instance of the domain object.
Abstract: Domain objects for use in a freeform graphics system. Domain objects are context specific representations of information that are used in a freeform graphics system. Domain objects are represented in a freeform graphics system by a graphic object (icon) representing an instance of the domain object. The icon representing a domain object may be manipulated like any other graphic object. Domain objects are defined by a domain object class which define attributes, a set of action rules and layouts. The attributes describe the information or data associated with the domain object. The set of action rules map user actions and system events to operations that may be performed on the domain object. The layouts define how domain object information is displayed as an icon.

86 citations

Journal ArticleDOI
01 Jun 2004
TL;DR: The presented findings of this study relate to general issues of object-oriented design and in particular to the abstraction issue with its various manifestations and extracted a cognitive task analysis taxonomy regarding abstraction and inheritance.
Abstract: Alongside the widespread support for adopting object orientation there are reports on difficulties in learning object oriented programming and design. This indicates the need for refining the research on cognitive difficulties in a way that will offer guidelines for better designing respective education. The presented findings of our study relate to general issues of object-oriented design and in particular to the abstraction issue with its various manifestations. Based on students' solutions we extracted a cognitive task analysis taxonomy regarding abstraction and inheritance. We discuss possible implications of our results for the teaching of object orientation and for further needed research.

86 citations

Journal ArticleDOI
TL;DR: A unified approach to using scenarios to support both the design, analysis and maintenance of software architectures is presented, and a tool is presented that aids in: scenario capture, mapping scenarios to software architectures, and the association of analytic models with particular portions of architectures.
Abstract: Software architecture analysis is a costdeffective means of controlling risk and maintaining system quality throughout the processes of software design, development and maintenance. This paper presents a sequence of steps that maps architectural quality goals into scenarios that measure the goals, mechanisms that realize the scenarios and analytic models that measure the results. This mapping ensures that design decisions and their rationale are documented in such a fashion that they can be systematically explored, varied, and potentially traded off against each other. As systems evolve, the analytic models can be used to assess the impact of architectural changes, relative to the system’s changing quality goals. Although scenarios have been extensively used in software design to understand the ways in which a system meets its operational requirements, there has been little systematic use of scenarios to support analysis, particularly analysis of a software architecture’s quality attributes: modifiability, portability, extensibility, security, availability, and so forth. In this paper we present a unified approach to using scenarios to support both the design, analysis and maintenance of software architectures, and examples from largedscale software development projects where we have applied the approach. We also present a tool, called Brie, that aids in: scenario capture, mapping scenarios to software architectures, and the association of analytic models with particular portions of architectures. The approach that we have devised, and that Brie supports, is a foundation for a discipline of architectural engineering. Architectural engineering is an iterative method of design, analysis and maintenance where design decisions are motivated by scenarios, and are supported by documented analyses.

86 citations


Network Information
Related Topics (5)
Software development
73.8K papers, 1.4M citations
91% related
Software system
50.7K papers, 935K citations
89% related
Software construction
36.2K papers, 743.8K citations
89% related
Web service
57.6K papers, 989K citations
86% related
Software
130.5K papers, 2M citations
86% related
Performance
Metrics
No. of papers in the topic in previous years
YearPapers
20231
20226
20215
20209
201915
201828