Объектно-ориентированное программирование Лекция 2
План 1.Лабораторные работы 2.Требования к ПО 3.Декомпозиция 4.Заключение 5.Книги
Лабораторные работы Нужно: команда из 23 человек выбрать проект согласовать состав команды по почте:
Требования к проектам 1.Работа с данными (сложная обработка данных) 2.Нормальный пользовательский интерфейс 3.Использование системы управления версиями (SVN, VSS) 4.К концу семестра должен получиться прототип (объем проекта должен укладываться в рамки курса)
Лабораторная работа 1 Когда: 2-го марта Что нужно: определиться с командой идея проекта архитектура (проект системы) набросок пользовательского интерфейса план работы над проектом (с указанием сроков и исполнителей)
Возможные темы для проектов Собственный Jabber-клиент Собственный twitter-клиент Собственный RSS-ридер Переводчик на основании нескольких интернет-сервисов Простой веб-браузер (html с простыми фиксированными стилями) Визуализатор MathML Визуализатор формул в формате TeX
Требования к ПО простой текст, описывающий какие задачи должна решать программная система
Декомпозиция Для чего: постепенная разработка повторное использование кода модульный анализ (чем меньше объем, тем проще его понять) локализация изменений изолирование возникающих ошибок
Пример
Заключение 1 Декомпозиция позволяет: постепенная разработка повторное использование кода модульный анализ (чем меньше объем, тем проще его понять) локализация изменений изолирование возникающих ошибок
Заключение 2 Распределение модулей по уровням: позволяет четко определить уровень абстракции каждого модуля позволяет избежать лишних зависимостей между модулями
Заключение 3 Принцип ортогональности: каждый модуль выполняет только свою функцию исключено взаимодействие между объектами, не относящимися друг к другу
C# и платформа.NET 3.0 C# with.NET 3.0 Эндрю Троелсен
Программист-прагматик Эндрю Хант, Дэйв Томас