СИСТЕМАТИКА ШАБЛОНІВ У КОНТЕКСТІ ОБ’ЄКТНИХ ТЕХНОЛОГІЙ

Олександр Филимонович Баранюк

Анотація


Сучасні програмні системи відносяться до складних систем, одним із способів подолання складності є декомпозиція, причому переваги має об’єктна декомпозиція. Об’єктні технології залишаються складними не тільки при розробці реальних програмних систем, але й при вивченні їх студентами. На допомогу новачкам у програмуванні приходять шаблони, які акумулюють кращий досвід об’єктно-орієнтованої розробки програм. Оскільки кількість шаблонів обчислюється сотнями, а єдиної і повної класифікації шаблонів не існує, в роботі здійснена спроба систематизації шаблонів за фазами розробки програмних систем та рівнями абстракції. При вивченні курсу «Проектування програмних систем» пропонується націлювати студентів на використання представленої систематизації шаблонів з метою полегшення пошуку шаблонів, потрібних для реалізації навчальних завдань і проектів.

 

Contemporary industrial software systems belong to complex systems. The complexity of such systems exceeds the human intellectual capacity. Essential property of all large systems is that we can only master their complexity, but never eliminate it. Using patterns is an effective way to master complexity and transfer knowledge of professionals to novices, including students, because patterns capture chunks of professional knowledge. It’s important that software developers do not invent patterns; they discover and describe patterns from experience in developing real systems. There is large number of patterns in different categories but unique whole and simple classification of them was not yet proposed. Analysis patterns, architectural patterns, design patterns, programming patterns, organizational patterns, and process patterns are the most popular categories of patterns among developers. It is not so simple to find and select appropriate pattern for novices. One of potential attempts for patterns systematization was made in this paper. Our systematization is based on the key principle: patterns should be organized around phases of software development and levels of abstraction. Our research shows that some pattern categories are related to software development phases and another are related to different levels of system architecture. Some standalone pattern categories are phase-independent or multi-phased. We hope that proposed categories systematization will help students to find appropriate pattern quick and easy.


Повний текст:

PDF

Посилання


Гамма Э. Приемы объектно-ориентированного проектирования. Паттерны проектирования / Э. Гамма, Р. Хелм, Р. Джонсон, Дж. Влиссидес. – СПб. : Питер, 2001. – 366 с.

Ambler S. W. An Introduction to Process Patterns / Scott W. Ambler // Process Patterns: Building Large-Scale Systems Using Object Technology. – Cambridge : SIGS Books/Cambridge University Press, 1998. – 582 p.

Buschmann F. Pattern-Oriented Software Architecture - Volume 1: A System of Patterns // Frank Buschmann, Regine Meunier, Hans Rohnert, Peter Sommerlad, Michael Stal. – Chichester : John Wiley & Sons, 1996. – 476 p.

Caspersen, M. E. Novice's Process of Object-Oriented Programming / M. E. Caspersen, M.A. Kölling // Companion to the 21st ACM SIGPLAN Conference on Object-Oriented Programming Systems, Languages, and Applications (OOPSLA). – Portland : ACM, 22–26 October 2006. – pp. 892-900.

Coplien J. Organizational Patterns of Agile Software Development / James O. Coplien, Neil Harrison. – Pearson Prentice Hall, 2005. – 401 pp.

Devedzic V. Software Patterns / V. Devedzic // Chang, S.K. Handbook of Software Engineering and Knowledge Engineering. – Singapore : World Scientific Publishing Co., 2002. – pp. 645–671.

East, J.P. Pattern-based programming instruction / J.P. East, S. R. Thomas, E. Wallingford, W. Beck, J. Drake // Proceedings of the ASEE Annual Conference and Exposition. – Washington, 1996. – Режим доступу: http://www.cs.uni.edu/~wallingf/patterns/pa-pers/asee96.pdf

Eckstein J. Pedagogical patterns: capturing best practice in teaching object technology / J. Eckstein, M. L. Manns, M. Voelter // Software Focus. – John Wiley & Sons, Ltd., 2001. – pp. 9-12.

Fowler M. Analysis Patterns: Reusable Object Models / Martin Fowler. – Boston : AddisonWesley Professional, 1997. – 357 pp.

Muller O. (An almost) pedagogical pattern for pattern-based problem-solving instruction / O. Muller, B. Haberman, H. Averbuch // ACM SIGCSE Bulletin. – 2004. – Vol. 36. – No. 3. – pp. 102–106.

Riehle D. Understanding and Using Patterns in Software Development / D. Riehle, H. Züllighoven // Theory and Practice of Object Systems. – 1996. – Vol. 2. – pp.3–13.

Wallingford E. Toward a first course based on object-oriented patterns / E. Wallingford // Proceedings of the twenty-seventh SIGCSE technical symposium on Computer science education. – Philadelphia, 1996. – P. 27–31. – Режим доступу: http://jon.crazybaglok.com/strat/intro_with_ patterns.pdf


Посилання

  • Поки немає зовнішніх посилань.