Курс читается студентам 3 курса Факультета Инноваций и Высоких Технологий (ФИВТ) Московского Физико-Технического Института (МФТИ). Осенний семестр 2009-2010
Целью данного курса является ознакомление студентов с основами проектирования и формирование представления о существующих методологиях проектирования программного обеспечения.
В процессе обучения, студенты овладевают принципами гибкого моделирования с использованием языка UML, а также основными принципами проектирования систем, такими как абстрагирование, сокрытие информации, модульность и другими. Студенты знакомятся со структурным и объектно-ориентированным подходами к проектированию.
Проект должен быть оформлен в виде архива с именем <№ группы>-<Проект>-<Фамилия1Фамилия2Фамилия3>.zip (пример 793-ИнПлан-ИвановСидоров.zip) включающий:
Проект присылается один раз. Он может быть возвращен на доработку, если имеются ошибки в оформлении. Частично выполненные проекты по которым спрашиваются комментарии будут рассматриваться как завершенные. Вопросы можно задавать, но конкретные (а не вида "какие у нас здесь ошибки, мы исправим и пришлем?"), в том числе на семинарах.
Должники по заданиям (на 16 ноября 2009)
Для сдачи задания №1 необходимо решение на pps.fall2009@yandex.ru до 12.00 10.11.2009.
Задание включает:
Также необходимо обосновать представленную модель, то есть почему получены именно такие классы, почему важен тот или иной вариант использования, почему необходимо моделировать данную ассоциацию и т.п.
Сдача задания происходит на семинаре, артефакты на бумажном носителе можно не прикладывать, а принести с собой.
Задержка отправки заадния приводит к снижению оценки на 0.5 балла каждые 3 дня
Для сдачи задания №2 необходимо решение на pps.fall2009@yandex.ru до 12.00 15.12.2009. Для сдачи задания выделяется два семинара 16, 23 и лекция 23 декабря.
Суть второго задания состоит в реализации модели 1 задания на выбранной платформе. Платформа включает в себя набор классов, реализующий функции доступа к базам данных, коммуникации по сети, рисование пользовательского интерфейса и решающие другие вспомогательные задачи. Для каждого проекта классы, входящие в платформу оговариваются отдельно. Обратитесь к своему семинаристу для согласования списка классов платформы реализации.
Задание включает:
Модель реализации должна включать отдельную диаграмму (или несколько, если требуется) классов (или внутренней структуры), на которой описано, каким образом реализована модель предметной области, используя библиотеки и классы выбранной платформы.
Отдельное внимание следует уделить моделированию поведения. Лучшим кандидатом для моделирования является описание реализации ключевых вариантов использования с помощью взаимодействий, схем состояний или деятельности. Одним из ключевых результатов является разработка согласованных статической и динамической моделей (то есть если при описании взаимодействия мы вызываем метод принять() у класса А, он должен быть в статической модели).
Сдача задания происходит на семинаре, артефакты на бумажном носителе можно не прикладывать, а принести с собой.
| # | Название | Сложность | Описание |
|---|---|---|---|
| 1. | БилетыОнлайн Выбрано | Высокая | Бронирование и продажа билетов онлайн. Просмотр программы мероприятий. Особенности Решение должно быть оригинальным. |
| 2. | БезопасныйПереезд Выбрано | Средняя | ПО управления шлагбаумом на переезде. Имеются датчики приближения поезда. Подумать, какие еще датчики нужны. Управлять нужно светофорами, шлагбаумом, подумать чем еще. |
| 3. | УниЛифт Выбрано | Высокая | ПО управления лифтом многоэтажного дома. Кроме стандартного управления, нужны кнопки вызова диспетчера, датчик задымления, управление дверьми и возможность использования с различными алгоритмами обхода нажатых на этажах кнопок. ПО должно работать с разными лифтами, домами и датчиками. |
| 4. | АТМ Выбрано | Средняя | Банкомат. Выдача денег по пластиковой карте, оплата услуг. Особенности Обеспечение целостности данных. Использование транзакций |
| 5. | CallЦентр Выбрано | Средняя | Прием звонков, их классификация через голосовое меню, управление операторами. Отслеживание историй звонков от клиентов. Варианты предметной области: техподдержка, мобильная связь, покупки по телефону. |
| 6. | НаКурорт Выбрано | Высокая | Удаленное бронирование номеров в гостиницах на курортах. Классификация по типу клиентов и составление программы пребывания в зависимости от типа (студенты, в возрасте, семья). Работа с гостиницами и турбюро. |
| 7. | ГрантЭкспресс | Средняя | Регистрация, обработка, рецензирование заявок на гранты через Интернет. Составление и ведение пакетов документов. Проведение экспертизы, учет экспертов и пользователей. Особенности Реальная система доступна по адресу grant.rfbr.ru |
| 8. | РестоСам Выбрано | Высокая | Официантов - в консультанты. Самостоятельный заказ блюд из меню с телефона по вай-фай, синий зуб, вап или Интернет, заранее, до прихода в ресторан. Узнавание клиентов, составление предпочтений, подбор ресторанов по предпочтениям/доступности. |
| 9. | ИнПлан Выбрано | Средняя | Студенты могут выбирать себе курсы в университете. Для получения специализации нужно прослушать определенный набор базовых курсов и несколько дополнительных на общую сумму часов. Все курсы платные, студент может расходовать свой бюджет на разные курсы. Профессора могут ставить оценки, студенты отслеживать свою успеваемость. |
| 10. | Ресурсовед | Средняя | Библиотека управления процессом распределенного решения задач оптимизации методами типа Монте-Карло (поиск новых лекарств, криптография,...). Поддерживает модели вычислительной среды, заказывает/удаляет ресурсы, распределяет нагрузку. Особенности Основное направление моих научных изысканий, поэтому кое-какие бонусы при сдаче проекта :) |
| 11. | СдайДоклад | Средняя | Система поддержки сбора докладов научной конференции МФТИ. Поддержка работы с авторами, представителями факультетов, секретарями секций, рецензентами, типографией и оргкомитетом. Правила для авторов приведены тут Особенности Может это следующая версия системы? Кто знает... |
Основная литература:
Дополнительная литература:
Интернет-источники:
Статьи методам проектирования:
Хританков Антон Сергеевич, аспирант кафедры УРВиИТ, автор курса. Читает лекции по курсу и ведет семинары у групп 793 и 794. Email: anton[dot]khritankov [at} acm.org
Ивахненко Андрей Александрович, аспирант кафедры МОУ ФУПМ. Ведет семинары у групп 791б и 792.