Abstract
We argue for greater emphasis on design in software engineering courses, and for design under consideration of non-functional requirements. In particular we show that it is sometimes quite easy to determine early whether a design satisfies performance and reliability requirements. This is done by means of examples we have used in our courses. Performance and reliability analyses, which acquire particular importance with embedded real-time systems, require familiarity with probability and queueing theory. We recommend a special course on these topics.
Preview
Unable to display preview. Download preview PDF.
References
M. Shaw: Prospects for an engineering discipline of software. IEEE Software 7, 6, 15–24 (Nov. 1990).
A. Spector, D. Gifford: A computer science perspective on bridge design. Comm. ACM 29, 268–283 (1986).
M. Dyer: The Cleanroom Approach to Quality Software Development. New York: Wiley 1992.
A. J. Offutt, R. H. Untch: Integrating research, reuse, and integration into software engineering courses. Proc. SEI Conference 1992 on Software Engineering Education (Springer-Verlag LNCS 640), 88–98.
W. Swartout, R. Balzer: On the inevitable intertwining of specification and implementation. Comm. ACM 25, 438–440 (1982).
R. Balzer, T. E. Cheatham, C. Green: Software technology in the 1990's: using a new paradigm. Computer 16, 11, 39–45 (Nov. 1983).
R. T. Yeh: Notes on concurrent engineering. IEEE Trans. Knowledge and Data Eng. 4, 407–414 (1992).
P. Dewan, J. Riedl: Toward computer-supported concurrent software engineering. Computer 26, 1, 17–27 (Jan. 1993).
R. Kerr: A materialistic view of the software “engineering” analogy. ACM SIGPLAN Notices 22, 3, 123–125 (Mar. 1987).
A. T. Berztiss: Engineering principles and software engineering. Proc. SEI Conference 1992 on Software Engineering Education (Springer-Verlag LNCS 640), 437–451.
B. W. Boehm: Software Engineering Economics. Englewood Cliffs, NJ: Prentice-Hall 1981.
C. A. R. Hoare: An overview of some formal methods for program design. Computer 20, 9, 85–91 (Sept. 1987).
A. Hall: Seven myths of formal methods. IEEE Software 7, 5, 11–19 (Sept. 1990).
J. F. Rockart: Critical success factors. Harvard Business Review 57, 2, 81–91 (March–April 1979).
B. M. E. De Waal, G. H. van der Heiden: The evaluation of user-friendliness in the design process of user interfaces. In Human Factors in Information Systems Analysis and Design, A. Finkelstein, M. J. Tauber, R. Traunmueller, Eds., 93–103. Amsterdam: North-Holland 1990.
D. L. Parnas: On the criteria to be used in decomposing systems into modules. Comm. ACM 15, 1053–1058 (1972).
C. U. Smith: Performance Engineering of Software Systems. Reading, MA: Addison-Wesley 1990.
R. G. G. Cattell, J. Skeen: Object operations benchmark. ACM Trans. Database Systems 17, 1–31 (1992).
A. O. Allen: Probability, Statistics, and Queueing Theory with Computer Science Applications. New York: Academic Press 1978.
J. C. Knight, N. G. Leveson: An experimental evaluation of the assumption of independence in multiversion programming. IEEE Trans. Software Eng. SE-12, 96–109 (1986).
R. K. Scott, J. W. Gault, D. F. McAllister: Fault-tolerant software reliability modeling. IEEE Trans. Software Eng. SE-13, 582–592 (1987).
J. D. Musa, A. Iannino, K. Okumoto: Software Reliability — Measurement, Prediction, Application. New York: McGraw-Hill 1987.
S. Brocklehurst, B. Littlewood: New ways to get accurate reliability measures. IEEE Software 9, 4, 34–42 (July 1992).
R. W. Butler, G. B. Finelli: The infeasibility of experimental quantification of life-critical software reliability. Proc. ACM SIGSOFT '91 Conf. Software for Critical Systems (Software Engineering Notes 16, 5 (Dec. 1991)), 66–76. [Reprinted: IEEE Trans. Software Eng. 19, 3–12 (1993).]
S. V. Hoover, R. F. Perry: Simulation, a Problem-Solving Approach. Reading, MA: Addison-Wesley 1989.
R. Jain: The Art of Computer Systems Performance Analysis. New York: Wiley 1991.
K. Kant: Introduction to Computer System Performance Evaluation. New York: McGraw-Hill 1992.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1993 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Berztiss, A.T. (1993). Non-functional requirements in the design of software. In: Díaz-Herrera, J.L. (eds) Software Engineering Education. CSEE 1994. Lecture Notes in Computer Science, vol 750. Springer, Berlin, Heidelberg. https://doi.org/10.1007/BFb0017628
Download citation
DOI: https://doi.org/10.1007/BFb0017628
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-57461-3
Online ISBN: 978-3-540-48191-1
eBook Packages: Springer Book Archive