OO overkill: when simple is better than not
Proceedings of the thirty-second SIGCSE technical symposium on Computer Science Education
Agent factory: generative migration of mobile agents in heterogeneous environments
Proceedings of the 2002 ACM symposium on Applied computing
Reflections on CRC cards and OO design
CRPIT '02 Proceedings of the Fortieth International Conference on Tools Pacific: Objects for internet, mobile and embedded applications
Object-oriented programming and design patterns
ACM SIGCSE Bulletin
The Sisyphus database retrieval software performance antipattern
WOSP '02 Proceedings of the 3rd international workshop on Software and performance
Extending Design Environments to Software Architecture Design
Automated Software Engineering
A Review of Experimental Investigations into Object-Oriented Technology
Empirical Software Engineering
The evolution matrix: recovering software evolution using software visualization techniques
IWPSE '01 Proceedings of the 4th International Workshop on Principles of Software Evolution
Future trends in software evolution metrics
IWPSE '01 Proceedings of the 4th International Workshop on Principles of Software Evolution
An Empirical Investigation of an Object-Oriented Software System
IEEE Transactions on Software Engineering
Making Movies: Watching Software Evolve through Visualisation
ICCS '01 Proceedings of the International Conference on Computational Science-Part II
Object Oriented Design Knowledge: Ontology and Measurement of Impact
OOIS '02 Proceedings of the 8th International Conference on Object-Oriented. Information Systems
Automating Object-Oriented Software Development Methods
ECOOP '01 Proceedings of the Workshops on Object-Oriented Technology
Object oriented programming for structural mechanics: a review
Civil and structural engineering computing: 2001
Structural templates and transformations: the Themis structural computing environment
Journal of Network and Computer Applications - Special issue: Structural computing: research directions, systems and issues
Automatic Detection of Design Problems in Object-Oriented Reengineering
TOOLS '99 Proceedings of the Technology of Object-Oriented Languages and Systems
Design-Related Reuse Problems: An Experience Report
ICSR '98 Proceedings of the 5th International Conference on Software Reuse
Teaching the evaluation of object-oriented designs
ACE '03 Proceedings of the fifth Australasian conference on Computing education - Volume 20
An empirical investigation of an object-oriented design heuristic for maintainability
Journal of Systems and Software
Polymetric Views-A Lightweight Visual Approach to Reverse Engineering
IEEE Transactions on Software Engineering
Mathematical Assessment of Object-Oriented Design Quality
IEEE Transactions on Software Engineering
The Evaluation of Large, Complex UML Analysis and Design Models
Proceedings of the 26th International Conference on Software Engineering
Evaluating Object-Oriented Designs with Link Analysis
Proceedings of the 26th International Conference on Software Engineering
An Ontology for Microarchitectural Design Knowledge
IEEE Software
The story of moose: an agile reengineering environment
Proceedings of the 10th European software engineering conference held jointly with 13th ACM SIGSOFT international symposium on Foundations of software engineering
Predicting the Probability of Change in Object-Oriented Systems
IEEE Transactions on Software Engineering
Improving CRC-card role-play with role-play diagrams
OOPSLA '05 Companion to the 20th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Traits: A mechanism for fine-grained reuse
ACM Transactions on Programming Languages and Systems (TOPLAS)
Using managed communication channels in software components
Proceedings of the 3rd conference on Computing frontiers
Modeling history to analyze software evolution: Research Articles
Journal of Software Maintenance and Evolution: Research and Practice
Application of graph theory to OO software engineering
Proceedings of the 2006 international workshop on Workshop on interdisciplinary software engineering research
Lightweight visualizations for inspecting code smells
SoftVis '06 Proceedings of the 2006 ACM symposium on Software visualization
Identifying refactoring opportunities by identifying dependency cycles
ACSC '06 Proceedings of the 29th Australasian Computer Science Conference - Volume 48
Visual support of software engineers during development and maintenance
ACM SIGSOFT Software Engineering Notes
JooJ: real-time support for avoiding cyclic dependencies
ACSC '07 Proceedings of the thirtieth Australasian conference on Computer science - Volume 62
An empirical study of cycles among classes in Java
Empirical Software Engineering
Instructional design of a programming course: a learning theoretic approach
Proceedings of the third international workshop on Computing education research
Teaching design patterns: a matter of principle
Journal of Computing Sciences in Colleges - Papers of the Fourteenth Annual CCSC Midwestern Conference and Papers of the Sixteenth Annual CCSC Rocky Mountain Conference
Detection and correction of design defects in object-oriented designs
Companion to the 22nd ACM SIGPLAN conference on Object-oriented programming systems and applications companion
On The Detection of Test Smells: A Metrics-Based Approach for General Fixture and Eager Test
IEEE Transactions on Software Engineering
CodeCity: 3D visualization of large-scale software
Companion of the 30th international conference on Software engineering
An empirical study on students' ability to comprehend design patterns
Computers & Education
Integrated Computer-Aided Engineering
A catalogue of lightweight visualizations to support code smell inspection
Proceedings of the 4th ACM symposium on Software visualization
Visually localizing design problems with disharmony maps
Proceedings of the 4th ACM symposium on Software visualization
Type safe dynamic object delegation in class-based languages
Proceedings of the 6th international symposium on Principles and practice of programming in Java
Metrics to study symptoms of bad software designs
ACM SIGSOFT Software Engineering Notes
EvoSpaces - Multi-dimensional Navigation Spaces for Software Evolution
Human Machine Interaction
Detecting Defects in Object Oriented Designs Using Design Metrics
Proceedings of the 2006 conference on Knowledge-Based Software Engineering: Proceedings of the Seventh Joint Conference on Knowledge-Based Software Engineering
Perspectives on automated correction of bad smells
Proceedings of the joint international and annual ERCIM workshops on Principles of software evolution (IWPSE) and software evolution (Evol) workshops
Journal of Systems and Software
The evolution and impact of code smells: A case study of two open source systems
ESEM '09 Proceedings of the 2009 3rd International Symposium on Empirical Software Engineering and Measurement
Adaptive Detection of Design Flaws
Electronic Notes in Theoretical Computer Science (ENTCS)
An information-based view of representational coupling in object-oriented systems
FASE'03 Proceedings of the 6th international conference on Fundamental approaches to software engineering
ECOOP'07 Proceedings of the 2007 conference on Object-oriented technology
Refactorings of design defects using relational concept analysis
ICFCA'08 Proceedings of the 6th international conference on Formal concept analysis
Tenth workshop on pedagogies and tools for the teaching and learning of object oriented concepts
ECOOP'06 Proceedings of the 2006 conference on Object-oriented technology: ECOOP 2006 workshop reader
A domain analysis to specify design defects and generate detection algorithms
FASE'08/ETAPS'08 Proceedings of the Theory and practice of software, 11th international conference on Fundamental approaches to software engineering
Structuring agents for adaptation
Adaptive agents and multi-agent systems
A large-scale empirical study of practitioners' use of object-oriented concepts
Proceedings of the 32nd ACM/IEEE International Conference on Software Engineering - Volume 1
Does size matter?: a preliminary investigation of the consequences of powerlaws in software
Proceedings of the 2010 ICSE Workshop on Emerging Trends in Software Metrics
Deviance from perfection is a better criterion than closeness to evil when identifying risky code
Proceedings of the IEEE/ACM international conference on Automated software engineering
Use of a multidimensional approach to study the evolution of software complexity
Innovations in Systems and Software Engineering
On the Quality of Examples in Introductory Java Textbooks
ACM Transactions on Computing Education (TOCE)
BDTEX: A GQM-based Bayesian approach for the detection of antipatterns
Journal of Systems and Software
Using role-play diagrams to improve scenario role-play
Graph transformations and model-driven engineering
JDeodorant: identification and application of extract class refactorings
Proceedings of the 33rd International Conference on Software Engineering
Search-based design defects detection by example
FASE'11/ETAPS'11 Proceedings of the 14th international conference on Fundamental approaches to software engineering: part of the joint European conferences on theory and practice of software
Delegation by object composition
Science of Computer Programming
Benchmarking library and application software with Data Envelopment Analysis
Software Quality Control
Assessing architectural evolution: a case study
Empirical Software Engineering
Applying and evaluating concern-sensitive design heuristics
Journal of Systems and Software
Lessons learned from automated analysis of industrial UML class models (an experience report)
MoDELS'05 Proceedings of the 8th international conference on Model Driven Engineering Languages and Systems
An exploratory study of the impact of antipatterns on class change- and fault-proneness
Empirical Software Engineering
Assessing aspect modularizations using design structure matrix and net option value
Transactions on Aspect-Oriented Software Development I
Improving object-oriented micro architectural design through knowledge systematization
ER'05 Proceedings of the 24th international conference on Perspectives in Conceptual Modeling
On the automated modularisation of java programs using service locators
SC'12 Proceedings of the 11th international conference on Software Composition
A tool environment for quality assurance based on the Eclipse Modeling Framework
Automated Software Engineering
EvoJava: a tool for measuring evolving software
ACSC '11 Proceedings of the Thirty-Fourth Australasian Computer Science Conference - Volume 113
An exploratory study to investigate the impact of conceptualization in god class detection
Proceedings of the 17th International Conference on Evaluation and Assessment in Software Engineering
Assessing technical debt by identifying design flaws in software systems
IBM Journal of Research and Development
On the existence of high-impact refactoring opportunities in programs
ACSC '12 Proceedings of the Thirty-fifth Australasian Computer Science Conference - Volume 122
Scalable motif detection and aggregation
ADC '12 Proceedings of the Twenty-Third Australasian Database Conference - Volume 124
To what extent can maintenance problems be predicted by code smell detection? - An empirical study
Information and Software Technology
Investigating the evolution of code smells in object-oriented systems
Innovations in Systems and Software Engineering
Hi-index | 0.00 |
From the Publisher:Object-Oriented Design Heuristics offers insight into object-oriented design improvement. The more than sixty guidelines presented in this book are language-independent and allow you to rate the integrity of a software design. The heuristics are not written as hard and fast rules; they are meant to serve as warning mechanisms which allow the flexibility of ignoring the heuristic as necessary. This tutorial-based approach, born out of the author's extensive experience developing software, teaching thousands of students, and critiquing designs in a variety of domains, allows you to apply the guidelines in a personalized manner. The heuristics cover important topics ranging from classes and objects (with emphasis on their relationships including association, uses, containment, and both single and multiple inheritance) to physical object-oriented design. You will gain an understanding of the synergy that exists between design heuristics and the popular concept of design patterns; heuristics can highlight a problem in one facet of a design while patterns can provide the solution. Programmers of all levels will find value in this book. The newcomer will discover a fast track to understanding the concepts of object-oriented programming. At the same time, experienced programmers seeking to strengthen their object-oriented development efforts will appreciate the insightful analysis. In short, with Object-Oriented Design Heuristics as your guide, you have the tools to become a better software developer.