Abstract
Delivering software systems that fulfill all requirements of the stakeholders is very difficult, if not at all impossible. We consider the problem of coping with imperfect information, like interpreting incomplete requirement specifications or vagueness in decisions, one of the main reasons that makes software design difficult. We define a method for tracing design decisions under imperfect information. To model and compare requirements with estimations, we present fuzzy and stochastic techniques. This approach offers adequate decision support that can deal with imperfect information during software design. The approach is illustrated by a real-world example, based on a storm surge barrier system.
Article PDF
Similar content being viewed by others
Avoid common mistakes on your manuscript.
References
Akşit M, Marcelloni F (2001) Deferring elimination of design alternatives in object-oriented methods. In: Concurrency and computation: practice and experience, Wiley, Chichester, pp 1247–1279
Akşit M, Marcelloni F (2001) Leaving inconsistency using fuzzy logic, information and software technology 43(10):725–741
Buckley JJ (2003) Fuzzy probabilities new approach and applications. Springer, Heidelberg
Cimitile A, Lanubile F, Visaggio G (1992) Traceability based on design decisions. In: Proceedings of conference on software maintenance. IEEE Press, New York, pp 309–317
Clements P, Bachmann F, Bass L, Garlan D, Ivers J, Little R, Nord R, Stafford J (2004) Documenting software architectures. Addison Wesley, Reading
Finkelstein A, Kramer J, Nuseibeh B (1994) Software process modelling and technology. Research Studies Press Ltd
Jacobson I, Booch G, Rumbough J (1999) The unified software development process. Addison Wesley, Reading
Kaiser GE, Popovich S, Ben-Shaul IZ (1994) A bi-level language for software process modeling. In: Tichy W (eds) Configuration management. Wiley, Chichester, pp 39–72
Karolak DW (1995) Software engineering risk management. Wiley, Chichester. ISBN: 978-0-8186-7194-4
Kazman R, Klein M, Barbacci M, Longstaff T, Lipson H, Carriere J (1998) The architecture tradeoff analysis method. In: 4th International conference on engineering of complex computer systems. IEEE Computer Society Press, Los Alamitos, pp 68–78
Law WS, Antonsson EK (1995) Optimization methods for calculating design imprecision. In: Advances in design automation. ASME, New York. pp 471–476
Lee J, Kuo J, Hsueh N, Fanjiang Y (2003) Trade-off requirement engineering. In: Lee J. (eds) Software engineering with computational intelligence. Springer, Heidelberg, pp 51–72
Lee J, Lai K (1991) What’s in design rationale. Human–Computer Interaction 6(3–4):251–280
Lethbridge TC, Laganière R (2005) Object-oriented software engineering practical software development using UML and Java. McGraw Hill, New York
Liu X, Da Q (2005) A Decision tree solution considering the decision maker’s attitude. In: Fuzzy sets and systems. Elsevier, Amsterdam, pp 437–454
McCall RJ (1991) PHI: A conceptual foundation for design hypermedia. Design Stud 12(1):30–41
Noppen J, Akşit M, Nicola V, Tekinerdogan B (2004) Market-driven approach based on markov decision theory for optimal use of resources in software development. IEE Proc Softw 151(2): 85–94
Potts C, Bruns G (1988) Recording the reasons for design decisions. In: ICSE ’88: Proceedings of the 10th international conference on software engineering. IEEE Computer Society Press, Los Alamitos, pp 418–427
Ramesh B, Jarke M (2001) Toward reference models of requirements traceability. Softw Eng 27(1):58–93
Ran A, Kuusela J (1996) Design decision trees. In: IWSSD ’96: Proceedings of the 8th international workshop on software specification and design. IEEE Computer Society, Washington, DC, pp 172–175
Regli WC, Hu X, Atwood M, Sun W (2000) A survey of design rationale systems: approaches, representation, capture and retrieval, engineering with computers, vol 16, Springer-Verlag London Limited, pp 209–235
Russel S, Norvig P (1995): Artifical Intelligence A modern approach. Prentice-Hall, Englewood Cliffs
Tekinerdogan B, Akşit M (2002) Classifying and evaluating architecture design methods. In: Akşit M (eds) Software architecture and component technology. Kluwer Academic Publishers, Dordrecht, pp 3–28
Tretmans J, Wijbrans K, Chaudron M (2001) Software engineering with formal methods: the development of a storm surge barrier control system revisiting seven myths of formal methods, Form. Methods Syst Des 19(2):195–215
Yen J, Lee J (1993) Fuzzy logic as a basis for specifying imprecise requirements. In: Proceedings of 2nd IEEE international conference on fuzzy systems (FUZZ-IEEE’93). IEEE Computer Society press, Alamitos, pp 745–749
Yourdon E, Constantine LL (1979) Structured design: fundamentals of a discipline of computer program and systems design. Prentice-Hall, Englewood Cliffs
Zadeh LA (1975) The concept of a linguistic variable and its application to approximate reasoning—II. Inf Sci 8(4):301–357
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
Open Access This is an open access article distributed under the terms of the Creative Commons Attribution Noncommercial License ( https://creativecommons.org/licenses/by-nc/2.0 ), which permits any noncommercial use, distribution, and reproduction in any medium, provided the original author(s) and source are credited.
About this article
Cite this article
Noppen, J., van den Broek, P. & Akşit, M. Software development with imperfect information. Soft Comput 12, 3–28 (2008). https://doi.org/10.1007/s00500-007-0214-7
Published:
Issue Date:
DOI: https://doi.org/10.1007/s00500-007-0214-7