А правильно ли учат?
UML постепенно становится стандартом разработки объектно-ориентированных систем. В Европе и Америке это происходит значительно быстрее и успешнее. У нас в России куда как медленнее. Почему так происходит? Не буду вдаваться в анализ возможных причин, возможно, это будет темой другого сообщения. Хотя на мой взгляд одной из возможных причин вполне может быть и тот факт, что просто студентов и участников тренингов банально учать неправильно!
За окном дождь, погода меняется. Жара сменяется умеренным теплом, даже прохладцей. Предверие отпуска. Почему бы не поискать рекомендуемую в вузах литературу для изучения UML? Ну, поискал и натолкнулся на такую страничку: Здесь можно скачать бесплатно электронные книги о унифицированном языке моделирования UML. Ну понятно список составил некий добрый самаритянин, возможно, державший и штудирующий данные книги. Заглянем внутрь. Я скачал первую: «Моделирование информационных систем с помощью UML» Червенчука. Во-первых, название такое многобещающее, все-таки я солидно уже преподаю пару предметов по основам построения информационных систем, и опыт коллег мне не безразличен.
Открываю:
Червенчук И.В. Информационные системы и процессы, моделирование и управление. Моделирование информационных систем с помощью UML: Учебное пособие. – Омск: Омский государственный институт сервиса, 2006. 48с.
Настораживает: 1/ размер пособия — 48 стр., 2/ вуз издательства: Омский государственный институт сервиса, 3/ первое предложение в названии: Информационные системы и процессы, моделирование и управление.
Читаем далее:
Учебное пособие предназначено для студентов специальности «Прикладная информатика (в сфере сервиса)» очной и заочной формы обучения. Содержит материал для самостоятельной проработки студентами лекций по курсу «Информационные системы и процессы, моделирование и управление», может использоваться при подготовке к экзаменам и выполнении курсовой работы.
Или более подробно:
В основу данного пособия положена значительная, при этом самая существенная, часть курса «Информационные системы и процессы. Моделирование и управление» читаемого автором студентам Омского государственного института сервиса, связанная с моделированием программных средств. Пособие содержит теоретические разделы (первый и второй разделы). Первый раздел (Обзор UML) содержит базовые понятия языка UML, основные структурные единицы и правила. Поясняется назначение основных диаграмм, рассматриваются выразительные средства UML. Материал иллюстрируется примерами.
Второй раздел (Классы) сдержит материал, необходимый при разработке модели системы с точки зрения проектирования. Основное внимание раздела сосредоточено на классах – базовых элементах объектно-ориентированного программирования, составляющих основу объектно-ориентированных систем. Рассматриваются особенности моделирования классов средствами UML, даются рекомендации по моделированию.
В третьем разделе учебного пособия приводится пример подробно разработанной модели справочно-информационной системы музыки на CD!!!. Иллюстрируются возможности применения различных диаграмм UML для моделирования различных аспектов информационно-справочной системы. Материал данного раздела может использоваться студентами при выполнении курсовой работы по курсу «Информационные системы и процессы. Моделирование и управление» и дипломного проекта.
Учебное пособие адресовано студентам специальности «Прикладная информатика (в сфере сервиса)» очной и заочной формы обучения, но может с успехом использоваться студентами родственных специальностей, связанных с разработкой программного обеспечения.
При этом количество страниц пособия 65 стр.!!! 🙂 Но не в этом дело. Реально книга посвящена UML и примерам его использования в разработке ПО. Довольно поверхностно, не всегда правильно акцентировано. О моделировании ИС говорится крайне мало, вернее ничего не говорится, поскольку у автора нет правильного понимания понятия «информационная система». В третьем разделе приведены диаграммы-примеры, которые должны послужить, как я понимаю, образцами правильного использования UML. Рассмотрим диаграмму вариантов использования для СИС музыки на CD.
Какие тут ошибки, вы можете спросить?
1. <<include>> предполагает обязательное включение в базовый прецедент включаемого. Означает ли это, что каждый раз когда Пользователь собирается делать Редактирование (вопрос еще а чего?), то ему бедному придется Создавать, Изменять и Удалять запись?
2. на диаграмме продемонстрирована типичная функциональная декомпозиция, хотя и понятая по своему
3. Пользователь — а какая в нем надобность именно как в Пользователе? Всякий кто использует систему ее Пользователь?
Далее идет очень интересная диаграмма классов
Комментарии излишни!
Блин, зато что я нашел в конце пособия? Ссылку на свой ресусрс
6 Электронная версия учебника по UML (http://www.isuct.ru/~ivt/books/CASE/case6.html ) ссылка правда уже недействительная. Вот другая: http://dit.isuct.ru/ivt/books/CASE/case6/index.html