Skip to main content

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

  • Chapter
Dependable and Historic Computing

Part of the book series: Lecture Notes in Computer Science ((LNTCS,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.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. http://www.adobe.com/products/acrobat.html

  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)

    Article  Google Scholar 

  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. Brooks Jr., F.P.: The Mythical Man-Month: Essays on Software Engineering, 2nd edn. Addison Wesley, Reading (1995)

    Google Scholar 

  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. 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. 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 8

    Article  Google Scholar 

  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-6

    Google Scholar 

  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-2

    Google Scholar 

  10. Mills, H.D.: The New Math of Computer Programming. Comm. ACM 18(1), 43–48 (1975)

    Article  MathSciNet  MATH  Google Scholar 

  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. 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. 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. 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-4

    Google Scholar 

  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. 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-4

    Google Scholar 

  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]

    Article  MATH  Google Scholar 

  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. 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. 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. 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. 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]

    Chapter  Google Scholar 

  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. Parnas, D.L., Madey, J., Iglewski, M.: Precise Documentation of Well-Structured Programs. IEEE Transactions on Software Engineering 20(12), 948–976 (1994)

    Article  Google Scholar 

  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. 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. 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-7

    Google Scholar 

  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. 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. 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 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2011 Springer-Verlag Berlin Heidelberg

About this chapter

Cite this chapter

Parnas, D.L. (2011). Software Engineering: Multi-person Development of Multi-version Programs. In: Jones, C.B., Lloyd, J.L. (eds) Dependable and Historic Computing. Lecture Notes in Computer Science, vol 6875. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-24541-1_31

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-24541-1_31

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-24540-4

  • Online ISBN: 978-3-642-24541-1

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics