Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Техн. прогр. - Конспект лекций.doc
Скачиваний:
31
Добавлен:
15.03.2016
Размер:
877.06 Кб
Скачать

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

Жизненный цикл программного продукта.

Жизненный цикл (ЖЦ) – это период от момента появления идеи создания ПО до момента завершения его поддержки.

  1. Постановка задачи (Техническое задание).

  2. Анализ требований и разработка спецификаций (Эскизный проект).

  3. Проектирование (Технический проект).

  4. Реализация (Рабочий проект).

  5. Сопровождение (отсутствует в современном стандарте).

Стандарт ISO/IEC 12207: 1995 “Information Technology – Software Life Cycle Process”. Содержит этапы: подготовительная работа (выбор моделей ЖЦ, методов, средств разработки, составление плана работ); анализ требований к системе; проектирование архитектуры; анализ требований к программному обеспечению; проектирование архитектуры ПО; детальное проектирование ПО; кодирование и тестирование ПО; интеграция ПО; квалификационное тестирование ПО; интеграция системы; квалификационное тестирование системы; установку ПО; приёмку ПО.