- •1.Понятие жизненного цикла программного обеспечения (по). Этапы разработки по.
- •Сравнение стратегий конструирования по.
- •4. Спиральная модель жизненного цикла разработки программного обеспечения б. Боэма.
- •5.Основные приемы экстремального программирования (xp).
- •1.Короткий цикл обратной связи:
- •7. Структура оконного приложения в среде Delphi.
- •8.Модули. Структура модуля. Использование модулей в приложении
- •9.Основные типы данных языка Delphi
- •10. Структурированные типы данных. Записи. Обращение к полям записей. Оператор with. Тип "запись" (record)
- •11. Структурированные типы данных. Записи. Вариантная часть записей.
- •Описание и использование подпрограмм в языке Паскаль. Формальные и фактические параметры. Параметры-значения и параметры-переменные.
- •Описание и вызов процедур и функций
- •13. Библиотека визуальных компонентов Delphi. Назначение vcl
- •Структура vcl
- •14. Основные события Delphi. Методы обработки событий.
- •15. Объектно-ориентированный подход при разработке программы. Основные принципы объектно-ориентированного программирования.
- •16. Определение класса и объекта.
- •Примеры Классов: Класс фигур:
- •17. Атрибуты доступа к элементам класса.
- •Пример: пример “атрибуты доступа” (лекция №__)
- •Структура проекта
- •Описание классов
- •Модуль Unit1
- •Модуль Unit2
- •18. Методы как составляющие элементы класса. Конструкторы и деструкторы.
- •Пример: пример № 1. “точка на прямой”
- •19. Методы как составляющие элементы класса. Модификаторы и селекторы пример № 3. Класс “товар”
- •20. Принцип инкапсуляции. (Забавная статья, но вроде понятно)
- •21. Принцип наследования.
- •Типы наследования
- •Простое наследование
- •Множественное наследование
- •Реализация наследования на примере языка Delphi.
- •Create; begin Inherited; // Всегда вызывается в начале конструктора ... End; Иерархия стандартных классов Delphi
- •Совместимость типов для классов в иерархии наследования. Преобразование и приведение типов.
- •Совместимость объектов различных классов
- •Контроль и преобразование типов
- •Обработка исключительных ситуаций. Стандартные классы исключений на примере языка Delphi.
- •Блок try … except
- •Блок try … finally
- •Описание и обработка пользовательских исключений на примере языка Delphi.
1.Понятие жизненного цикла программного обеспечения (по). Этапы разработки по.
Определение. Жизненный цикл программного обеспечения (ПО) — период времени, который начинается с момента принятия решения о необходимости создания программного продукта и заканчивается в момент его полного изъятия из эксплуатации.
Этапы ЖЦ разработки ПО: исполнители, задачи, решаемые на отдельных этапах, результаты.
Этап 1. Технико-экономическое обоснование разработки(бизнес план).
Исполнители: заказчик, руководитель проекта
Решаемые задачи: опрос сотрудников организации с целью анализа и формулирования требований к системе.
Уточняются постановка задачи, требования и допущения к программной системе, исходные данные и полученные результаты.
Этап 2. Анализ предметной области.
Исполнители:
1.Заказчик: специалисты предметной области.
2.Разработчик: руководитель проекта, системные аналитики.
Решаемые задачи: Планирование и оценка проекта
Определяются основные сущности предметной области, методы решения задач, основные элементы интерфейса программы, согласовывается терминология, происходит подготовка к документированию системы.
Этап 3. Проектирование.
Исполнители: Руководитель проекта, проектировщики ПО, опытные программисты.
Решаемые задачи:
1.создание спецификаций модулей, подпрограмм и структур данных /прототипа.
2.распределение заданий между исполнителями.
Прототип это модель программной системы, реализующая часть ее функций.
При структурном(функционально-ориентированным) подходе:
Проектируется структура системы, основные структуры данных, алгоритмы решения задач, интерфейсы компонентов.
При объектно-ориентированном подходе:
Проектируются классы на текущем уровне абстракции, их структура и интерфейсные части, отношения между классами, намечаются элементы реализации методов.
Использование CASE-средств: средства автоматизированной разработки приложений.
Этап может повторяться при создании очередного прототипа разработки. Переход к следующему прототипу-эволюция системы.
Этап 4. Программирование.
Исполнители: программисты
Решаемые задачи:
Разработка алгоритмов подпрограмм(методов) и их запись на псевдокоде.
Кодирование.
Результат этапа – созданные тексты на псевдокоде и полученные исходные тексты программ.
Этап 5. Тестирование и отладка.
Исполнители: программисты, руководители проекта, специальные организации.
Решаемые задачи:
Выявление дефектов в функциях, логике и форме реализации программного продукта.
Устранение выявленных ошибок.
Результат этапа-сведения об ошибках, использованных тестовых наборах.
Этап 6. Эксплуатация и сопровождение.
Эксплуатация – использование ПО для реализации тех функций, для которых оно было разработано.
Сопровождение – комплекс мероприятий, обеспечивающих правильное функционирование ПО.
2.Стратегии конструирования программного обеспечения.(3,4,подробнее о каскадной и спиральной).
Стратегия-план деятельности, способствующий достижению сложной цели.
1.Водопадная(каскадная)стратегия-линейная последовательность этапов конструирования.
Подходит при построении ПО, для которого в начале разработки можно сформулировать все требования (сложные расчетные системы, системы реального времени и т. п.).
1)Этапы разработки выполняются последовательно, переход к следующему этапу – после завершения предыдущего.
2)Каждый этап завершается выпуском полного комплекта документации, достаточной, чтобы разработка могла быть продолжена другой командой разработчиков.
2.Спиральная модель — классический пример применения эволюционной стратегии конструирования. Спиральная модель (автор Барри Боэм, 1988) базируется на лучших свойствах классического жизненного цикла и макетирования, к которым добавляется новый элемент — анализ риска, отсутствующий в других парадигмах.
3.Инкрементная стратегия - (англ. increment – увеличение, приращение) подразумевает разработку информационной системы с линейной последовательностью стадий, но в несколько инкрементов (версий), т. е. с запланированным улучшением продукта
В начале работы над проектом определяются все основные требования к системе, после чего выполняется ее разработка в виде последовательности версий. При этом каждая версия является законченным и работоспособным продуктом. Первая версия реализует часть запланированных возможностей, следующая версия реализует дополнительные возможности и т. д., пока не будет получена полная система.
Данная модель жизненного цикла характерна при разработке сложных и комплексных систем, для которых имеется четкое видение (как со стороны заказчика, так и со стороны разработчика) того, что собой должен представлять конечный результат (информационная система). Разработка версиями ведется в силу разного рода причин:
· отсутствия у заказчика возможности сразу профинансировать весь дорогостоящий проект;
· отсутствия у разработчика необходимых ресурсов для реализации сложного проекта в сжатые сроки;
· требований поэтапного внедрения и освоения продукта конечными пользователями. Внедрение всей системы сразу может вызвать у ее пользователей неприятие и только «затормозить» процесс перехода на новые технологии. Образно говоря, они могут просто «не переварить большой кусок, поэтому его надо измельчить и давать по частям».
Достоинства:1)возможность планирования сроков завершения работ и соответствующих затрат;2)на каждом этапе – законченный набор полной и согласованной проектной документации.; 3)заказчик может раньше увидеть результаты. Уже по результатам разработки и внедрения первой версии он может незначительно изменить требования к разработке, отказаться от нее или предложить разработку более совершенного продукта с заключением нового договора.
Недостатки:1)отклонение от жесткой последовательности шагов в реальных проектах. Часто - возврат к предыдущим этапам и уточнение или пересмотр ранее принятых решений.;2)Все исходные требования должны быть четко сформулированы в начале проекта. Требования к ИС «заморожены» в виде технического задания на все время ее создания. Пользователи могут внести свои замечания только после того,как работа над системой будет полностью завершена.;3)Результаты доступны только лишь в конце каждого из этапов работы. Согласование результатов с пользователями производится только в точках, планируемых после их завершения.