Будь умным!


У вас вопросы?
У нас ответы:) SamZan.net

алгоритма а языки программирования назвали алгоритмами

Работа добавлена на сайт samzan.net: 2015-07-05

Поможем написать учебную работу

Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.

Предоплата всего

от 25%

Подписываем

договор

Выберите тип работы:

Скидка 25% при заказе до 21.5.2024

1. Методология процедурно-ориентированного программирования.

 Основой данной методологии разработки ПО является процедурная или алгоритмическая ориентация структуры программного кода. Это было естественно для вычислительных задач, которые превалировали на ранних этапах развития ВТ. Исходным понятием этой методологии является понятие «алгоритма», а языки программирования назвали алгоритмами.

Первое графическое средство документирования программ получило название «блок-схема алгоритма» (ГОСТ 19.701-90). Однако потребности практики не всегда требовали установления вычислимости конкретных функций или разрешимости отдельных задач.

В языках программирования возникло и закрепилось новое понятие «процедуры», которое конкретизировало общие понятия алгоритма применительно к решению задач на компьютерах. Так же как и алгоритм процедура представляет собой законченную последовательность действий или операций, направленных на решение отдельной задачи. В языках программирования появилась специальная синтаксическая конструкция, которая получила название процедуры, а языки стали называть процедурно-ориентированными.

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

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

Все эти идеи способствовали становлению системы взглядов на процесс разработки программ и написание программных кодов, которая получила название методологии структурного программирования.

Основой данной методологии является процедурная декомпозиция и организация отдельных модулей в виде совокупности выполненных процедур.

В рамках методологии получило развитие нисходящее проектирование ПО и программирование «сверху вниз».

Период наибольшей популярности структурного программирования приходится на конец 70-х  –начала 80-х гг. В этот период основным показателем сложности разрабатываемых программ стал ее размер –количество строк, а трудоемкость оценивали в человекомесяцах.

 

2. Методология ООП.

В 80-е гг. в связи с широким распространением ЭВМ и усложнением разрабатываемых программных систем стало очевидным, что традиционные методы процедурного программирования  не способны справиться с возникшими проблемами. Нужна была новая методология, которая решила бы проблемы сложности и надежности –методология ООП.

Фундаментальным понятием в ней является понятие класса и объекта. Класс –абстрактная совокупность объектов, которые имеют общий набор свойств и одинаковое поведение. Каждый объект в этом случае рассматривается как экземпляр соответствующего класса.

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

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

Появились языки программирования, которые обеспечивают поддержку новой методологии (С++, Паскаль…). На базе этих языков были созданы визуальные ОО среды программирования с библиотеками классов (MFC или VCL).

Широкое распространение методологии ООП оказало влияние на процесс разработки программ. Процедурно-ориентированная декомпозиция программ уступила место ОО декомпозиции, при которой отдельными структурными единицами стали классы и объекты со свойствами и методами. В следствии, программа перестала быть последовательностью предопределенных на этапе кодирования действий, а стала событийно-управляемой.

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

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

Все эти обстоятельства привели к появлению новой методологии программирования –ОО анализ и проектирование.

3. Методология объектно-ориентированного анализа и проектирования.

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

 ISO/IFC 12207 описывает структуру жизненного цикла. В настоящее время выделяют следующие этапы:

  1.  Анализ предметной области и формулировка требований к программе: осуществляется определение функций программы и концептуализация предметной области (выполнение работы аналитиками и специалистами предметной области), выработка концептуальной схемы.
  2.  Проектирование структуры программы: детальная разработка схемы программы (классы, взаимосвязи) (аналитики, архитекторы, квалифицированные программисты); разработка детализированной схемы программы (со всеми классами и взаимосвязи в процессе функционирования программы).
  3.  Реализация программных кодов –программирование (программисты + автоматизация).
  4.  Тестирование (программисты, специальная группа).
  5.  Внедрение (специальные группы, БД ошибок и т.д.).
  6.  Сопровождение.
  7.  Отказ от использования программы.

Технология ООАП автоматизирует 1 и 2 этап ЖЦ. Исторически был сначала автоматизирован второй этап плюс использование CASE средств.

В настоящее время созданы также средства на базе UML (Unified Modeling Language), которые представляют пользователям мощную формализацию, графическую нотацию –язык представления знаний.

UML предназначен для:  1. описания                                  ОО систем и

. визуализации                           бизнесс-процессов.

. документирования

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

6. Разработка UML-моделей.

UML –унифицированный язык моделирования для описания визуализации и документирования ОО-систем в процессе их разработки.

Основные принципы построения моделей сложных систем, которые используются в ООАП и реализованы в языке UML:

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

Для диаграмм языка UML существует три типа визуальных обозначений, которые важны с точки зрения заключенной в них информации:

  1.  Связи (линии на плоскости)
  2.  Текст (внутри геометрических фигур)
  3.  Графические символы, изображаемые вблизи от визуальных элементов диаграмм.

В UML используют четыре вида графических обозначений:

  1.  значки и пиктограммы
  2.  графические символы на плоскости (геометрические фигуры с изменяемыми размерами для размещения др. символов)
  3.  Связи (→, ---)
  4.  Текст

