Software defect removal
The Role of Domain Expenence in Software Design
IEEE Transactions on Software Engineering - Special issue on artificial intelligence and software engineering
A rational design process: How and why to fake it
IEEE Transactions on Software Engineering
Software engineering concepts
Managing the development of large software systems: concepts and techniques
ICSE '87 Proceedings of the 9th international conference on Software Engineering
Breakdowns and processes during the early activities of software design by professionals
Empirical studies of programmers: second workshop
Control of cognitive processes during software design: what tools are needed?
CHI '88 Proceedings of the SIGCHI Conference on Human Factors in Computing Systems
Knowledge exploited by experts during software system design
International Journal of Man-Machine Studies - What programmers know
The sciences of the artificial (3rd ed.)
The sciences of the artificial (3rd ed.)
On the inevitable intertwining of specification and implementation
Communications of the ACM
Program development by stepwise refinement
Communications of the ACM
The Architecture of Cognition
A Discipline of Programming
Structured programming
On Formalism in Specifications
IEEE Software
Structured Programming: Retrospect and Prospect
IEEE Software
Task and Dialogue Modeling: Bridging the Divide with Lean Cuisine+
AUIC '00 Proceedings of the First Australasian User Interface Conference
Towards A Task-Based Methodology For Designing GUIs
SEEP '96 Proceedings of the 1996 International Conference on Software Engineering: Education and Practice (SE:EP '96)
An Environment for Reusing Software Processes
ICSR '98 Proceedings of the 5th International Conference on Software Reuse
Articulation of web site design constraints: Effects of the task and designers' expertise
Computers in Human Behavior
A model of design decision making based on empirical results of interviews with software designers
Information and Software Technology
Architecture and Design Intent: An Experience Report
SHARK-ADI '07 Proceedings of the Second Workshop on SHAring and Reusing architectural Knowledge Architecture, Rationale, and Design Intent
Evaluating the adoption potential of design science efforts: The case of APSARA
Decision Support Systems
A framework for understanding creativity in requirements engineering
Information and Software Technology
Behaviour & Information Technology
An ontologically-based evaluation of software design methods
The Knowledge Engineering Review
SMC'09 Proceedings of the 2009 IEEE international conference on Systems, Man and Cybernetics
End-user mashup programming: through the design lens
Proceedings of the SIGCHI Conference on Human Factors in Computing Systems
Comparing decision making in agile and non-agile software organizations
XP'07 Proceedings of the 8th international conference on Agile processes in software engineering and extreme programming
Representing the behaviour of software projects using multi-dimensional timelines
Information and Software Technology
A practical generative design method
Computer-Aided Design
Information and Software Technology
Concurrent product data modeling for collaborative design environments
Proceedings of the 2010 Conference on Grand Challenges in Modeling & Simulation
Journal of Systems and Software
Foundations of agile decision making from agile mentors and developers
XP'06 Proceedings of the 7th international conference on Extreme Programming and Agile Processes in Software Engineering
On the composition of interactor specifications
FAC-FA'96 Proceedings of the 1996 BCS-FACS conference on Formal Aspects of the Human Computer Interface
Proceedings of the Designing Interactive Systems Conference
Viable system model in capturing iterative features within architectural design processes
ACIIDS'13 Proceedings of the 5th Asian conference on Intelligent Information and Database Systems - Volume Part II
Software architecture review by association
Journal of Systems and Software
Hi-index | 0.00 |
This study shows that top-down decomposition is problematic in the early stages of design. Instead, an opportunistic decomposition is better suited to handle the ill-structuredness of design problems. Designers are observed interleaving decisions at various levels of abstraction in the solution decomposition. The verbal protocols of three professionals designing a software system of realistic complexity are analyzed to determine the frequency and causes of opportunistic decompositions. The sudden discovery of new requirements and partial solutions triggered by data-driven rules and associations, the immediate development of solutions for newly discovered requirements, and drifting through partial solutions are shown to be important causes of opportunistic design. A top-down decomposition appears to be a special case for well-structured problems when the designer already knows the correct decomposition. Two cognitive models are briefly discussed in relation to opportunistic design. Finally, implications for training, methods, and computational environments to support the early stages of design are outlined.