- •Ф.Ф. Павлов языки программирования
- •Санкт-Петербург
- •230201 - Информационные системы и технологии
- •Тема 2 посвящена изучению жизненного цикла программы и основным этапам решения задач на эвм.
- •Тема 4 изучает типы пользовательских интерфейсов, классификацию диалогов и основные компоненты графических пользовательских интерфейсов.
- •Тема 8 посвящена структурам данных фиксированного размера (массивы), а также типам данных, определяемых пользователем (структуры, объединения, перечисления).
- •Тема 10 изучает динамические структуры данных: виды и способы реализации списков, динамическое выделение памяти.
- •Тема 12 затрагивает вопросы обработки файлов данных: понятия записи, файла данных и способы доступа, операции и средства обработки файлов, контроль операций обработки файлов.
- •Тема 14 вводит в технологию объектно-ориентированного программирования.
- •Раздел I Принципы программирования на языках высокого уровня
- •Тема 1. Эволюция языков программирования
- •1.1. Неструктурированное, «стихийное» программирование
- •1.2. Процедурное (модульное) программирование
- •1.3. Объектно-ориентированное программирование
- •1.4. Компонентные технологии программирования
- •Тема 2. Жизненный цикл программы и основные
- •2.1. Дружественность, жизненный цикл программы
- •2.2. Постановка задачи и спецификация программы
- •2.3. Проектирование и реализация программы
- •2.4. Способы записи алгоритма
- •2.5. Критерии качества программы
- •3.1. Классификация программных продуктов
- •3.3. Модели программирования в ms-dos и Windows
- •Тема 4. Диалоговые программы
- •4.1. Типы пользовательских интерфейсов
- •4.2. Классификация диалогов и их реализация
- •4.3. Основные компоненты графических
- •Тема 5. Программа на языке высокого уровня
- •5.1. Структура программы и функции
- •5.2. Стандартные типы данных и операции над ними
- •5.3. Адресные типы данных: указатели и ссылки
- •5.4. Стандартные библиотеки языка
- •5.5. Классы памяти
- •Раздел 2 Управляющие структуры и структуры данных
- •Тема 6. Представление управляющих структур
- •6.1. Структура следования
- •6.2. Структуры ветвления
- •6.3. Структуры повторения
- •Int kol, //счетчик введенных оценок
- •Int god; //число лет
- •Тема 7. Адресные типы данных
- •7.1. Указатели
- •7.2. Ссылки
- •Тема 8. Структуры данных фиксированного размера
- •8.1. Массивы
- •8.2. Типы данных, определяемые пользователем
- •Тема 9. Функции (процедуры)
- •9.1. Определение, прототип и вызов функции
- •9.2. Передача параметров
- •9.3. Программирование рекурсивных алгоритмов
- •Тема 10. Динамические структуры данных
- •10.1. Списки: основные виды и способы реализации
- •10.2. Динамическое выделение памяти
- •Раздел 3 Процедурное программирование
- •Тема 11. Ввод/вывод данных
- •11.1. Видеофункции библиотеки conio.H
- •11.2. Функции библиотеки потокового ввода/вывода
- •Тема 12. Обработка файлов данных
- •12.1. Записи и файлы данных
- •12.2. Операции и средства обработки файлов
- •12.3. Контроль операций обработки файлов
- •Тема 13 Технология процедурного программирования
- •13.1. Способы конструирования программ
- •13.2. Проектирование программы: методы декомпозиции и и модульного программирования
- •13.3. Реализация программы: методы структурного
- •Тема 14. Введение в технологию объектно-
- •14.1. Основные понятия объектно-ориентированного
- •14.2. Проектирование программы
- •14.3. Реализация программы
- •Утверждаю
- •Рабочая программа
- •Технология программирования
- •Санкт-Петербург
- •Тема 1. Технология программирования и этапы ее
- •Тема 2. Жизненный цикл программы и основные этапы
Тема 2. Жизненный цикл программы и основные
этапы решения задач на ЭВМ
2.1. Дружественность, жизненный цикл программы
Дружественность – это обеспечение дружественного интерфейса для работы пользователя;
Жизненный цикл программного обеспечения – это совокупность взаимосвязанных процессов создания программного обеспечения от формирования к нему исходных требований до окончания его эксплуатации.
Описание структуры жизненного цикла программного обеспечения и состав его процессов регламентируется международным стандартом ISO/IEC 12207: 1995 “Information Technologe – Software Life Cycle Processes” («Информационные технологии – Процессы жизненного цикла программного обеспечения»). Согласно стандарту процесс разработки программного обеспечения предусматривает 13 действий от подготовительной работы до приемки программного обеспечения.
Можно выделить следующие укрупненные этапы разработки программного обеспечения с учетом соответствующих стадий разработки по ГОСТ 19.102-77:
постановка задачи (стадия «Техническое задание»);
определение спецификаций (стадия «Эскизный проект»);
проектирование (стадия «Технический проект»);
реализация (стадия «Рабочий проект»).
По стандарту возможно также наличие отдельного этапа сопровождения, заключающегося в сопровождении и модификации программного продукта. Это деление на этапы является условным и может изменяться при необходимости. Например, тестирование и отладка может быть частью этапа реализации (или программирования), а может быть отдельным этапом.
Постановка задачи – это процесс формулировки назначения программного обеспечения и основных требований к нему.
Спецификациями называют полное и точное описание функций и ограничений разрабатываемого программного обеспечения.
Проектирование – это процесс разработки структурной схемы программного обеспечения с проектированием компонентов и их взаимосвязей.
Реализация – это процесс программирования компонентов программного обеспечения на выбранном языке программирования, их тестирования и отладки.
Рассмотрим эволюцию моделей жизненного цикла программного обеспечения.
На протяжении последних 30 лет в программировании сменились 3 модели жизненного цикла программного обеспечения:
каскадная модель;
модель с промежуточным контролем;
спиральная модель.
Каскадная модель предполагает переход на следующий этап после завершений всех операций предыдущего этапа. Достоинства модели заключаются в следующем:
получение после этапа законченного набора проектной документации без возврата на предыдущие этапы;
простота планирования процесса разработки программного обеспечения.
Однако, данная модель приемлема только к созданию систем, для которых точно и полно сформулированы все требования. Такие разработки встречаются редко. Необходимость возвратов на предыдущие этапы обусловлена следующими причинами:
неточные спецификации, уточнение которых требует пересмотра предыдущих решений;
изменения требований заказчика;
моральное устаревание технических и программных средств.
Модель с промежуточным контролем поддерживает итерационный характер процесса разработки, т.е. возврат на предыдущие этапы. Опасность модели состоит в том, что разработка программного обеспечения может затянуться.
Спиральная модель основана на том, что программное обеспечение создается не сразу, а итерационно с использованием метода прототипирования. Прототипом называется программный продукт, реализующий внешние интерфейсы и отдельные функции. Например, на первой итерации создается и поставляется пользователю первая версия программного продукта с реализацией внешних интерфейсов и главных функций, на следующих итерациях – следующие версии программного продукта с реализацией дополнительных функций.
Достоинства спиральной модели заключаются в следующем:
программный продукт может поставляться пользователю с первой версии;
сокращение времени появления первых версий программного продукта;
быстрое продвижение следующих версий продукта на рынке;
ускорение уточнений спецификаций за счет появления практики использования продукта;
уменьшение вероятности морального устаревания системы за время разработки.