При графическом построении диаграмм следует учесть:

  1.  каждая диаграмма должна служить законченным представлением соответствующего фрагмента моделированной предметной области
  2.  все сущности на диаграмме одного концептуального уровня
  3.  вся информация о сущностях должна быть явно представлена на диаграммах
  4.  диаграммы не должны содержать противоречивой информации (замкнутые связи, наличие элементов с одинаковыми именами и т.д.)
  5.  диаграмму не следует перегружать текстовой информацией
  6.  каждая диаграмма должна быть самодостаточной для правильной интерпретации всех ее элементов
  7.  количество типов диаграмм для конкретной модели приложения не является строго фиксированным.

Диаграмма вариантов использования. Диаграмма вариантов использования является исходным концептуальным представлением или концептуальной моделью системы в процессе её проектирования и разработки. Суть диаграммы состоит в следующем: проектируемая система представляется в виде множества сущностей и актёров, взаимодействующих с системой с помощью так называемых вариантов использования. Актёр (действующее лицо) - любая сущность, взаимодействующая с системой извне. Каждый вариант использования определяет некоторый набор действий, совершаемый системой при диалоге с действующим лицом.

Диаграмма классов  - разработка логической модели системы. На диаграмме изображаются классы, объекты и отношения между ними.

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

Диаграмма последовательности –диаграмма, на которой показаны взаимодействия объектов, упорядоченные по времени их проявления.

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

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

Диаграмма компонентов и Диаграмма развертывания –представляют собой диаграмму реализации, которая описывает физическое представление системы, позволяет определить архитектуру разрабатываемой системы, установить зависимость  между программными компонентами.

10. Динамически загружаемые библиотеки как средство автоматизации  проектирования приложений.

Физическими компонентами приложения Windows являются:

  1.  исполняемые файлы *.exe    
  2.  динамически подключаемые  библиотеки *.dll

Известно, что исполняемый файл содержит код приложения и описание ресурсов в двоичном виде. Динамически подключаемые библиотеки содержат также данные, коды функций и процедур, ресурсы. Если исполняемый файл загружается автоматически после запуска приложения, то динамически подключаемая библиотека загружается либо после исполнения специальной функции загрузки библиотеки, либо автоматически при вызове функции, находящейся в библиотеке. При этом для вызываемой функции или процедуры  в программе должны быть указаны имя соответствующей библиотеки и  имя (или индекс) библиотечной функции, т.к. имя библиотечной функции  может не совпадать с программным именем. Основное назначение динамически подключаемых библиотек –реализация использования их из нескольких приложений или процессов. Когда библиотека используется несколькими приложениями, то загружается лишь один экземпляр библиотеки тем процессом, который к ней обращается первым. При каждом обращении к библиотеке другим процессом будет увеличиваться на 1 специальный счетчик обращений к библиотеке. При завершении использования процессом библиотеки счетчик уменьшается на единицу, и когда он становится равным 0, библиотека закрывается.

В среде Visual C имеется два режима подключения библиотечных функций:

  1.  динамический режим с использованием библиотеки DLL
  2.  статический режим с использованием стандартной библиотеки *.lib

Рассмотрим процесс создания библиотеки в среде Delphe. Для создания библиотеки необходимо построить проект из одного файла *.dpr, используя команды fill/new/dll/OK 

Создав проект его нужно сохранить и откомпилировать. В результате получается основа DLL, в которую можно добавлять модули, ресурсы, данные. Обязательно наличие в теле проекта вызова специальных процедур, которые обеспечивают инициализацию библиотеки, ее нормальное завершение и т.п. Этот вызов называется точкой входа DLL.

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

Чтобы воспользоваться DLL ее надо отобразить в  адресное пространство процесса явно с помощью функции LoadLibrary, LoadEx. Если явная загрузка библиотеки не используется, тогда библиотека загружается автаматически при исполнении функции библиотеки.  




1. Застосування бульдозерів
2. На тему- Товароведная характеристика изделий из драгоценных металлов
3. Менеджмент читаемой для магистрантов неэкономических специальностей профильного направления подготовк
4. тема........................
5. Экономико-географическая характеристика Ярославской области
6. Recommendtion to stop encourging children to use the phones; Wht pieces of dvice to void risks re given in the text severl vrints void using hedphones
7. Она встала на путь развития как самостоятельная научная дисциплина в XX веке и пока рано ещё говорить о её ус
8. Мослифт специализирующемуся на производстве и изготовлении лифтового оборудования закончил работу послед
9. Статья III устанавливает это право в федеральных уголовных делах; Поправка V предусматривает большие жюри кото
10. тематическом применении террора
11. Проектирование асинхронного двигателя
12. Человеческая индивидуальность наследственность и среда
13. 2 2013 г
14. І Актуальність теми
15. Развитие математики
16. тема Аристотеля Философия эпохи эллинизма стоики скептики киники эпикурейцы
17. Примат верховенство международного договора
18. ЦА Влияние на политическую обстановку на севере Таджикистана весной 1997 года оказывали несколько факторов
19. ТЕОРИЯ АВТОМАТИЧЕСКОГО УПРАВЛЕНИЯ 1
20. Тема 51 Понятие денег и их роль в экономике