![]() Главная страница Случайная страница КАТЕГОРИИ: АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
Этапы развития программирования.
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. Необходимость увеличения степени повторяемости кода.
|