Анализ и дизайн систем Alan Dennis, Barbara Wixom, and David Tegarden




НазваниеАнализ и дизайн систем Alan Dennis, Barbara Wixom, and David Tegarden
Дата конвертации24.02.2013
Размер445 b.
ТипАнализ


Анализ и дизайн систем

  • Alan Dennis, Barbara Wixom, and David Tegarden

  • John Wiley & Sons, Inc.

  • Slides by Fred Niederman


Copyright © 2001 John Wiley & Sons, Inc.

  • All rights reserved. Reproduction or translation of this work beyond that permitted in Section 117 of the 1976 United States Copyright Act without the express written permission of the copyright owner is unlawful.

  • Request for further information should be addressed to the Permissions Department, John Wiley & Sons, Inc.

  • The purchaser may make back-up copies for his/her own use only and not for redistribution or resale.

  • The Publisher assumes no responsibility for errors, omissions, or damages, caused by the use of these programs or from the use of the information contained herein.



Дизайн классов и методов

  • Глава 14



Основные концепции

  • Низкоуровневый или детальный дизайн критичен, несмотря на существование библиотек и компонентов

  • Ранее существующие классы должны быть поняты и организованы

  • Часть, если не весь, код тем не менее используется для создания новых классов



Повтор основных характеристик объектно-ориентированного подхода



Элементы

  • Классы

  • Объекты

  • Атрибуты

  • Состояния

  • Методы

  • Сообщения



Инкапсуляция

  • Скрытие содержания объекта от просмотра извне

  • Доступ только через методы класса

  • Ключ к повторному использованию



Полиморфизм

  • Одни и те же сообщения вызывают разные методы в разных классах

  • Динамическая связь это специальные методы, выбранные в ходе работы

  • Реализация динамических связей зависит от языка

  • Нужно быть очень осторожными с ошибками в работе

  • Нужно обеспечить семантическую однородность



Наследование

  • Единичное наследование – один базовый класс

  • Множественное наследование – несколько базовых классов

  • Переобозначения и конфликты наследования

  • Большинство конфликтов наследования происходят из-за плохой классификации



Правила Rumbaugh



Дополнительные конфликты наследования

  • Два наследованных атрибута или метода имеют одинаковые имя и семантику

  • Два наследованных атрибута или метода имеют различные имена, но одинаковую семантику.

  • Два наследованных атрибута или метода имеют одинаковое имя и различную семантику



Ваша очередь!

  • Университет выпускает в среднем 10000 студентов в год, и офис развития хочет построить веб-систему для получения и распределения пожертвований.

    • В такой системе приведите 3 примера классов, имеющих один подкласс; 1 пример подкласса. Который может иметь 2 базовых.


КРИТЕРИИ ДИЗАЙНА



Связность

  • Взаимозависимость между модулями

  • Связь интеракции через передачу сообщений



Закон Demeter



Типы Интерактивной Связи



Единство

  • “Единомыслие модуля”

  • Единство методов

  • Единство классов

  • Единство обобщений/спецификаций



Типы единства методов



Типы единства классов



Зависимость

  • Создание необходимости изменения одного модуля, как результат изменения другого

    • Минимизация общей зависимости
    • Минимизация вне границ инкапсуляции
    • Максимизация внутри границы инкапсуляции


Типы зависимости



ДИЗАЙН ОБЪЕКТА



Дополнительные Спецификации

  • Вначале просмотрите текущей набор моделей

    • Важные, но только необходимые классы для решения проблемы
    • Нет упущенных атрибутов или методов
    • Нет лишних атрибутов или методов
  • Проверьте области видимости



Прототип каждого метода

  • Имя метода

  • Параметры или передаваемые аргументы

  • Тип возвращаемого значения



Определите ограничения

  • Предусловия

  • Постусловия

  • Инварианты

  • Как работать с нарушениями (исключения в C++ и Java)?



Выявите возможности повторного использования

  • Шаблоны

  • Структура

  • Библиотеки классов

  • Компоненты



Реструктурирование дизайна

  • Факторизация

  • Подгонка под текущий язык

  • Нормализация

  • Убедитесь, что все отношения наследования поддерживают только семантику обобщения/спецификации



