- •Технология программирования
- •Технология программирования
- •Оглавление
- •§1. Классификация и эволюция программного обеспечения
- •§2. Модульное и объектно-ориентированное программирование
- •Основные понятия ооп
- •Составные части объектного подхода
- •Инкапсуляция. Свойства
- •Наследование. Методы
- •Полиморфизм
- •§3. Визуальная среда программирования Структура проекта Delphi
- •Библиотека компонентов Delphi
- •Класс tButton (кнопки)
- •Класс tShape (фигуры)
- •§4. Основные типы данных в языке Паскаль
- •Класс tLabel (надписи)
- •Класс tEdit
- •Класс tMemo
- •Класс tMainMenu
- •Стандартные диалоги
- •Классы tOpenDialog и tSaveDialog
- •Класс tFontDialog
- •Инструкция case
- •§6. Программирование циклических алгоритмов
- •Цикл с параметром. Инструкция for
- •Цикл с предусловием. Инструкция while
- •Цикл с постусловием. Инструкция repeat … until
- •§7. Простейшие вычислительные методы
- •Метод прямоугольников
- •Метод Монте-Карло
- •Метод деления пополам
- •§8. Процедуры и функции
- •§9. Одномерные массивы
- •Класс tListBox
- •Класс tComboBox
- •§10. Двумерные и многомерные массивы
- •Класс tStringGrid
- •Алгоритмы поиска наименьшего и наибольшего элемента
- •§11. Алгоритмы поиска и сортировки. Понятие вычислительной сложности алгоритма
- •Алгоритм простого перебора
- •Алгоритм бинарного поиска
- •Алгоритм сортировки методом «пузырька»
- •Алгоритм сортировки включением
- •Понятие вычислительной сложности алгоритма
- •§12. Обработка исключительных ситуаций
- •§13. Программирование процессов реального времени
- •Класс tTimer
- •§14. Графическая подсистема Delphi Класс tImage
- •Класс tCanvas
- •§15. Динамическое создание компонентов. Конструкторы и деструкторы
- •§16. Тестирование и отладка программ
- •Методы тестирования программ
- •Средства отладки программ в Delphi
- •Трассировка программы
- •Точки останова программы
- •Наблюдение значений переменных
- •§17. Жизненный цикл программного обеспечения
- •Последовательный (каскадный) тип
- •Эволюционный (спиральный) тип
- •Библиографический список
- •Технология программирования
- •Редактор с.В.Пилюгина
- •620034, Екатеринбург, ул. Колмогорова, 66, УрГупс Редакционно-издательский отдел
Последовательный (каскадный) тип
Данный тип ЖЦ предполагает, что каждая следующая стадия может быть начата только после завершения работ на предыдущей стадии. Он применим когда:
требования к продукту четко определены и не меняются со временем;
имеется достаточно большой опыт реализации подобного рода систем;
время реализации проекта составляет от нескольких месяцев до года.
Реализация проекта по данному типу ЖЦ легко планируется и контролируется. Однако для этого необходимо заранее иметь все требования к продукту. Данный тип ЖЦ не приспособлен к изменениям требований к продукту. Разрабатываемый продукт не может использоваться, пока проект не будет близок к завершению. В реальности в последнее время этот тип жизненного цикла в чистом виде практически никогда не применяется.
Эволюционный (спиральный) тип
Функциональные возможности системы в данном случае наращиваются постепенно. В процессе разработки основные стадии ЖЦ (проектирование, реализация, тестирование) проходятся несколько раз применительно к очередной добавляемой порции возможностей системы.
На начальном этапе возникает первая версия продукта или так называемый прототип. Он не содержит большинства функций разрабатываемого продукта, но уже дает пользователю возможность представить себе интерфейс программы. На каждом следующем этапе заказчик анализирует появляющиеся функции и корректирует свои представления о том, что он хочет получить в итоге.
Данный тип ЖЦ не требует заранее наличия всех требований к системе и позволяет заказчику активно участвовать в ее разработке, что является безусловным плюсом. Среди недостатков эволюционного типа можно отметить следующие:
сложность в управлении и контроле выполнения проекта;
сложность оценки затрат на разработку;
риск бесконечного улучшения системы.
Данный тип применим, когда требования к системе плохо определены или будут изменяться, отсутствует достаточный опыт в разработке подобных систем, используются новые технологии и (или) инструментальные средства, в ходе разработки системы необходимо иметь промежуточные версии продукта.
Выбор конкретного типа жизненного цикла зависит от ряда субъективных и объективных причин, сопутствующих проекту:·
наличия четких и подробных требований к ПО;·
ресурсов, имеющихся в наличии для проведения работ по проекту;
наличия и доступности заказчика в процессе разработки;·
новизны используемых при разработке технологий и (или) инструментальных средств.
Обычно решение о выборе конкретного типа жизненного цикла принимается руководителем проекта. Как правило, в реальности применяется смешанный тип жизненного цикла, содержащий элементы последовательного и эволюционного типа.
Подробно о стадиях и процессах жизненного цикла программного обеспечения см. в [2].
Библиографический список
Буч Г. Объектно-ориентированный анализ и проектирование.- М.: «Бином», 2000.
Вендров А.М., Проектирование программного обеспечения экономических информационных систем.- М.: «Финансы и статистика», 2002.
Гладких Б.А. Информатика: Введение в специальность: Учеб. пособие для вузов. - Томск: Изд-во науч.-тех. лит., 2002. - 350 с.
Дарахвелидзе П.Г., Марков Е.П. Delphi – среда визуального программирования. - СПб.:BHV - Санкт-Петербург, 1996. – 352 с.
Тейксейра С., Пачеко К. Delphi 5. Руководство разработчика, т. 1. Основные методы и технологии программирования. М.: «Вильямс», 2001.
www.bspu.secna.ru
www.delphiclub.ru
Ирина Исаковна Данилина
