Декомпозиция
Post on 20-Jun-2015
1.044 Views
Preview:
DESCRIPTION
TRANSCRIPT
Объектно-ориентированное программирование
Лекция 2
План
1. Лабораторные работы
2. Требования к ПО
3. Декомпозиция
4. Заключение
5. Книги
Лабораторные работы
Нужно:
— команда из 2—3 человек
— выбрать проект
— согласовать состав команды по почте: michael@gurenkov.net
Требования к проектам
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
Эндрю Троелсен
http://www.ozon.ru/context/detail/id/3938065/
Программист-прагматик
Эндрю Хант, Дэйв Томас
http://www.ozon.ru/context/detail/id/3353337/
top related