В Камаев - Технологии программирования

Тут можно читать онлайн В Камаев - Технологии программирования - бесплатно полную версию книги (целиком) без сокращений. Жанр: Прочая околокомпьтерная литература, издательство Издательство «Высшая школа», год 2006. Здесь Вы можете читать полную версию (весь текст) онлайн без регистрации и SMS на сайте лучшей интернет библиотеки ЛибКинг или прочесть краткое содержание (суть), предисловие и аннотацию. Так же сможете купить и скачать торрент в электронном формате fb2, найти и слушать аудиокнигу на русском языке или узнать сколько частей в серии и всего страниц в публикации. Читателям доступно смотреть обложку, картинки, описание и отзывы (комментарии) о произведении.

В Камаев - Технологии программирования краткое содержание

Технологии программирования - описание и краткое содержание, автор В Камаев, читайте бесплатно онлайн на сайте электронной библиотеки LibKing.Ru
В книге изложены технологии структурного программирования, объектно-ориентированного проектирования, визуального программирования, технология, основанная на абстракции данных Дейкстеры. Рассмотрено использование средств автоматизации проведения программных разработок.
Второе издание (1-е — 2005 г.) дополнено главами по структуре данных и основам инженерии создания программ.
Для студентов вузов, обучающихся по направлению «Информатика».

Технологии программирования - читать онлайн бесплатно полную версию (весь текст целиком)

Технологии программирования - читать книгу онлайн бесплатно, автор В Камаев
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

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

На втором и третьем шагах итеративной процедуры проектирования производится выявление того, насколько адекватно классы и их иерархия подходят по сути проекта. Проектировщики вынуждены реорганизовывать, улучшать проект и повторять все шаги сначала, и так до тех пор, пока качество проекта не будет удовлетворительным.

При перестройке иерархии классов применяются четыре процедуры: расщепление класса на два и более; абстрагирование (обобщение); слияние; анализ возможности использования существующих разработок.

Расщепление применяется в следующих случаях:

1) если имеется сложный класс, иногда имеет смысл разделить его на несколько простых классов и тем самым обеспечить поэтапную разработку;

2) класс содержит ряд несвязанных между собой функций или набор независимых друг от друга данных.

Обобщение — выявление в группе классов общих свойств и вынесение их в общий базовый класс. Признаки необходимости обобщения таковы:

1) общая схема использования;

2) сходство между наборами операций;

3) сходство реализаций;

4) эти классы часто фигурируют вместе в дискуссиях по проекту.

Слияние— объединение нескольких небольших, но тесно взаимодействующих классов в один. Таким образом, взаимодействие будет скрыто в реализации нового класса.

Использование существующих разработок.Обособленный класс или группа классов из уже существующего проекта может быть легко интегрирована в новый класс. Однако подобная интеграция вносит определенные ограничения в структуру системы и может сказаться на эффективности разработки самой программы. Изготовители систем объектно-ориентированного программирования поставляют системы с совместимыми библиотеками классов. Очевидно, чем больше готовых библиотечных классов будет использовано в программе, тем меньше кода придется писать при реализации программы.

8.8.7. Свод правил

В рассмотренных ранее темах не было дано настоятельных и конкретных рекомендаций по проектированию. Это соответствует убеждению, что нет "единственно верного решения". Принципы и приемы следует применять такие, которые лучше подходят для решения конкретных задач. Для этого нужен вкус, опыт и разум. Тем не менее можно указать некоторый свод правил (эвристических приемов), который разработчик может использовать в качестве ориентиров, пока не будет достаточно опытен, чтобы выработать лучшие правила. Ниже приведен свод таких эвристических правил.

Правило 1. Узнайте, что вам предстоит создать.

Правило 2. Ставьте определенные и осязаемые цели.

Правило 3. Не пытайтесь с помощью технических приемов решить социальные проблемы.

Правило 4. Рассчитывайте на большой срок в проектировании и управлении людьми.

Правило 5. Используйте существующие системы в качестве моделей, источника вдохновения и отправной точки.

Правило 6. Проектируйте в расчете на изменения: гибкость, расширяемость, переносимость, повторное использование.

Правило 7. Документируйте, предлагайте и поддерживайте повторно используемые компоненты.

Правило 8. Поощряйте и вознаграждайте повторное использование: проектов, библиотек, классов.

Правило 9. Сосредоточьтесь на проектировании компоненты.

Правило 10. Используйте классы для представления понятий.

Правило 11. Определяйте интерфейсы так, чтобы сделать открытым минимальный объем информации, требуемой для интерфейса.

Правило 12. Проводите строгую типизацию интерфейсов всегда, когда это возможно.

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

Правило 14. Многократно исследуйте и уточняйте как проект, так и реализацию.

Правило 15. Используйте лучшие доступные средства для проверки и анализа проекта и реализации.

Правило 16. Экспериментируйте, анализируйте и проводите тестирование на самом возможном раннем этапе.

Правило 17. Стремитесь к простоте, максимальной простоте, но не сверх того.

Правило 18. Не разрастайтесь, не добавляйте возможности "на всякий случай".

Правило 19. Не забывайте об эффективности.

Правило 20. Сохраняйте уровень формализации, соответствующий размеру проекта.

Правило 21. Не забывайте, что разработчики, программисты и даже менеджеры остаются людьми.

8.8.8. Пример простейшего проекта

Б. Страуструп придумал реализацию механизма множественного наследования и при этом отвергал агрегирование, хотя и реализовал это в своем языке C++.

Приведенный далее пример показывает невозможность осуществления решения следующей простой задачи двумя способами решения — с использованием множественного наследования и агрегирования. В процессе решения задач было выявлено, что в ряде задач без выполнения третьего шага невозможно корректное выполнение второго шага. Таким образом, при решении одного и того же примера двумя способами второй и третий шаги проекта были взаимно переставлены. Также добавлен шаг "классификация объектов" (составление словаря).

Первый способ решения задачи— использование множественного наследования.

Постановка задачи примера. Вывести на экран фигуру, показанную на рис. 8.4.

Технологии программирования - изображение 71

Рис. 8.4. Изображение выводимой фигуры

Изображенная на рис. 8.4 фигура состоит из правильного пятиугольника и описанной вокруг него окружности, где хс, yc — координаты центра описанной вокруг пятиугольника окружности; R — радиус описанной вокруг пятиугольника окружности.

Кроме того, фигура рисуется заданным цветом.

Следует отметить, что задача может быть решена несколькими способами.

Шаг 1а. Определение объектов и выявление их свойств.

Объект — Рисунок. Свойства объекта:

— радиус окружности (R);

— координаты центра окружности (xc; yc);

— цвет линий.

Объект — Пятиугольник. Свойства объекта:

— радиус описанной вокруг него окружности (R);

— координаты центра описанной вокруг него окружности (хс; yc):

— цвет линии.

Объект — Окружность. Свойства объекта:

— радиус (R);

— координаты центра (хс; yc);

Читать дальше
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать


В Камаев читать все книги автора по порядку

В Камаев - все книги автора в одном месте читать по порядку полные версии на сайте онлайн библиотеки LibKing.




Технологии программирования отзывы


Отзывы читателей о книге Технологии программирования, автор: В Камаев. Читайте комментарии и мнения людей о произведении.


Понравилась книга? Поделитесь впечатлениями - оставьте Ваш отзыв или расскажите друзьям

Напишите свой комментарий
x