Teaching formal extensions of informal-based object-oriented analysis methodologies

  • Thomas C. Hartrum
  • Paul D. Bailor
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 750)


Teaching formal methods of software specification is often difficult. This is in part due to the lack of well defined methodologies for applying formal methods to large software system specifications. We have integrated formal specification with a more informal object-oriented modeling methodology. This allows the students to follow an established modeling approach and still generate formal specifications. We find that the students learn the formalism much easier with this approach than with our prior technique of teaching formal methods as a separate block of instruction. However, the lack of good computer-aided tools for some formal specification languages can prevent the students from directly seeing all of the benefits of using formalism. This paper describes our use of Z schemas to add formalism to the object-oriented modeling methodology of Rumbaugh, [RBP+91], describes the introductory software engineering course in which it is taught, and discusses our experience.


Formal Method Learn Objective Functional Model Static Schema Fuel Tank 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. [Boo91]
    Grady Booch. Object Oriented Design with Applications. Benjamin/Cummings Publishing Company Inc., Redwood City, CA, 1991.Google Scholar
  2. [CY91]
    Peter Coad and Edward Yourdan. Object-Oriented Analysis, 2nd Ed. Yourdan Press, Englewood Cliffs, NJ, 1991.Google Scholar
  3. [Dav90]
    Alan M. Davis. Software Requirements, Analysis and Specification. Prentice-Hall, Inc., Englewood Cliffs, New Jersey, 1990.Google Scholar
  4. [Gar92]
    David Garlan. Formal Methods for Software Engineers: Tradeoffs in Curriculum Design. In Proceedings of the Sixth SEI Conference on Software Engineering Education, pages 131–140, San Diego, CA, Oct 1992.Google Scholar
  5. [Hay87]
    Ian Hayes. Specification Case Studies. Prentice Hall International (UK) Ltd, Hertfordshire, 1987.Google Scholar
  6. [Inc88]
    D. C. Ince. An Introduction to Discrete Mathematics and Formal System Specification. Oxford University Press, New York, 1988.Google Scholar
  7. [KS86]
    Henry F. Korth and Abraham Silberschatz. Database System Concepts. McGraw-Hill, New York, 1986.Google Scholar
  8. [LM91]
    Michael R. Lowry and Robert D. McCartney. Automating Software Design. MIT and AAAI Press, Menlo Park, California, 1991.Google Scholar
  9. [PST91]
    Ben Potter, Jane Sinclair, and David Till. An Introduction to Formal Specification and Z. Prentice Hall, New York, 1991.Google Scholar
  10. [RBP+91]
    James Rumbaugh, M. Blaha, W. Premerlani, F. Eddy, and W. Lorensen. Object-Oriented Modeling and Design. Prentice-Hall, Inc., Englewood Cliffs, New Jersey, 1991.Google Scholar
  11. [RS90]
    Inc. Reasoning Systems. Refine User's Guide. 3260 Hillview Avenue, Palo Alto, CA 94304, 1990.Google Scholar
  12. [Sle92]
    Carol Sledge, editor. Proceedings of the Sixth Software Engineering Education Conference. Springer-Verlag, New York, New York, 1992.Google Scholar
  13. [SM88]
    Sally Shlaer and Stephen J. Mellor. Object-Oriented Systems Analysis. Yourdan Press, Englewood Cliffs, NJ, 1988.Google Scholar
  14. [Spi89]
    J. M. Spivey. The Z Notation, A Reference Manual. Prentice Hall International (UK) Ltd, Hertfordshire, 1989.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1993

Authors and Affiliations

  • Thomas C. Hartrum
    • 1
  • Paul D. Bailor
    • 1
  1. 1.Department of Electrical and Computer Engineering Air Force Institute of TechnologyWright-Patterson Air Force Base

Personalised recommendations