Вход/Регистрация
Технологии программирования
вернуться

Камаев В А

Шрифт:

Все файлы закодированы с соблюдением стандартов оформления.

Хотя фирма "Borland Inc." занимается разработкой компиляторов, файл mcparser.pas также является заимствованным из UNIX YACC utility и лишь частично модифицирован. Остальные файлы являются оригинальными.

Ассемблерный файл mcmvsmem.asm является искусственно добавленным. Цель его добавления — демонстрация возможности использования ассемблерных вставок. Результаты арифметического анализа текста программы представлены в табл. 8.2.

Таблица 8.2

Результаты анализа текста программы TCalc

Имя файла Всего строк Количество описательных операторов Комментарии Пустых строк Количество процедур Количество описательных операторов процедур Код
Всего Строк
Tcalc 21 2 9 3 5 1 3 8
Tcell 1962 490 206 20 153 46 152 1147
Tcellsp 228 39 24 5 18 6 25 141
Tchash 262 50 47 23 23 14 43 123
Tcinput 334 63 39 15 22 9 32 202
Tclstr 243 45 120 20 12 15 52 114
Tcmenu 234 48 40 20 21 22 66 79
Tcparser 677 73 29 5 17 9 64 518
Tcrun 1367 146 128 59 57 47 163 942
Tcscreen 523 215 92 37 16 8 96 159
Tcsheet 1722 240 170 40 44 32 101 1297
Tcutil 379 114 55 38 70 29 115 42
Итого: 7952 1525 959 285 458 238 912 4772
20,3% 3,8% 12,2% 63,7%

В табл. 8.3 и на рис. 8.3 отображены результаты сравнительного анализа технологий структурного и объектно-ориентированного программирования.

Таблица 8.3

Результаты сравнительного анализа технологий структурного и объектно-ориентированного программирования

Имя программы Всего строк Количество описательных операторов Комментарии Пустых строк Количество процедур Количество операторов процедур Код
Всего Строк
MCalc 3232 460 274 111 253 102 365 2043
15,4% 3,7% 12,3% 68,6%
TCalc 7952 1525 959 285 458 238 912 4772
20,3% 3,8% 12,2% 63,7%

Сравнительный анализ технологий структурного и объектно-ориентированного программирования установил, что для этих технологий наблюдается практически полное совпадение:

• процентного состава описательных операторов;

• процентного состава количества комментариев;

• процентного состава описательных операторов процедур;

• процентного состава операторов кода программы.

Рис. 8.3. Результаты сравнительного анализа технологий структурного и объектно-ориентированного программирования

При проведении разработки по технологии объектно-ориентированного программирования по сравнению с технологией структурного программирования объем кода увеличился в 2,34 раза с учетом только кода, выполняющего одни и те же функции (для этого был исключен код функций, аналогичных функциям работы с clipboard Windows). Общее число строк увеличилось в 2,46 раза. Во столько и даже более раз увеличилась трудоемкость разработки.

Собственно функционально полезный код программ Mcalc и Tcalc — одинаковый и составляет порядка 1500 строк.

Почти 2,3–3,5 кратное увеличение трудоемкости разработки объясняется платой за организацию самостоятельности поведения объектов и их завершенную функциональность для повторного использования.

8.4. ОСНОВНЫЕ ПОНЯТИЯ ОБЪЕКТНО-ОРИЕНТИРОВАННОЙ ТЕХНОЛОГИИ

С чего же начинается создание объектно-ориентированной программы?

Конечно, с объектно-ориентированного анализа (ООА — object-oriented analysis), который направлен на создание моделей реальной действительности на основе объектно-ориентированного мировоззрения. Объектно-ориентированный анализ (ООА) — это методология, при которой требования к системе воспринимаются с точки зрения классов и объектов, прагматически выявленных в предметной области.

На результатах QOA формируются модели, на которых основывается объектно-ориентированное проектирование (object-oriented design, OOD).

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

Что же такое объектно-ориентированное программирование (ООПр) (object-oriented programming)? Программирование прежде всего подразумевает правильное и эффективное использование механизмов конкретных языков программирования. Объектно-ориентированное программирование — это процесс реализации программ, основанный на представлении программы в виде совокупности объектов. ООПр предполагает, что любая функция (процедура) в программе представляет собой метод объекта некоторого класса, причем класс должен формироваться в программе естественным образом, как только в программе возникает необходимость описания новых физических предметов или их абстрактных понятий (объектов программирования). Каждый новый шаг в разработке алгоритма также должен представлять собой разработку нового класса на основе уже существующих классов, т. е. технология ООПр иначе может быть названа как программирование "от класса к классу".

Можно ли реализовать объектно-ориентированную программу не на объектно-ориентированных языках? Ответ, скорее всего, положителен, хотя придется преодолеть ряд трудностей. Ведь главное, что требуется, — это реализовать объектную модель. Сокрытие информации при использовании обычных языков, в принципе, можно реализовать сокрытием доступности вызовов подпрограмм в файлах (Unit). Инкапсуляцию объектов можно достичь как и в объектно-ориентированных языках написанием отдельных подпрограмм. Далее можно считать, что каждый объект порождается от своего уникального класса. Конечно, иерархии классов в таком проекте не будет и для достижения параллелизма придется писать код для организации вызова к исполнению как бы сразу нескольких копий процедур, но программа при этом будет вполне объектно-ориентированной.

  • Читать дальше
  • 1
  • ...
  • 90
  • 91
  • 92
  • 93
  • 94
  • 95
  • 96
  • 97
  • 98
  • 99
  • 100
  • ...

Ебукер (ebooker) – онлайн-библиотека на русском языке. Книги доступны онлайн, без утомительной регистрации. Огромный выбор и удобный дизайн, позволяющий читать без проблем. Добавляйте сайт в закладки! Все произведения загружаются пользователями: если считаете, что ваши авторские права нарушены – используйте форму обратной связи.

Полезные ссылки

  • Моя полка

Контакты

  • chitat.ebooker@gmail.com

Подпишитесь на рассылку: