Foundations for the study of software architecture
ACM SIGSOFT Software Engineering Notes
Software creativity
Design patterns: elements of reusable object-oriented software
Design patterns: elements of reusable object-oriented software
SIGCSE '95 Proceedings of the twenty-sixth SIGCSE technical symposium on Computer science education
Interaction design at IDEO Product Development
CHI '95 Conference Companion on Human Factors in Computing Systems
A Component- and Message-Based Architectural Style for GUI Software
IEEE Transactions on Software Engineering - Special issue: best papers of the 17th International Conference on Software Engineering (ICSE-17)
The sciences of the artificial (3rd ed.)
The sciences of the artificial (3rd ed.)
Communications of the ACM - Special issue Participatory Design
Design rationale: concepts, techniques, and use
Design rationale: concepts, techniques, and use
Program fragments, linking, and modularization
Proceedings of the 24th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
A framework for classifying and comparing architecture description languages
ESEC '97/FSE-5 Proceedings of the 6th European SOFTWARE ENGINEERING conference held jointly with the 5th ACM SIGSOFT international symposium on Foundations of software engineering
N degrees of separation: multi-dimensional separation of concerns
Proceedings of the 21st international conference on Software engineering
Criteria for software modularization
ICSE '85 Proceedings of the 8th international conference on Software engineering
Subject-oriented design: towards improved alignment of requirements, design, and code
Proceedings of the 14th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
The entity-relationship model—toward a unified view of data
ACM Transactions on Database Systems (TODS) - Special issue: papers from the international conference on very large data bases: September 22–24, 1975, Framingham, MA
IEEE Transactions on Software Engineering
On the criteria to be used in decomposing systems into modules
Communications of the ACM
Modular data processing systems written in COBOL
Communications of the ACM
Software product lines: practices and patterns
Software product lines: practices and patterns
The structure and value of modularity in software design
Proceedings of the 8th European software engineering conference held jointly with 9th ACM SIGSOFT international symposium on Foundations of software engineering
A survey of user-centered design practice
Proceedings of the SIGCHI Conference on Human Factors in Computing Systems
Design Rules: The Power of Modularity Volume 1
Design Rules: The Power of Modularity Volume 1
Two case studies of open source software development: Apache and Mozilla
ACM Transactions on Software Engineering and Methodology (TOSEM)
Concern graphs: finding and describing concerns using structural program dependencies
Proceedings of the 24th International Conference on Software Engineering
The 4+1 View Model of Architecture
IEEE Software
IEEE Software
Design Rationale Systems: Understanding the Issues
IEEE Expert: Intelligent Systems and Their Applications
Towards requirements-driven information systems engineering: the Tropos project
Information Systems - The 13th international conference on advanced information systems engineering (CAiSE*01)
Conquering aspects with Caesar
Proceedings of the 2nd international conference on Aspect-oriented software development
ECOOP '01 Proceedings of the 15th European Conference on Object-Oriented Programming
Abstracting Object Interactions Using Composition Filters
ECOOP '93 Proceedings of the Workshop on Object-Based Distributed Programming
A psychology of programming for design
INTERACT '90 Proceedings of the IFIP TC13 Third Interational Conference on Human-Computer Interaction
A Formalization of Software Architecture
FM '99 Proceedings of the Wold Congress on Formal Methods in the Development of Computing Systems-Volume I - Volume I
Essentials of Constraint Programming
Essentials of Constraint Programming
User Stories Applied: For Agile Software Development
User Stories Applied: For Agile Software Development
Queue - DSPs
Software Systems Architecture: Working With Stakeholders Using Viewpoints and Perspectives
Software Systems Architecture: Working With Stakeholders Using Viewpoints and Perspectives
An analysis of modularity in aspect oriented design
Proceedings of the 4th international conference on Aspect-oriented software development
Mylar: a degree-of-interest model for IDEs
Proceedings of the 4th international conference on Aspect-oriented software development
Aspect-Oriented Software Development with Use Cases (Addison-Wesley Object Technology Series)
Aspect-Oriented Software Development with Use Cases (Addison-Wesley Object Technology Series)
Aspect-oriented programming and modular reasoning
Proceedings of the 27th international conference on Software engineering
Workshop on the Modeling and Analysis of Concerns in Software (MACS 2005)
ACM SIGSOFT Software Engineering Notes
Concern modeling in the concern manipulation environment
MACS '05 Proceedings of the 2005 workshop on Modeling and analysis of concerns in software
Principles of Program Design
Human Problem Solving
Structured Analysis and System Specification
Structured Analysis and System Specification
IEEE Software
Waypointing and social tagging to support program navigation
CHI '06 Extended Abstracts on Human Factors in Computing Systems
Modeling Dependencies in Product Families with COVAMOF
ECBS '06 Proceedings of the 13th Annual IEEE International Symposium and Workshop on Engineering of Computer Based Systems
Software—Practice & Experience
Using task context to improve programmer productivity
Proceedings of the 14th ACM SIGSOFT international symposium on Foundations of software engineering
Exceptions and aspects: the devil is in the details
Proceedings of the 14th ACM SIGSOFT international symposium on Foundations of software engineering
Let's go to the whiteboard: how and why software developers use drawings
Proceedings of the SIGCHI Conference on Human Factors in Computing Systems
Classics in software engineering
Modeling Product Line Architectures through Change Sets and Relationships
ICSE '07 Proceedings of the 29th international conference on Software Engineering
Comprehending Aspect-Oriented Programs: Challenges and Open Issues
ICPC '07 Proceedings of the 15th IEEE International Conference on Program Comprehension
Notation and representation in collaborative object-oriented design: an observational study
Proceedings of the 22nd annual ACM SIGPLAN conference on Object-oriented programming systems and applications
Mining early aspects from requirements with ea-miner
Companion of the 30th international conference on Software engineering
Proceedings of the 15th workshop on Early aspects
Sketching User Experiences: Getting the Design Right and the Right Design
Sketching User Experiences: Getting the Design Right and the Right Design
EvoSpaces - Multi-dimensional Navigation Spaces for Software Evolution
Human Machine Interaction
Software Architecture: Foundations, Theory, and Practice
Software Architecture: Foundations, Theory, and Practice
How tagging helps bridge the gap between social and technical aspects in software development
ICSE '09 Proceedings of the 31st International Conference on Software Engineering
Insights from expert software design practice
Proceedings of the the 7th joint meeting of the European software engineering conference and the ACM SIGSOFT symposium on The foundations of software engineering
ACM SIGSOFT Software Engineering Notes
When refactoring acts like modularity: keeping options open with persistent condition checking
Proceedings of the 2nd Workshop on Refactoring Tools
Explicit Concern-Driven Development with ArchEvol
ASE '09 Proceedings of the 2009 IEEE/ACM International Conference on Automated Software Engineering
Dealing with fine-grained configurations in model-driven SPLs
Proceedings of the 13th International Software Product Line Conference
Code bubbles: a working set-based interface for code understanding and maintenance
Proceedings of the SIGCHI Conference on Human Factors in Computing Systems
A survey of automated code-level aspect mining techniques
Transactions on aspect-oriented software development IV
Code canvas: zooming towards better development environments
Proceedings of the 32nd ACM/IEEE International Conference on Software Engineering - Volume 2
Umple: a model-oriented programming language
Proceedings of the 32nd ACM/IEEE International Conference on Software Engineering - Volume 2
Informal software design knowledge reuse
Proceedings of the 32nd ACM/IEEE International Conference on Software Engineering - Volume 2
Modular aspect-oriented design with XPIs
ACM Transactions on Software Engineering and Methodology (TOSEM)
Software design sketching with calico
Proceedings of the IEEE/ACM international conference on Automated software engineering
Proceedings of the ACM international conference on Object oriented programming systems languages and applications
On the use of emerging design as a basis for knowledge collaboration
JSAI-isAI'09 Proceedings of the 2009 international conference on New frontiers in artificial intelligence
Managing technical debt in software-reliant systems
Proceedings of the FSE/SDP workshop on Future of software engineering research
An agenda for concern-oriented software engineering
Proceedings of the FSE/SDP workshop on Future of software engineering research
The code orb: supporting contextualized coding via at-a-glance views (NIER track)
Proceedings of the 33rd International Conference on Software Engineering
The Awareness Network, To Whom Should I Display My Actions? And, Whose Actions Should I Monitor?
IEEE Transactions on Software Engineering
Theoretical and empirical studies of software development's role as a design discipline
Theoretical and empirical studies of software development's role as a design discipline
Building up and reasoning about architectural knowledge
QoSA'06 Proceedings of the Second international conference on Quality of Software Architectures
The Design of Everyday Things
Generalization refactorings for reusable aspects
Proceedings of the 51st ACM Southeast Conference
Hi-index | 0.00 |
Modularity is essential to software development. Without it, large software systems simply could not be realized. Designers typically strive to achieve a high degree of modularity by separating different concerns over different modules, a process called modularization. Modularity, however, is but one of the goals that the designer has. Furthermore, design does not just take place when the designer decides upon the structure of the code. Instead, design is a multi-dimensional activity that permeates the software life cycle. In this paper, we examine modularity as seen through the lens of design as it takes place across the life cycle, particularly dissecting typical activities in which designers engage to study how these activities involve and relate to modularity. The result is an affirmation that modularity is and always should be an integral part of designers' work, but that our current techniques to achieve modularity fall short in a number of critical ways. A research agenda is laid out toward overcoming these shortcomings.