© D.S. Krayukhin, A.A. Shalyto, A.A. Zarubin
Saint-Petersburg State University of Information Technologies, Mechanics and Optics
Project documentation (in Russian)
In spite of wide spread of application design methodologies there are few finished documented developed and implemented projects in the literature. This work has its aim to demonstrate the process of creating of software product from the very beginning to the very end paying attention to its designing.
The task was taken from the chapter eight of G. Booch's book. It's name is weather-monitoring system. The analysis of Booch's work brought us to the conclusion that he didn't want to implement that project. Else he may have got rid of the superficiality and contradictions that are presented in his work. In the given work there was passed a "thorny path" of designing and implementing that was sketched by G. Booch.
This work belongs to the group of projects that improves the classical examples. All of them are published on this website. And among them are the improvements of B. Straustrup's calculator and D. Knuth's elevator.
In this work there are used two technologies. These are object-oriented analysis by G. Booch and finite state method by A.A. Shalyto used to substitute state chart by the transition graph. The second one helped to get rid of G. Booch's "nested state" and use "nested automaton" instead. The project is implemented in C++.
The problem put by was solved and the project was implemented. Also it was clearly proved that the process of application designing is not a pack of abstract drawings that drop hints about future system organisation. It is a laborious process of thinking and thorough analysis of components' interaction and system's work on the whole! The important role in the successful designing was played by the SWITCH-technology that was used for exact system behaviour description. Also there was proved the priceless use of object-oriented analysis in system decomposition. The conglomeration of the said methods was achieved with the help of substitution of G. Booch's state charts by transition graphs of the corresponding automata.