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

Часть 2. Введение в технологию программирования.

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

Технология программирования включает:

– указание последовательности выполнения технологических операций;

– перечисление условий, при которых выполняется операция;

– описание самих операций;

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

1. Стихийное программирование (до сер. 60-х годов):

– программирование в 2-х кодах;

– появление ассемблеров;

– появление ЯВУ (Fortran, Algol);

– появление подпрограмм, работающих с глобальными данными);

– локализация данных в подпрограммах;

– стихийное использование подхода «снизу-вверх», сложные интерфейсы функций.

2. Структурное программирование (сер. 60 – сер. 80):

В основе СП лежит декомпозиция сложных систем. Процедурная декомпозиция – разбиение на подпрограммы (несколько десятков операторов).

– проектирование «сверху вниз»;

– использование 3 базовых алгоритмических конструкций (следование, ветвление, цикл);

– структурирование данных, пользовательские типы;

– модульное программирование – выделение группы подпрограмм, использующих одни данные, в отдельно компилируемые модули.

Языки: PL/1, Algol-68, Pascal, C.

3. Объектный подход (сер. 80 – конец 90).

– представление программы в виде совокупности объектов, которые являются экземплярами определённого класса;

– классы образуют иерархию с наследованием свойств;

– система сообщений;

– ООП обеспечивает более естественную декомпозицию ПО, что реализует наиболее полную локализацию данных и позволяет вести независимую разработку классов;

– визуальное программирование.

Примеры языков: Simula, Smalltalk, C++, Modula, Java, Object Pascal.

4. Компонентный подход и CASE-технологии.

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

– компоненты собираются в двоичные библиотеки или исполняемые файлы;

Примеры:

COM (Component Object Model) – определяет общую парадигму взаимодействия программ любых типов, позволяя одному программному обеспечению использовать функции (службы), предоставляемые другой.

Объекты COM функционируют в составе сервера: внутреннего, локального, удалённого.

На его основе построены OLE-Automation и ActiveX.

CORBA (Common Object Request Broker Architecture).

CASE-технологии (Computer-Aided Software/System Engineering) – автоматизированные технологии разработки и сопровождения ПО.

Проблемы разработки сложных программных систем:

1. Сложность формального определения требований к ПС.

2. Отсутствие удовлетворительных средств описания дискретных систем с большим числом состояний при недетерминированной последовательности входных воздействий.

3. Коллективная разработка.

4. Необходимость увеличения степени повторяемости кода.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: