[go: up one dir, main page]
More Web Proxy on the site http://driver.im/ skip to main content
10.1145/508791.508933acmconferencesArticle/Chapter ViewAbstractPublication PagessacConference Proceedingsconference-collections
Article

Lessons from industrial design for software engineering through constraints identification, solution space optimisation and reuse

Published: 11 March 2002 Publication History

Abstract

Design is a complex activity that can be analysed from a wide variety of perspectives. This paper attempts to look at the individual problem solving process, taking into account psychological arguments. We characterise some of the phases involved in the design process, namely the constraints identification, the optimisation of solution space and the reuse process. We highlight a three-dimensional framework of how the constraints identification impacts on the solution space which, in turn, determines the range of the components that will be eligible for reuse. We discuss this argument through examples from both inside and outside the software engineering field.

References

[1]
Sallis, P., Tate, G. & MacDonell, S. (1995). Software Engineering: Practice, Management, Improvement. Addison-Wesley, Sydney, Australia.]]
[2]
Herbsleb, J. D., Finholt, T. A., & Grinter, R. E. (2001). An Empirical Study of Global Software Development: Distance and Speed. Proceedings of the 23rd International Conference of Software Engineering, Toronto, Canada, 12-19th May 2001 (pp. 81-90).]]
[3]
Raymond, E. S. (1999) The Cathedral and the Bazaar: Musings on Linux and Open Source by an Accidental Revolutionary. O'Rielly & Associates, California, USA.]]
[4]
Weinberg, G. M. (1971). The psychology of computer programming. Van Nostrand Reinhold, London.]]
[5]
Robillard, N. & Robillard, P. (2000). Types of collaborative work in software engineering. The Journal of Systems and Software, 53, 219-224.]]
[6]
Pressman, R. S. (1992). Software engineering. A practitioner's approach. McGraw-Hill, London.]]
[7]
Bell, D. (2000). Software engineering: A programming approach. 3rd edition. Addison-Wesley, U.K.]]
[8]
Sommerville, I. (2001). Software engineering. Sixth edition. Addison-Wesley, Wokingham, UK.]]
[9]
Brooks, F. P. (1995). The mythical man month: Essays on software engineering. Anniversary Edition. Addison-Wesley, New York, NY.]]
[10]
Tekinerdogan, B. (2000). Synthesis-Based Software Architecture Design, PhD thesis, Dept. of Computer Science, University of Twente, The Netherlands.]]
[11]
Health & Safety Committee (1998). The use of computers in safety-critical applications. HMSO, UK.]]
[12]
Leveson, N. (1994). High pressure steam engines and computer software. IEEE Computer, 27, 65-73.]]
[13]
Holloway, C. M. (1999). From bridges and rockets. Lessons for software systems. Proceedings of the 17th International System Safety Conference, August 1999 (pp. 598-608).]]
[14]
Brooks, R (1999). Towards a theory of the cognitive processes in computer programming. International Journal in Human-Computer Studies, 51, 197-211.]]
[15]
Von Maryhauser, A. & Vans, A., M. (1995). Program comprehension during software maintenance and evolution. Computer, 28, 44-55.]]
[16]
Westerman, S. J., Shryane, N. M., Crawshaw, C. M. & Hockey, G. R. J. (1997). Engineering cognitive diversity, in F. Redmill & T. Anderson (Eds). Safer Systems. Proceedings of the 5th Safety-critical Systems Symposium, Brighton, UK (pp. 111-120).]]
[17]
Whitefield, A. (1990). Human-computer interaction models and their roles in the design of interactive systems, in P. Falzon (Ed). Cognitive ergonomics: Understanding, learning and designing human-computer interaction. Academic Press, London (pp. 7-25).]]
[18]
Burkhardt, J. M. & Déétienne, F. (1994). La réutilisation en génie logiciel: une définition d'un cadre de recherche en ergonomie cognitive. In proceedings of ERGO IA 94, Biarritz, France (pp. 83-95).]]
[19]
Cordier, F., Denhière, G., George, C., Crépault, J., Hoc, J.-M., Richard, J.-F. (1990). Connaissances et représentations. in J.-F. Richard, C. Bonnet & R. Ghiglione: Traitéé de psychologie cognitive 2. Bordas, Paris (pp. 35-102).]]
[20]
Newell, A. & Simon, H., A. (1972). Human problem solving. Englewood Cliffs, N.J., Prentice Hall.]]
[21]
McDermid, J. (1991). Software engineer's reference book. Butterworth-Heinerman, Oxford.]]
[22]
Gilb, T. (2000). The ten most powerful principles for quality in (software and) software organisations for dependable systems. In F. Kornneef & M. Van der Meulen (Eds). SAFECOMP 2000, Springer-Verlag, Heidelberg (pp. 1-13).]]
[23]
Reason, J. (1995). Managing the risks of organisational accidents. Aldershot, Ashgate.]]
[24]
Jackson, M. (2001). Problem frames. Addison Welsey, London, UK.]]
[25]
Amalberti, R. (1996). La conduite de systèmes à risques. Presses Universitaires de France, Paris.]]
[26]
Schanteau, J. (1992). How much information does an expert use? Is it relevant? Acta Psychologica, 51, 75-86.]]
[27]
Besnard, D. (2000). Expert error. The case of troubleshooting in electronics. In F. Kornneef & M. Van der Meulen (Eds). SAFECOMP 2000, Springer-Verlag, Heidelberg (pp. 74-85).]]
[28]
Bonnardel, N. & Summer, T. (1996). Supporting evaluation in design. Acta Psychologica, 91, 221-244.]]
[29]
Reason, J. (1990). Human error. Cambridge University Press, Cambridge.]]
[30]
Reason, J. (1987). A preliminary classification of mistakes, in J. Rasmussen, K. Duncan & J. Leplat. (eds). New technology and human error. John Wiley & Sons Ltd, Chichester.]]
[31]
Lucey, T. (1992). Quantitative techniques. DP Publications, UK.]]
[32]
Cooke, S. & Slack, N. (1991). Making management decisions. Prentice-Hall,UK.]]
[33]
Ackoff, R. L. (1962). Scientific method: Optimizing applied research decisions. Wiley.]]
[34]
Randell, B. (2000). Facing up to faults. The Computer Journal, 43, 95-106.]]
[35]
Boehm, B., Egyed, A., Kwan, J., Port, D., Shah, A. & Madachy, R. (1998). Using the Win Win spiral model: A case study. IEEE Computer, 31, 33-44.]]
[36]
Richards, D. (2000). The reuse of knowledge: a user-centred approach. International Journal of Human-Computer Studies, 52, 553-579.]]
[37]
McClure, C. (1992). The three Rs of software automation. Re-engineering, repository, reusability. Prentice Hall, Englewoods Cliffs, NJ.]]
[38]
Buratto, F. & Chabaud, C. (1994). Etude exploratoire du processus de rééutilisation de données chez un concepteur d'achitecture informatique débutant. In proceedings of ERGO IA 94, Biarritz, France (pp. 69-82).]]
[39]
Lions, J. L. (1996). Ariane 5 Flight 501 failure. Report by the enquiry board. http://www.cs.berkeley.edu/~demmel/ma221/ariane5rep.html]]
[40]
Catrambone, R. & Holyoak, K. J. (1989). Overcoming contextual limitations on problem-solving transfer. Journal of Experimental Psychology: Learning, memory and Cognition, 15, 1147-1156.]]
[41]
Novick, L. R. & Holyoak, K. J. (1991). Mathematical problem solving by analogy. Journal of Experimental Psychology: Learning, Memory and Cognition, 17, 338-415.]]
[42]
Gick, M. L. & McGarry, J. (1992). Learning from mistakes: inducing analoguous solution failures to a source problem produces later successes in analogical transfer. Journal of Experimental Psychology, 18, 623-639.]]
[43]
Novick, L. R. (1988). Analogical transfer, problem similarity and expertise. Journal of Experimental Psychology: Learning, Memory and Cognition, 14, 510-520.]]
[44]
Clark, G. M. & Eyre, J. (2001). The Gateshead Millennium bridge. The Structural Engineer, 79, 30-35.]]
[45]
Kidder, T. (1981). The Soul of a New Machine. Back Bay Books, USA.]]
[46]
Carroll, J. (1997). Human computer interaction: psychology as a science of design. International Journal of Human-Computer Studies. 46, 501-522.]]
[47]
Hollan, J., Hutchins, E. & Kirsh, D. (2000). Distributed cognition: toward a new foundation for human-computer interaction research. ACM Transactions on Computer-Human Interaction, 7, 174-196.]]
[48]
Laprie, J.-C. (1992). Dependability: Basic Concepts and Terminology. Springer-Verlag Wien, New York.]]
[49]
Neumann, P. G. (1995). Computer-related risks. Addison-Wesley, New York, NY.]]