Оптимизация дизайна

  • Проверка путей доступа

  • Проверка атрибутов каждого класса

  • Проверка прямого и непрямого разветвления по выходу

  • Просмотрите порядок вызова операций в часто используемых методах

  • Избегайте перевычислений путем создания производных атрибутов и вызовов



Соглашения и ограничения

  • Набор ограничений и гарантий

  • Написания на естественном языке, структурированном английском, псевдокоде или формальном языке



Инварианты на диаграмме класса



Простой формат соглашений



СПЕЦИФИКАЦИЯ МЕТОДОВ



Синтаксис

  • Нет формальных правил синтаксиса

  • Общая информация

  • События

  • Передача сообщений

  • Спецификация алгоритмов



Структурированный английский



Пример псевдокода











Резюме

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

  • Связность, единство, и зависимость предлагаются как критерии оценки дизайна.

  • Дизайнер ищет возможности оптимизировать дизайн, создаёт соглашения и ограничения, и специфицирует методы.



Дополнительные ресурсы

  • Группы пользователей С и С++ предлагают необычайно широкие сведения об ОО разработке. Посмотрите сайты:

  • http://www.accu.org/

  • http://www.accu-usa.org/



Похожие:

Анализ и дизайн систем Alan Dennis, Barbara Wixom, and David Tegarden iconАнализ и дизайн систем. Alan Dennis, Barbara Wixom, and David Tegarden
...
Анализ и дизайн систем Alan Dennis, Barbara Wixom, and David Tegarden iconТеория систем и системный анализ Тема3 «Системный анализ: сущность, принципы, последовательность»
Системный анализ в узком смысле представляет собой методологию принятия решений
Анализ и дизайн систем Alan Dennis, Barbara Wixom, and David Tegarden iconТренинг: «Тест-дизайн» Тренинг: «Тест-дизайн»
Тест-дизайн это этап процесса тестирования по, который включает создание/проектирование тестовых сценариев и определение необходимых...
Анализ и дизайн систем Alan Dennis, Barbara Wixom, and David Tegarden iconАвтор Деннис Ритчи (Dennis Ritchie) Автор Деннис Ритчи (Dennis Ritchie)
Основа "более старый" язык bcpl мартин Ричардс (Martin Richards). Bcpl оказал определенное влияние на язык в кен Томпсон (Ken Thompson)....
Анализ и дизайн систем Alan Dennis, Barbara Wixom, and David Tegarden iconДетский дизайн может иметь
Наблюдения природных объектов, предметной среды, результатов собственной дизайн-деятельности и любование ими
Анализ и дизайн систем Alan Dennis, Barbara Wixom, and David Tegarden iconАвтоматизированные системы электронного документооборота: сравнительный анализ Выполнил студент 5 курса
В сегодняшней презентации рассмотрим сравнительный анализ наиболее популярных систем электронного документооборота, таких как
Анализ и дизайн систем Alan Dennis, Barbara Wixom, and David Tegarden iconДизайн кухни Тема 1 о дизайне интерьеров
Зачем нужен дизайн интерьера квартиры, дома или офиса? Многие обходятся без него и ничего
Анализ и дизайн систем Alan Dennis, Barbara Wixom, and David Tegarden iconАнализ диссипативности и шумостабильности нелинейных дискретных динамических систем

Анализ и дизайн систем Alan Dennis, Barbara Wixom, and David Tegarden iconКуприянова Марина Валентиновна, педагог дополнительного образования
Графический дизайн (график-дизайн) как область дизайна, занимающаяся проектированием печатной продукции (книги, плакаты, афиши, визитки,...
Анализ и дизайн систем Alan Dennis, Barbara Wixom, and David Tegarden iconТема Введение. Состав и значение курса "Введение в специальность". Задачи курса. Основные разделы курса. Виды контроля знаний. Критерии оценки. Перспективы обучения в вузе. Обзор и краткий анализ учебного плана специальности "Дизайн". Тема 1
Введение. Состав и значение курса "Введение в специальность". Задачи курса. Основные разделы курса. Виды контроля знаний. Критерии...
Разместите кнопку на своём сайте:
hnu.docdat.com


База данных защищена авторским правом ©hnu.docdat.com 2012
обратиться к администрации
hnu.docdat.com
Главная страница