A computer science perspective of bridge design
Communications of the ACM
IEEE Transactions on Software Engineering
A rational design process: How and why to fake it
IEEE Transactions on Software Engineering
gIBIS: a hypertext tool for exploratory policy discussion
ACM Transactions on Information Systems (TOIS)
Literate programming
Foundations for the study of software architecture
ACM SIGSOFT Software Engineering Notes
Using style to understand descriptions of software architecture
SIGSOFT '93 Proceedings of the 1st ACM SIGSOFT symposium on Foundations of software engineering
Design patterns: elements of reusable object-oriented software
Design patterns: elements of reusable object-oriented software
Exploiting style in architectural design environments
SIGSOFT '94 Proceedings of the 2nd ACM SIGSOFT symposium on Foundations of software engineering
A Domain-Specific Software Architecture for Adaptive Intelligent Systems
IEEE Transactions on Software Engineering - Special issue on software architecture
Abstractions for Software Architecture and Tools to Support Them
IEEE Transactions on Software Engineering - Special issue on software architecture
DSSA (Domain-Specific Software Architecture): pedagogical example
ACM SIGSOFT Software Engineering Notes
The sciences of the artificial (3rd ed.)
The sciences of the artificial (3rd ed.)
Invention by design: how engineers get from thought to thing
Invention by design: how engineers get from thought to thing
ICSE '91 Proceedings of the 13th international conference on Software engineering
The art of computer programming, volume 3: (2nd ed.) sorting and searching
The art of computer programming, volume 3: (2nd ed.) sorting and searching
Linux as a case study: its extracted software architecture
Proceedings of the 21st international conference on Software engineering
A Classification and Comparison Framework for Software Architecture Description Languages
IEEE Transactions on Software Engineering
Program design by informal English descriptions
Communications of the ACM
On the criteria to be used in decomposing systems into modules
Communications of the ACM
Principled design of the modern Web architecture
ACM Transactions on Internet Technology (TOIT)
Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design and the Unified Process
The Rational Unified Process: An Introduction, Second Edition
The Rational Unified Process: An Introduction, Second Edition
Techniques of Program Structure and Design
Techniques of Program Structure and Design
The Mythical Man-Month: Essays on Softw
The Mythical Man-Month: Essays on Softw
The Design of Sites: Patterns, Principles, and Processes for Crafting a Customer-Centered Web Experience
Design Rules: The Power of Modularity Volume 1
Design Rules: The Power of Modularity Volume 1
Structured Design: Fundamentals of a Discipline of Computer Program and Systems Design
Structured Design: Fundamentals of a Discipline of Computer Program and Systems Design
Architecture recovery of web applications
Proceedings of the 24th International Conference on Software Engineering
The 4+1 View Model of Architecture
IEEE Software
Inconsistency Handling in Multiperspective Specifications
IEEE Transactions on Software Engineering
TOOLS '00 Proceedings of the Technology of Object-Oriented Languages and Systems (TOOLS 33)
On using Net Options Value as a value based design framework
EDSER '05 Proceedings of the seventh international workshop on Economics-driven software engineering research
Principles of Program Design
Software Product Line Engineering: Foundations, Principles and Techniques
Software Product Line Engineering: Foundations, Principles and Techniques
System development (Prentice-Hall International series in computer science)
System development (Prentice-Hall International series in computer science)
ACM Transactions on Software Engineering and Methodology (TOSEM)
Moving architectural description from under the technology lamppost
Information and Software Technology
Is abstraction the key to computing?
Communications of the ACM
Group-to-group distance collaboration: examining the "space between"
ECSCW'03 Proceedings of the eighth conference on European Conference on Computer Supported Cooperative Work
API-Based and Information-Theoretic Metrics for Measuring the Quality of Software Modularization
IEEE Transactions on Software Engineering
Improving software practice through education: Challenges and future trends
FOSE '07 2007 Future of Software Engineering
Model-driven Development of Complex Software: A Research Roadmap
FOSE '07 2007 Future of Software Engineering
Source Code Analysis: A Road Map
FOSE '07 2007 Future of Software Engineering
Formal Software Analysis Emerging Trends in Software Model Checking
FOSE '07 2007 Future of Software Engineering
Global Software Engineering: The Future of Socio-technical Coordination
FOSE '07 2007 Future of Software Engineering
A Perspective on the Future of Middleware-based Software Engineering
FOSE '07 2007 Future of Software Engineering
Self-Managed Systems: an Architectural Challenge
FOSE '07 2007 Future of Software Engineering
Software Architecture: Foundations, Theory, and Practice
Software Architecture: Foundations, Theory, and Practice
The Design of Everyday Things
A Future for Software Engineering?
FOSE '07 2007 Future of Software Engineering
Improving software practice through education: Challenges and future trends
FOSE '07 2007 Future of Software Engineering
Model-driven Development of Complex Software: A Research Roadmap
FOSE '07 2007 Future of Software Engineering
Safety and Software Intensive Systems: Challenges Old and New
FOSE '07 2007 Future of Software Engineering
Software Reliability Engineering: A Roadmap
FOSE '07 2007 Future of Software Engineering
Self-Managed Systems: an Architectural Challenge
FOSE '07 2007 Future of Software Engineering
Software engineering for pervasive services
Proceedings of the 3rd ACM workshop on Software engineering for pervasive services
Pointcut-based architectural interface for bridging a gap between design and implementation
Proceedings of the Workshop on AOP and Meta-Data for Software Evolution
Software Engineering for Self-Adaptive Systems
Archface: a contract place where architectural design and code meet together
Proceedings of the 32nd ACM/IEEE International Conference on Software Engineering - Volume 1
Advancing software architecture modeling for large scale heterogeneous systems
Proceedings of the FSE/SDP workshop on Future of software engineering research
A framework for rule-based dynamic adaptation
TGC'10 Proceedings of the 5th international conference on Trustworthly global computing
Representativeness models of systems: smart grid example
Innovations in Systems and Software Engineering
Journal of Systems and Software
Architectural point mapping for design traceability
Proceedings of the eleventh workshop on Foundations of Aspect-Oriented Languages
Utilizing architectural styles to enhance the adaptation support of middleware platforms
Information and Software Technology
Proceedings of the 28th Annual ACM Symposium on Applied Computing
Archface4COP: architectural interface for context-oriented programming
Proceedings of the 5th International Workshop on Context-Oriented Programming
Hi-index | 0.00 |
The design of software has been a focus of software engineering research since the field's beginning. This paper explores key aspects of this research focus and shows why design will remain a principal focus. The intrinsic elements of software design, both process and product, are discussed: concept formation, use of experience, and means for representation, reasoning, and directing the design activity. Design is presented as being an activity engaged by a wide range of stakeholders, acting throughout most of a system's lifecycle, making a set of key choices which constitute the application's architecture. Directions for design research are outlined, including: (a) drawing lessons, inspiration, and techniques from design fields outside of computer science, (b) emphasizing the design of application "character" (functionality and style) as well as the application's structure, and (c) expanding the notion of software to encompass the design of additional kinds of intangible complex artifacts.