Postmodern Software Design with NYAM: Not Yet Another Method

  • Roel Wieringa
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 1526)


This paper presents a conceptual toolbox for software specification and design that contains techniques from structured and object-oriented specification and design methods. The toolbox is called TRADE (Toolkit for Requirements and Design Engineering). The TRADE tools are used in teaching informatics students structured and object-oriented specification and design techniques, but the toolkit may be of use to practicing software engineers as well. The conceptual framework of TRADE distinguishes external system interactions from internal components. External interactions in turns are divided into external functions, behavior and communication. The paper shows that structured and OO analysis offer a small number of specification techniques for these aspects, most of which can be combined in a coherent software design specification. It is also shown that the essential difference between structured and object-oriented software design approaches lies in the separation of data storage, data processing and control in data flow diagrams, versus the encapsulation of these into objects by OO analysis. Functional and subject-domain-oriented decomposition, on the other hand, are shown to be compatible with both approaches.


Class Diagram Sequence Diagram Subject Domain Functional Decomposition External Entity 
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.
    Alabiso, B.: Transformation of data flow analysis models to object oriented design. In: Meyrowitz, N. (ed.) Object-Oriented Programming Systems, Languages and Applications, Conference Proceedings. SIGPLAN Notices, vol. 23, pp. 335–353. ACM Press, New York (1988)CrossRefGoogle Scholar
  2. 2.
    Awad, M., Kuusela, J., Ziegler, J.: Object-Oriented Technology for Real-Time Systems: A Practical Approach Using OMT and Fusion. Prentice-Hall, Englewood Cliffs (1996)Google Scholar
  3. 3.
    Bailin, S.C.: An object-oriented requirements specification method. Communications of the ACM 32, 608–623 (1989)CrossRefGoogle Scholar
  4. 4.
    von der Beeck, M.: A comparison of Statecharts variants. In: Langmaack, H., de Roever, W.P., Vytopil, J. (eds.) FTRTFT 1994 and ProCoS 1994. LNCS, vol. 863, pp. 128–148. Springer, Heidelberg (1994)Google Scholar
  5. 5.
    Belina, F., Hogrefe, D., Sarma, A.: SDL with Applications from protocol Specification. Prentice-Hall, Englewood Cliffs (1991)Google Scholar
  6. 6.
    Booch, G.: Object-Oriented Design with Applications, 2nd edn. Ben-jamin/Cummings (1994)Google Scholar
  7. 7.
    Bræsk, R., Haugen, Ø.: Engineering Real-Time Systems. Prentice-Hall, Englewood Cliffs (1993)Google Scholar
  8. 8.
    Coleman, D.: Fusion with use cases: Extending Fusion for requirements modeling (1996), Available through URL:
  9. 9.
    Coleman, D., Arnold, P., Bodoff, S., Dollin, C., Gilchrist, H., Hayes, F., Jere-maes, P.: Object-Oriented Development: The FUSION Method. Prentice-Hall, Englewood Cliffs (1994)Google Scholar
  10. 10.
    Cook, S., Daniels, J.: Designing Object Systems: Object-Oriented Modeling with Syntropy. Prentice-Hall, Englewood Cliffs (1994)Google Scholar
  11. 11.
    Davis, A.M.: Software Requirements: Objects, Functions, States. Prentice-Hall, Englewood Cliffs (1993)Google Scholar
  12. 12.
    Defense Systems Management College. Systems engineering management guide. Technical report, Technical Management Department (January 1990)Google Scholar
  13. 13.
    Dehne, F., Wieringa, R.J.: Toolkit for Conceptual Modeling (TCM): User’s Guide. Technical Report IR-401, Faculty of Mathematics and Computer Science, Vrije Universiteit, De Boelelaan 1081a, 1081 HV Amsterdam (1996),
  14. 14.
    DeMarco, T.: Structured Analysis and System Specification. Yourdon Press/Prentice-Hall (1978)Google Scholar
  15. 15.
    Eckert, G.: Improving the analysis stage of the Fusion method, pp. 276–313 (1996)Google Scholar
  16. 16.
    France, R.B.: Semantically extended data flow diagrams: a formal specification tool. IEEE Transactions on Software Engineering 18(4), 329–346 (1992)CrossRefGoogle Scholar
  17. 17.
    Hall, A.D.: A Methodology for Systems Engineering. Van Nostrand, New York (1962)Google Scholar
  18. 18.
    Hall, A.D.: Three-dimensional morphology of systems engineering. IEEE Transactions on System Science and Cybernetics SSC-5(2), 156–160 (1969)CrossRefGoogle Scholar
  19. 19.
    Harel, D.: Statecharts: a visual formalism for complex systems. Science ofComputer Programming 8, 231–274 (1987); Preliminary version appeared as Technical Report CS 84-05, The Weizmann Institute of Science, Rehovot, Israel (February 1984)Google Scholar
  20. 20.
    Harel, D., Gery, E.: Executable object modeling with statecharts. In: Proceedings of the 18th International Conference on Software Engineering, pp. 246–257. IEEE Press, Los Alamitos (1996)CrossRefGoogle Scholar
  21. 21.
    Harel, D., Gery, E.: Executable object modeling with statecharts. Computer 30(7), 31–42 (1997)CrossRefGoogle Scholar
  22. 22.
    Harel, D., Lachover, H., Naamad, A., Pnueli, A., Politi, M., Sherman, R., Shtull-Trauring, A., Trakhtenbrot, M.: STATEMATE: a working environment for the development of complex reactive systems. IEEE Transactions on Software Engineering 16, 403–414 (1990)CrossRefGoogle Scholar
  23. 23.
    Harel, D., Naamad, A.: The STATEMATE semantics of statecharts. ACM Transactions on Software Engineering and Methodology 5(4), 293–333 (1996)Google Scholar
  24. 24.
    Harel, D., Pnueli, A.: On the development of reactive systems. In: Apt, K. (ed.) Logics and Models of Concurrent Systems. NATO ASI Series, pp. 477–498. Springer, Heidelberg (1985)Google Scholar
  25. 25.
    Harel, D., Pnueli, A., Schmidt, J.P., Sherman, R.: On the formal semantics of statecharts. In: Proceedings, Symposium on Logic in Computer Science, June 22-25, pp. 54–64. Computer Science Press, Rockville (1987)Google Scholar
  26. 26.
    Hopcroft, J.E., Ullman, J.D.: Introduction to Automata Theory, Languages and Computation. Addison-Wesley, Reading (1979)zbMATHGoogle Scholar
  27. 27.
    i-Logix. The Languages of STATEMATE. Technical report, i-Logix Inc., 22 Third Avenue, Burlington, Mass. 01803, U.S.A.(January 1991); To be published as Harel, D., Politi, M.: Modeling Reactive Systems with Statecharts: The STATEMATE ApproachGoogle Scholar
  28. 28.
    ITU. Criteria for the Use and Applicability of Formal Description Techniques: Message Sequence Charts (MSC). International Telecommunication Union, 1994 Z.120 (March 1993). Google Scholar
  29. 29.
    Jackson, M.: System Development. Prentice-Hall, Englewood Cliffs (1983)zbMATHGoogle Scholar
  30. 30.
    Jackson, M.: Software Requirements and Specifications: A lexicon of practice, principles and prejudices. Addison-Wesley, Reading (1995)Google Scholar
  31. 31.
    Jacobson, I., Christerson, M., Johnsson, P., Övergaard, G.: Object-Oriented Software Engineering: A Use Case Driven Approach. Prentice-Hall, Englewood Cliffs (1992)Google Scholar
  32. 32.
    Jalote, P.: Functional refinement and nested objects for object-oriented design. IEEE Transactions on Software Engineering 15(3), 264–270 (1989)CrossRefGoogle Scholar
  33. 33.
    Lakatos, I.: Proofs and Refutations. In: Worall, J., Zahar, E. (eds.) Proofs and Refutations. Cambridge University Press, Cambridge (1976)Google Scholar
  34. 34.
    Martin, J.: Information Engineering, Book I: Introduction. Prentice-Hall, Englewood Cliffs (1989)Google Scholar
  35. 35.
    Martin, J.: Information Engineering, Book II: Planning and analysis. Prentice-Hall, Englewood Cliffs (1989)Google Scholar
  36. 36.
    Martin, J., Odell, J.: Object-Oriented Methods: A Foundation. Prentice-Hall, Englewood Cliffs (1995)Google Scholar
  37. 37.
    McMenamin, S.M., Palmer, J.F.: Essential Systems Analysis. Yourdon Press/Prentice Hall (1984)Google Scholar
  38. 38.
    Milner, R.: A Calculus of Communication Systems. LNCS, vol. 92. Springer, Heidelberg (1980)Google Scholar
  39. 39.
    Møller-Pedersen, B., Belsnes, D., Dahle, H.P.: Rationale and tutorial on OSDL: an object-oriented extension of SDL. Computer Networks and ISDN Systems 13, 97–117 (1987)CrossRefGoogle Scholar
  40. 40.
    Objectory AB. Objectory: Requirements Analysis, Version 3.6 (1995)Google Scholar
  41. 41.
    Parnas, D.L., Clements, P.C.: A rational design process: How and why to fake it. IEEE Transactions on Software Engineering, SE 12, 251–257 (1986)Google Scholar
  42. 42.
    Polman, M., van Steen, M., de Bruin, A.: Formalizing a design technique for distributed systems. In: Proceedings Second International Workshop on Software Engineering for Parallel and Distributed Systems, Boston, May 1997, pp. 150–159 (1997)Google Scholar
  43. 43.
    Polman, M., van Steen, M., de Bruin, A.: A structured design technique for distributed programs. In: Proceedings 22nd International Computer Software and Applications Conference (CompSac), Vienna (August 1998)Google Scholar
  44. 44.
    Rational. Unified Modeling Language: Notation Guide, Version l.l.Rational Software Corporation, 2800 San Tomas Expressway, Santa Clara, CA 95051-0951 (September 1, 1997), http://www.rational.eom/uml/1.1/
  45. 45.
    Rational. Unified Modeling Language: Semantics, Version 1.1. Rational Software Corporation (September 1, 1997), http://www.rational.eom/uml/L1/
  46. 46.
    Roozenburg, N.F.M., Eekels, J.: Product design: Fundamentals and Methods. Wiley, Chichester (1995)Google Scholar
  47. 47.
    Rumbaugh, J., Blaha, M., Premerlani, W., Eddy, F., Lorensen, W.: Object-oriented modeling and design. Prentice-Hall, Englewood Cliffs (1991)Google Scholar
  48. 48.
    Seidewitz, E., Stark, M.: Toward a general object-oriented software development methodology. ADA Letters 7(4), 54–67 (1987)CrossRefGoogle Scholar
  49. 49.
    Shlaer, S., Mellor, S.J.: Object Lifecycles: Modeling the World in States. Prentice-Hall, Englewood Cliffs (1992)Google Scholar
  50. 50.
    Swartout, W., Balzer, R.: On the inevitable intertwining of specification and implementation. Communications of the ACM 25, 438–440 (1982)CrossRefGoogle Scholar
  51. 51.
    van Vlijmen, B., Wieringa, R.J.: Using the Tools in TRADE, I: A Decision Support System for Traffic Light maintenance. Technical Report IR-435, Faculty of Mathematics and Computer Science, Vrije Universiteit (November 1997),
  52. 52.
    Ward, P.T., Mellor, S.J.: Structured Development for Real-Time Systems. Prentice-Hall/Yourdon Press (1985) Three volumesGoogle Scholar
  53. 53.
    Ward, P.T.: How to integrate object orientation with structured analysis and design. Computer, 74–82 (March 1989)Google Scholar
  54. 54.
    Wieringa, R.J.: A formalization of objects using equational dynamic logic. In: Delobel, C., Kifer, M., Masunaga, Y. (eds.) DOOD 1991. LNCS, vol. 566, pp. 431–452. Springer, Heidelberg (1991)Google Scholar
  55. 55.
    Wieringa, R.J.: LCM 3.0: Specification of a control system using dynamic logic and process algebra. In: Lewerentz, C., Lindner, T. (eds.) Formal Development of Reactive Systems. LNCS, vol. 891, pp. 333–355. Springer, Heidelberg (1995), Google Scholar
  56. 56.
    Wieringa, R.J.: Combining static and dynamic modeling methods: a comparison of four methods. The Computer Journal 38(1), 17–30 (1995), MathSciNetGoogle Scholar
  57. 57.
    Wieringa, R.J.: Requirements Engineering: Frameworks for Understanding. Wiley, Chichester (1996),
  58. 58.
    Wieringa, R.J.: A survey of structured and object-oriented software specification methods and techniques. Technical report, Faculty of Mathematics and Computer Science, Vrije Universiteit, De Boelelaan 1081a, 1081 HV Amsterdam (1997), To be published, ACM Computing SurveysGoogle Scholar
  59. 59.
    Wieringa, R.J.: Using the tools in TRADE, II: Specification and design of a meeting scheduler system. Technical Report IR-436, Faculty of Mathematics and Computer Science, Vrije Universiteit (November 1997),
  60. 60.
    Wieringa, R.J., Broersen, J.: A minimal transition system semantics for lightweight class- and behavior diagrams. In: Workshop on Precise Semantics for Software Modeling techniques (1998) (To be published)Google Scholar
  61. 61.
    Wieringa, R.J., Dubois, E.: Integrating semi-formal and formal software specification techniques. Information Systems 23(3/4) (1998)Google Scholar
  62. 62.
    Wieringa, R.J., Dubois, E., Huyts, S.: Integrating semi-formal and formal requirements. In: Olivé, A., Pastor, J.A. (eds.) CAiSE 1997. LNCS, vol. 1250, pp. 19–32. Springer, Heidelberg (1997),
  63. 63.
    Wieringa, R.J., de Jonge, W., Spruit, P.A.: Using dynamic classes and role classes to model object migration. Theory and Practice ofObject Systems 1(1), 61–83 (1995), Google Scholar
  64. 64.
    Wieringa, R.J., Meyer, J.-J.C.: Actors, actions, and initiative in normative system specification. Annals of Mathematics and Artificial Intelligence 7, 289–346 (1993),
  65. 65.
    Wirfs-Brock, R., Wilkerson, B., Wiener, L.: Designing Object-Oriented Software. Prentice-Hall, Englewood Cliffs (1990)Google Scholar
  66. 66.
    Yourdon, E.: Modern Structured Analysis. Prentice-Hall, Englewood Cliffs (1989)Google Scholar
  67. 67.
    Yourdon Inc: YourdonTM Systems Method: Model-Driven Systems Development. Prentice-Hall, Englewood Cliffs (1993)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1998

Authors and Affiliations

  • Roel Wieringa
    • 1
  1. 1.Department of Computer ScienceUniversity of TwenteThe Netherlands

Personalised recommendations