Опубликован: 23.05.2008 | Доступ: свободный | Студентов: 10351 / 2987 | Оценка: 4.39 / 4.02 | Длительность: 09:14:00
ISBN: 978-5-94774-878-9
Лекция 1:

Предисловие

Лекция 1 || Лекция 2 >

Для чего был написан этот курс

В настоящее время унифицированный язык моделирования - UML, простите, the UML, - является, пожалуй, самой модной технологией в области программной инженерии. Почему это так? Дело в том, что UML позволяет системным архитекторам представлять свое видение системы в виде набора стандартных диаграмм, которые, к тому же, служат отличным средством коммуникации в команде разработчиков и прекрасным помощником в общении с заказчиком. И при всем этом, UML - достаточно логичная и простая для изучения нотация, навыками использования которой, без сомнения, должен овладеть любой специалист, собирающийся работать в области программной инженерии. Знание UML нужно разработчикам, системным архитекторам, менеджерам…

С другой стороны, зачастую у нас просто нет времени на чтение руководств и подробное изучение документации, нет времени на вопросы, а нужно быстро получить ответы на них. Нужно быстро составить представление о технологии, познакомиться с ней на концептуальном, понятийном уровне. И на это у нас не 24 часа, за которые обещает научить нас UML’ю автор одной из чудесных книг, посвященных этой технологии, а всего полдня. Этот курс - именно такое первоначальное руководство, которое позволит читателю составить представление о UML, убедиться в его простоте и полезности, поверить в свои способности к моделированию, наметить направления дальнейшего совершенствования навыков и знаний. Курс не сделает из читателя профессионала, но поможет понять основополагающие концепции рассматриваемой технологии, на которые читатель в дальнейшем сможет "нарастить" более конкретные знания. Этот курс для первого знакомства с UML, которое должно побудить к изучению более фундаментальных изданий.

Еще одно назначение этого курса: помочь читателю сделать первый шаг на пути к профессиональной сертификации по UML - подготовиться к сдаче сертификационного экзамена UM0-100, сдать его и получить статус OMG Certified UML Professional (OCUP) Fundamental. Поверьте человеку, прошедшему этот путь до конца, - это совсем не сложно. Нужно лишь немного усердия и веры в свои возможности. Именно для того, чтобы помочь другим сделать то, что сделал сам, автор и написал этот курс. Подробную информацию о программе OCUP, самом экзамене UM0-100, процедуре тестирования и т. п. вы можете найти в приложении.

Пособие, которое вы держите в руках, базируется на двух очень простых принципах:

  • Каждая лекция имеет четкую структуру - сначала мы говорим, о чем пойдет речь, затем приводим список вопросов, которые будем обсуждать, а в конце каждой из них вас ожидают краткие итоги, список использованных источников, а также контрольные вопросы и упражнения.
  • Еще одно отличие этого курса - его модульность. Каждая лекция полностью самодостаточна, и ее можно читать отдельно, в отрыве от предыдущих и последующих лекций. Таким образом, вы получаете возможность изучать материал в любой последовательности, а можете вообще пропустить те лекции (причем абсолютно "безболезненно"), содержание которых вам уже известно.

О чем этот курс

Мы уже упоминали о том, что курс может быть использован как пособие для подготовки к сдаче сертификационного теста UM0-100. Именно этим фактом и определяется содержимое курса. Речь в нем идет только о тех элементах UML, знать которые абсолютно необходимо. По структуре лекций курс соответствует карте покрытия тем стандарта UML экзаменом UM0-100, которую всегда можно найти на сайте OMG: http://www.omg.org/uml-certification/UML_2-ToC-Fundamental.pdf.

В "первой лекции" мы познакомимся с краткой историей UML, его назначением, способами использования языка, структурой его определения, терминологией и нотацией.

Во "второй лекции" мы узнаем о том, какие виды диаграмм существуют в UML, какие из них наиболее часто используются и для чего предназначена каждая из них. Также здесь будут даны некоторые рекомендации относительно последовательности построения диаграмм.

Последующие четыре лекции посвящены более подробному рассмотрению диаграмм, каждому из наиболее часто используемых видов. Ведь экзамен UM0-100 призван оценить знания, навыки и умения, связанные с чтением и построением именно этих видов диаграмм.

Итак, "третья лекция" расскажет о технологиях реализации основных принципов объектно-ориентированного подхода в языках программирования, подробнее расскажет о диаграмме классов - конечном результате проектирования и отправной точке процесса разработки.

В "четвертой лекции" речь пойдет о диаграммах активностей, которая напомнит многим блок-схемы алгоритмов, знакомые со студенческой скамьи. Но будьте осторожны - это не совсем, а вернее, совсем не блок-схемы!

"Пятая лекция" познакомит нас поближе с диаграммами взаимодействия, позволяющими описать поведенческие аспекты системы. Здесь мы научимся читать и строить диаграммы последовательностей и кооперации.

В "шестой лекции" мы поговорим о концептуальном проектировании, о том, как описать систему с точки зрения пользователя, - о диаграммах прецедентов.

