Объектно-ориентированное проектирование с примерами



Объектно-ориентированное проектирование с примерами

Предисловие
Концепции
Метод

Примеры приложений
Дополнительный материал
Сложность
Простые и сложные программные системы
Почему программному обеспечению присуща сложность?

Последствия неограниченной сложности


Примеры сложных систем
Пять признаков сложной системы

Организованная и неорганизованная сложность
Роль декомпозиции
Роль абстракции
Роль иерархии
Инженерное дело как наука и искусство

Смысл проектирования
Объектная модель
Тенденции в проектировании

Основные положения объектной модели
OOP, OOD и ООА
Парадигмы программирования
Абстрагирование

Инкапсуляция
Модульность
Иерархия
Типизация

Параллелизм
Сохраняемость
Преимущества объектной модели
Использование объектного подхода
Открытые вопросы

Классы и объекты
Что является и что не является объектом?
Состояние
Поведение

Идентичность
Типы отношений
Связи
Агрегация
Что такое класс?
Интерфейс и реализация

Жизненный цикл класса
Ассоциация
Наследование
Использование
Инстанцирование
Метаклассы
Отношения между классами и объектами
Роль классов и объектов в анализе и проектировании
Измерение качества абстракции

Как выбрать операции?

Объектно-ориентированное проектирование с примерами


Как выбирать отношения
Выбор реализации
Классификация
Классификация и объектно-ориентированное проектирование
Трудности классификации

Классический и современный подходы
Объектно-ориентированный анализ
Ключевые абстракции
Обозначения
Необходимость разных точек зрения
Модели и ракурсы
Логическая и физическая модели
Инструменты проектирования

Существенное: категории классов
Дополнительные обозначения
Спецификации
Существенное: состояния и переходы
Дополнительные понятия

Спецификации
Существенное: объекты и их отношения
Существенное: объекты и их взаимодействия
Существенное: модули и их зависимость

Процесс
Характерные черты удачных проектов

Рациональный процесс проектирования
Обзор
Выявление классов и объектов
Выяснение семантики классов и объектов

Выявление связей между классами и объектами
Реализация классов и объектов
Концептуализация
Анализ
Проектирование

Эволюция
Сопровождение

Практические вопросы
Управление риском
Планирование задач
Просмотр
Роли разработчиков

Объектно-ориентированное проектирование с примерами

Система сбора данных: метеорологическая станция
Определение границ рассматриваемой задачи
Архитектурный каркас
Механизм покадровой обработки
Планирование релизов
Механизм датчиков

Механизм вывода информации на экран
Механизм пользовательского интерфейса
Среда разработки: библиотека базовых классов
Определение границ проблемной области
Требования к библиотеке базовых классов

Модели взаимодействий
Тактические вопросы
Макроорганизация
Семейства классов

Семантика времени и памяти
Управление памятью
Итерация
Синхронизация

Проектирование интерфейса классов
Классы поддержки
Инструменты
Дополнительная литература
Архитектура клиент-сервер: складской учет
Определение границ задачи

Архитектура клиент-сервер
Сценарии работы
Модели баз данных

SQL
Анализ схем данных

Механизм транзакций
Создание клиентской части приложения
Управление релизами
Генераторы приложений

Искусственный интеллект: криптоанализ
Определение границ предметной области
Архитектура метафоры информационной доски
Архитектура информационной доски

Интеграция
Добавление источников знаний
Расширение функциональных возможностей
Изменение технических требований

Объектно-ориентированное проектирование с примерами

Управление: контроль за движением поездов

Системные и программные требования: хрупкий компромисс
Ключевые абстракции и механизмы
Механизм передачи сообщений

Планирование расписания поездов
Отображение информации
Механизм опроса датчиков
Модульная архитектура

Спецификация подсистем
Добавление новых функций
Изменение аппаратных средств
Библиография
Словарь терминов
Литературные ссылки
Объектно-ориентированные языки программирования
Происхождение

Photoshop 7 и webдизайн

Все больше людей обращаются к Всемирной паутине. Некоторые ищут необходимые для работы научные данные, другие — результаты футбольных матчей, электронные варианты художественных книг или рефераты. Спектр представленной в Интернете информации очень широк. Однако в большинстве случаев доступ ко всему многообразию ресурсов осуществляется одним и тем же образом — через web-сайт, на котором представлены какие-либо сведения.
Число пользователей Интернета постоянно растет, и многие из них уже не хотят довольствоваться аскетичным оформлением первых сайтов, появившихся в научных центрах и военных организациях. Тогда основную ценность представляло их содержание — информация, а до оформления многим просто не было дела. Теперь все по-другому — пользователей так много, что относительно небольшая их часть ищет научные или технические сведения о технологиях или фундаментальных исследованиях. Большинство людей путешествуют по Сети в поисках товаров для дома, ради общения с друзьями или просто рассматривают красивые картинки. Им важно не столько содержание сайта, хотя и оно не потеряло своего значения, сколько его оформление — внешний вид. Хорошо оформленный сайт привлекает пользователя, даже если его содержание далеко от идеала, а вот для сайта, оформленного неряшливо, приобрести известность может оказаться непросто. Информация и ее представление аудитории стали неотделимы друг от друга. Особенно это касается рекламы и корпоративных сайтов компаний, которые, как правило, ориентированы на продвижение товаров.
Так как возросла роль оформления web-страниц, то потребовались люди, обладающие достаточными знаниями и навыками для его разработки. Если раньше оформление (дизайн) сайта разрабатывали те же люди, которые писали все необходимое программное обеспечение и HTML-код, то теперь на должность web-дизайнера нанимают отдельного человека, от которого часто не требуется владение языками программирования — он должен уметь рисовать. Для того чтобы нарисовать хороший сайт (часто эскизы сайта именно рисуются в виде одной картинки), надо уверенно владеть пакетами графических программ. Именно с их помощью осуществляется подготовка графических элементов, размещаемых на сайте. Существует множество графических редакторов, но лидирующее положе ние среди них занимает Adobe PhotoShop — наиболее известный пакет для oбработки растровой графики, распространенный как на PC, так и на компьютерах Macintosh.
Эта книга посвящена изучению особенностей применения Adobe PhotoShop версии 7.0 для разработки графического оформления сайта. Книга, в первую очередь предназначена тем, кто только начал осваивать премудрости и тонкости web-дизайна, но уже имеет основные навыки работы с этой программой. Впрочем, если вы пользуетесь более ранними версиями PhotoShop, то также можете обратиться к этой книге — основные приемы работают во всех версиях этого графического пакета.

Форматы исходных и промежуточных изображений
Выделение фрагментов изображения
Сохранение файлов в форматах GIF и JPEG
Карты-изображения в ImageReady
Использование изображений

Ссылки