A Pedagogical View on Software Modeling and Graph-Structured Diagrams

  • Tetsuo Tamai
Part of the Lecture Notes in Computer Science book series (LNCS, volume 4309)


Software modeling plays an important role in software engineering education. There are a variety of modeling techniques; some are intuitive and quite accessible to novices, while some are highly sophisticated and attract theory oriented students and researchers. Thus, educators have freedom in selecting appropriate models in accordance with the level and the disposition of students.

In this chapter, we show that teaching multiple software modeling techniques from a unified viewpoint is a good way of obtaining balance between the scientific aspect and the practical aspect of software engineering education. At the same time, it is pedagogical to let students notice the difference between different models. Some models, particularly when illustrated as diagrams, look quite similar but such similarity is often misleading. It is emphasized in this chapter that explicitly teaching differences between models is also very important.


Software Engineering Software Modeling Class Diagram Sequence Diagram Activity Diagram 
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. 1.
    Aoyama, M., Miyamoto, K., Murakami, N., Nagano, H., Oki, Y.: Design specification in japan: Tree-structured charts. IEEE Software 6(2), 31–37 (1983)CrossRefGoogle Scholar
  2. 2.
    Futamura, Y., Kawai, T., Horikoshi, H., Tsutsumi, M.: Development of computer programs by problem analysis diagram(pad). In: Proceedings of the 5th International Conference on Software engineering, pp. 325–332 (1981)Google Scholar
  3. 3.
    Griswold, W.G.: Teaching software engineering in a compiler project course. Journal on Educational Resources in Computing (JERIC) 2(4) (December 2002)Google Scholar
  4. 4.
    Harel, D.: Statecharts: A visual formalism for complex systems. Science of Computer Programming 8, 231–274 (1987)zbMATHCrossRefMathSciNetGoogle Scholar
  5. 5.
    Harel, D., Politi, M.: Modeling Reactive Systems with Statecharts. McGraw-Hill, New York (1998)Google Scholar
  6. 6.
    Hayes, J.H.: Energizing software engineering education through real-world projects as experimental studies. In: CSEE&T, February 2002, pp. 192–206 (2002)Google Scholar
  7. 7.
    Hecht, M.S.: Flow Analysis of Computer Programs. Elsevier, North Holland (1977)zbMATHGoogle Scholar
  8. 8.
    Jackson, M.: Software Requirements & Specifications: a lexicon of practice, principles and prejudice. Addison-Wesley, Reading (1995)Google Scholar
  9. 9.
    Magee, J., Kramer, J.: Concurrency – State Models & Java Programs. John Wiley & Sons, Chichester (1999)zbMATHGoogle Scholar
  10. 10.
    Nassi, I., Shneiderman, B.: Flowchart techniques for structured programming. ACM SIGPLAN Notices 8(8), 12–26 (1973)CrossRefGoogle Scholar
  11. 11.
    Tamai, T.: A class of fixed-point problems on graphs and iterative solution algorithms. In: Pnueli, A., Lin, H. (eds.) Logic and Software Engineering. World Scientific, Singapore (1996)Google Scholar
  12. 12.
    Tamai, T.: How modeling methods affect the process of architectural design decisions: A comparative study. In: Proc. 8th International Workshop on Software Specification and Design (IWSSD 1996), Paderborn, Germany, March 1996, pp. 125–134 (1996)Google Scholar
  13. 13.
    Tamai, T.: Foundations of Software Engineering, Iwanami Shoten, Tokyo, Japan (2004) (in Japanese)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2006

Authors and Affiliations

  • Tetsuo Tamai
    • 1
  1. 1.The University of TokyoTokyoJapan

Personalised recommendations