Хотя для выполнения упражнений курса вам потребуется лишь лист бумаги и карандаш, вы должны знать, что существует огромное количество программного обеспечения, так называемых CASE-систем для построения диаграмм UML. О наиболее популярных из них будет рассказано в седьмой лекции. Причем мы постараемся рассмотреть и признанных лидеров рынка, и его "аутсайдеров", и коммерческих "монстров", и "легкие" программы с открытым исходным кодом.

В "заключении" подводятся некоторые итоги, указываются направления для дальнейшего совершенствования своих знаний в области ООАП и UML и даются напутствия читателям.

Пособие снабжено "приложениями" , где подробно описаны программа OCUP и тест UM0-100, даны рекомендации по подготовке к нему, приведены образцы вопросов и описана процедура тестирования. А еще там можно найти информацию о тестах по UML от других вендоров. Также даны списки ссылок на шпаргалки и глоссарии по ООАП и UML в Интернете. Общий список книг и сетевых источников, использованных в работе над курсом, было решено не делать, так как каждая лекция имеет свой собственный список источников.

Как был написан этот курс

Учебно-методические материалы, на основе которых было создано это учебное пособие, были разработаны автором и его коллегами в рамках проекта "Виртуоз". Проект выполнялся в Нижегородском государственном университете им. Н.И. Лобачевского по инициативе компании Intel и при поддержке Microsoft, IBM, Borland, Лаборатории Касперского и др.

Цель проекта "Виртуоз" - подготовка преподавателей к внедрению в вузах России и других стран СНГ новой специальности - "Информационные технологии". Основная задача проекта - совершенствование методологии преподавания программной инженерии. Реализация этой программы направлена на создание надежной образовательной основы для дальнейшего развития отечественной ИТ-индустрии. В рамках проекта (август-декабрь 2004 г.): обучение современным методикам программной инженерии, передовым информационным технологиям, получение опыта работы по созданию учебных курсов, соответствующих международным образовательным стандартам IEEE/ACM Computing Curricula 2001: Computer Science и Software Engineering, а также получение реального индустриального опыта - прохождение стажировки в корпорации Intel, работа над реальными проектами. Сейчас, когда пишутся эти строки, осуществляется новый проект "Виртуоз005", в рамках которого новые преподаватели-счастливчики прослушивают уникальные учебные курсы, работают в компании - ведущем производителе аппаратного и программного обеспечения, разрабатывают новые учебно-методические материалы...

Первоначально работать над курсом автор планировал совместно со своим коллегой, но сроки все время переносились, график менялся, и в конце концов мы оба отложили работу над пособием "до лучших времен", сознавая в глубине души, что эти "лучшие времена" не наступят никогда.

Тем не менее, "свой" кусок работы автор выполнил летом 2006 года, а спустя некоторое время дописал и все остальное - в период с сентября 2007 г. по январь 2008 г. При этом значительная часть материала, написанного ранее, была переработана.

Хотелось бы отметить, что пособие, которое вы держите в руках, - первое для автора, изданное и распространяемое "в большом мире", вне стен родного университета - своего рода дебют. Поэтому, пожалуйста, не судите слишком строго: это всего лишь попытка передать свой опыт другим людям. Если же вы нашли ошибки, неточности, заблуждения, субъективные суждения и другие подобные вещи, автор будет очень благодарен за письмо с описанием ошибки, отправленное на адрес alexander.v.babich@acm.org. И пусть вас не смущает манера автора писать от третьего лица и упоминать себя во множественном числе. Ведь вытравить из себя стиль научной статьи ох как непросто. Автору нравится результат его работы. Надеемся, понравится и читателям.

Благодарности

В заключение хотелось бы поблагодарить всех тех, благодаря кому это пособие было написано и увидело свет. Корпорацию Intel - за возможность участия в проекте "Виртуоз" и за переворот в мировоззрении. Всех сотрудников Нижегородской лаборатории Intel - за доброжелательность, поддержку и ценные советы. Владимира Павлова - за то, что он заразил нас своей энергией и научил жить в "своей реальности". "Интернет-университет информационных технологий" и Анатолия Шкреда лично - за готовность сотрудничать в издании этого пособия. Анатолия Волохова и Telelogic - за любезно предоставленный пакет TAU G2, с помощью которого были построены большинство диаграмм в этой книге. И, наконец, мою жену - за поддержку и то самоотверженное терпение, которое она демонстрировала каждый день в течение всего времени, пока писалась эта книга...

Лекция 1 || Лекция 2 >
Дарья Федотова
Дарья Федотова
Сергей Березовский
Сергей Березовский

В рамках проф. переподготовки по программе "Программирование"

Есть курсы, которые я уже прошел. Но войдя в курс я вижу, что они не зачтены (Язык Ассемблера и архитектура ЭВМ, Программирование на С++ для профессионалов). Это как?

Маргарита Лосева
Маргарита Лосева
Россия, Москва, МГТУ "Станкин", 2004
Владислав Плешань
Владислав Плешань
Беларусь, Город Минск