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

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. Необходимость увеличения степени повторяемости кода.








Дата добавления: 2015-08-26; просмотров: 780;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.007 сек.