Advertisement

Software Engineering: Multi-person Development of Multi-version Programs

  • David Lorge Parnas
Part of the Lecture Notes in Computer Science book series (LNCS, volume 6875)

Abstract

A brief description of the early days of “Software Engineering” precedes a discussion of the various meanings that have been proposed for that term. The differences between Software Engineering and Programming are described by discussing the tasks beyond programming that are expected to be performed by Software Engineers. Legislators and Educators are challenged to take steps to make Software Development a profession by establishing entrance standards for professionals and quality standards for products.

Keywords

Software Development Software Engineering Professional Education 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
  2. 2.
    Ågerfalk, P.J., Fitzgerald, B.: Special Issue: Flexible and Distributed Software Processes: Old Petunias in New Bowls? Comm. ACM 49(10), 26–34 (2006)CrossRefGoogle Scholar
  3. 3.
    Britton, K.H., Parker, R.A., Parnas, D.L.: A Procedure for Designing Abstract Interfaces for Device Interface Modules. In: Proceedings of the 5th International Conference on Software Engineering, pp. 195–204 (March 1981); reprinted as Chapter 15 in [8] Google Scholar
  4. 4.
    Brooks Jr., F.P.: The Mythical Man-Month: Essays on Software Engineering, 2nd edn. Addison Wesley, Reading (1995)Google Scholar
  5. 5.
    Buxton, J.N., Randell, B. (eds.): Software Engineering Techniques: Report on a Conference sponsored by the NATO Science Committee, Rome, Italy, October 27-31, 1969, Brussels, Scientific Affairs Division, NATO, p. 164 (April 1970) Google Scholar
  6. 6.
    Gruhn, V., Schäfer, C.: Systemic Approaches for Software Engineering. In: Fujita, H. (ed.) Frontiers in Artificial Intelligence and Applications. New Trends in Software Methodologies, Tools and Techniques, vol. 217, pp. 85–95. IOS Press, B. V., Amsterdam (2010) ISBN 978-1-60750-629-4-85 (print)Google Scholar
  7. 7.
    Heninger, K.L.: Specifying Software Requirements for Complex Systems: New Techniques and their Application. IEEE Transactions Software Engineering SE-6, 2–13 (1980); reprinted as chapter 6 in 8CrossRefGoogle Scholar
  8. 8.
    Hoffman, D.M., Weiss, D.M. (eds.): Software Fundamentals: Collected Papers by David L. Parnas, 664 pgs. Addison-Wesley, Reading (2001) ISBN 0-201-70369-6Google Scholar
  9. 9.
    Liu, Z.Y., Parnas, D.L., Trancón y Widemann, B.: Documenting and Verifying Systems Assembled from Components. Front. Comput. Sci. China 4(2), 151–161 (2010) ISSN1673-7350 (Print) 1673-7466 (Online), doi:10.1007/s11704-010- 0026-2Google Scholar
  10. 10.
    Mills, H.D.: The New Math of Computer Programming. Comm. ACM 18(1), 43–48 (1975)MathSciNetCrossRefzbMATHGoogle Scholar
  11. 11.
    Naur, P., Randell, B. (eds.): Software Engineering: Report on a Conference sponsored by the NATO Science Committee, Garmisch, Germany, October 7-11, 1968, Brussels, Scientific Affairs Division, NATO, p. 231 (January 1969) Google Scholar
  12. 12.
    Parnas, D.L.: Information Distributions Aspects of Design Methodology. In: Proceedings of IFIP Congress 1971, Booklet TA-3, pp. 26–30 (1971) Google Scholar
  13. 13.
    Parnas, D.L.: A Technique for Software Module Specification with Examples. Communications of the ACM 15(5), 330-336 (1972); republished in Yourdon, E.N. (ed.): Writings of the Revolution, pp. 5–18. Yourdon Press, New York (1982); also in Gehani, N., McGettrick, A.D. (eds.): Software Specification Techniques, pp. 75–88. AT&T Bell Telephone Laboratories, Addison Welsey (1985) (QA 76.7 S6437) Google Scholar
  14. 14.
    Parnas, D.L.: On the Criteria to be Used in Decomposing Systems into Modules. Comm. ACM 15(12), 1053–1058 (1972); republished in Yourdon, E.N. (ed.): Classics in Software Engineering, pp. 141–150. Yourdon Press (1979); republished in Laplante, P. (ed.): Great Papers in Computer Science, pp. 433–441. West Publishing Co, Minneapolis/St. Paul (1996), reprinted as chapter 7 in 8, reprinted in Broy, M., Denert, E. (eds.): Software Pioneers: Contributions to Software Engineering, pp. 481–498. Springer, Heidelberg (2002) ISBN 3-540-43081-4Google Scholar
  15. 15.
    Parnas, D.L.: Some Conclusions from an Experiment in Software Engineering Techniques. In: Proceedings of the 1972 FJCC, vol. 41, part I, pp. 325–330 (1972)Google Scholar
  16. 16.
    Parnas, D.L.: On a ’Buzzword’: Hierarchical Structure. In: IFIP Congress 1974, pp. 336–339. North Holland Publishing Company, Amsterdam (1974); reprinted as chapter 8 in [8], reprinted in Broy, M., Denert, E. (eds.) Software Pioneers: Contributions to Software Engineering, pp. 501–513. Springer, Heidelberg (2002) ISBN 3-540-43081-4Google Scholar
  17. 17.
    Parnas, D.L.: On the Design and Development of Program Families. IEEE Transactions on Software Engineering SE-2(1), 1–9 (1976); reprinted as chapter 10 in [8]CrossRefzbMATHGoogle Scholar
  18. 18.
    Parnas, D.L.: Designing Software for Ease of Extension and Contraction. IEEE Transactions on Software Engineering, 128–138 (1979); also in Proceedings of the Third International Conference on Software Engineering, pp. 264–277 (May 1978); reprinted as chapter 14 in [8]Google Scholar
  19. 19.
    Parnas, D.L., Clements, P.C., Weiss, D.M.: The Modular Structure of Complex Systems. IEEE Transactions on Software Engineering SE-11(3), 259–266 (1985); also published in Proceedings of 7th International Conference on Software Engineering, pp. 408–417 (March 1984); reprinted in IEEE Tutorial: Object-Oriented Computing, vol. 2, Implementations edited by Peterson, G.E., pp. 162–169. IEEE Computer Society Press, Los Alamitos (1987), reprinted as chapter 16 in [8]Google Scholar
  20. 20.
    Parnas, D.L., Wadge, W.: Less Restrictive Constructs For Structured Programs, Technical Report No. 86-186, Queen’s, Kingston, Ontario, 16 pgs (September 1986); reprinted as chapter 2 in [8] Google Scholar
  21. 21.
    Parnas, D.L., Asmis, G.J.K., Madey, J.: Assessment of Safety-Critical Software in Nuclear Power Plants. Nuclear Safety 32(2), 189–198 (1991)Google Scholar
  22. 22.
    Parnas, D.L.: Software Aging. In: Proceedings of the 16th International Conference on Software Engineering (ICSE), Sorento Italy, pp. 279–287. IEEE Press, Los Alamitos (1994); reprinted as chapter 29 in [8]CrossRefGoogle Scholar
  23. 23.
    Parnas, D.L.: Inspection of Safety Critical Software using Function Tables. In: Proceedings of IFIP World Congress 1994, vol. III, pp. 270–277 (August 1994); reprinted as chapter 19 in [8]Google Scholar
  24. 24.
    Parnas, D.L., Madey, J., Iglewski, M.: Precise Documentation of Well-Structured Programs. IEEE Transactions on Software Engineering 20(12), 948–976 (1994)CrossRefGoogle Scholar
  25. 25.
    Parnas, D.L.: Software Engineering Programmes are not Computer Science Programmes. Annals of Software Engineering 6, 19–37 (1998); reprinted (by request) in IEEE Software, 19–30 (November/December 1999)Google Scholar
  26. 26.
    Parnas, D.L.: Structured programming: A minor part of software engineering. Madey, J., Fiadeiro, J.L., Tarlecki, A. (guest eds.) Information Processing Letters 88(1-2), 53–58 (2003)Google Scholar
  27. 27.
    Parnas, D.L.: Component Interface Documentation - What do we Need and Why do we Need it. In: Fujita, H., Mejri, M. (eds.) New Trends In Software Methodologies, Tools And Techniques, pp. 3–21. ISO Press (2006) ISBN 978-1-58603-673-7Google Scholar
  28. 28.
    Parnas, D.L.: From Requirements to Architecture. In: Fujita, H. (ed.) Frontiers in Artificial Intelligence and Applications. New Trends in Software Methodologies, Tools and Techniques, vol. 217, pp. 3–36. IOS Press, B.V., Amsterdam (2010) ISBN 978-1-60750-628-7 (print), ISBN 978-1-60750-629-4 (online) Google Scholar
  29. 29.
    Parnas, D.L.: Precise Documentation: The Key to Better Software. In: Nanz, S. (ed.): The Future of Software Engineering, pp. 125–148. Springer, Heidelberg, doi:10.1007/978-3-642-15187-3_8, ISBN 978-3-642-15186-6 (Print) 978-3-642-15187-3 (Online) Google Scholar
  30. 30.
    Quinn, C., Vilkomir, S.A., Parnas, D.L., Kostic, S.: Specification of Software Component Requirements Using the Trace Function Method. In: Proceeding of the International Conference on Software Engineering Advances (ICSEA 2006), Tahiti, French Polynesia (October 29-November 1, 2006)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2011

Authors and Affiliations

  • David Lorge Parnas
    • 1
  1. 1.Middle Road SoftwareOttawaCanada

Personalised recommendations