Тема 1: Виды программного обеспечения: системное, прикладное и промежуточное (middleware) программное обеспечение. Тенденции развития



Дата06.10.2022
өлшемі78,77 Kb.
#151998
түріПрограмма

Принципы технологии объектно-ориентированного программирования

Технологии ООП

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

Модульное программирование

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

Нисходящее программирование

  • Нисходящее проектирование программы заключается в том, что разработка идет от общей неформальной формулировки некоторого действия
  • программы на естественном языке, "от общего к частному": к замене ее одной из трех формальных конструкций языка программирования:
    • простой последовательности действий;
    • конструкции выбора или оператора if;
    • конструкции повторения или цикла.

Основные свойства

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

Пошаговое программирование

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

Структурное программирование

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

Домашнее задание

  • Написать достоинства и недостатки каждой из технологий программирования.


Достарыңызбен бөлісу:




©engime.org 2024
әкімшілігінің қараңыз

    Басты бет