Cited By

View all
  • (2022)Systems integration implications of component reuseSystems Engineering10.1002/sys.2163625:6(561-573)Online publication date: 9-Aug-2022
  • (2009)A Constraint-Oriented Approach to Software Architecture DesignProceedings of the 2009 Ninth International Conference on Quality Software10.1109/QSIC.2009.59(396-405)Online publication date: 24-Aug-2009

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image ACM Conferences
SAC '02: Proceedings of the 2002 ACM symposium on Applied computing
March 2002
1200 pages
ISBN:1581134452
DOI:10.1145/508791
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 11 March 2002

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. cognitive psychology
  2. design faults
  3. human-error
  4. industrial design
  5. software engineering

Qualifiers

  • Article

Conference

SAC02
Sponsor:
SAC02: 2002 ACM Symposium on Applied Computing
March 11 - 14, 2002
Madrid, Spain

Acceptance Rates

Overall Acceptance Rate 1,650 of 6,669 submissions, 25%

Upcoming Conference

SAC '25
The 40th ACM/SIGAPP Symposium on Applied Computing
March 31 - April 4, 2025
Catania , Italy

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)3
  • Downloads (Last 6 weeks)1
Reflects downloads up to 21 Dec 2024

Other Metrics

Citations

Cited By

View all
  • (2022)Systems integration implications of component reuseSystems Engineering10.1002/sys.2163625:6(561-573)Online publication date: 9-Aug-2022
  • (2009)A Constraint-Oriented Approach to Software Architecture DesignProceedings of the 2009 Ninth International Conference on Quality Software10.1109/QSIC.2009.59(396-405)Online publication date: 24-Aug-2009

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media