- •Дисциплина «Технология разработки программных продуктов» Теория
- •1 Классификация программных продуктов по сфере использования: системное программное обеспечение, инструментарий технологий программирования, пакеты прикладных программ.
- •Инструменты разработки программных средств
- •2 Понятие жизненного цикла программы. Основные этапы жизненного цикла программы
- •3 Понятие модели жизненного цикла разработки программного продукта. Обзор существующих основных моделей
- •Каскадная модель
- •Модель прототипирования
- •Модель быстрой разработки приложений (rad-модель)
- •Многопроходная модель
- •Спиральная модель
- •4 Структурное программирование. Основные управляющие конструкции структурного программирования
- •5 Методы структурного программирования. Достоинства и недостатки структурного программирования
- •6 Сущность метода объектно-ориентированного программирования. Основные этапы объектно-ориентированного программирования. Основные принципы объектно-ориентированного программирования
- •Этапы разработки программных продуктов с использованием ооп
- •7 Классификация систем, поддерживающих диалоговые процессы. Интерфейс пользователя программного продукта. Требования, предъявляемые к стандартному графическому интерфейсу пользователя
- •8 Классификация ошибок программного обеспечения
- •9 Отладка программ. Методы и виды отладки программ. Различие между тестированием и отладкой программ.
- •Автономная отладка модуля
- •Комплексная отладка
- •10 Виды тестирования
- •11 Тестирование программ. Разработка тестов. Характеристики хорошего теста. Как узнать, прошла ли программа тест
- •12 Методы тестирования программных продуктов: «стеклянный ящик», «черный ящик»
- •13 Тестирование программных продуктов. Классы эквивалентности. Условия принадлежности тестов к классу эквивалентности. Поиск классов эквивалентности
- •Категории специалистов, занятых разработкой и эксплуатацией программ
- •Технологии коллективной разработки
- •Коллективная разработка
- •Стоимость программных средств. Факторы, влияющие на стоимость программных средств
- •Факторы, влияющие на стоимость программных средств
- •Факторы, связанные с разработкой
- •Факторы, связанные с организацией разработки
- •Факторы, определяемые окружающей средой
- •17 Отладочные возможности среды программирования Delphi
- •Условная точка останова
- •Изменение характеристик точки останова
- •Удаление точки останова
- •Пошаговое выполнение программы
- •Использование окна Watch
- •Использование команд Evaluate и Modify
- •18 Защита программного обеспечения
- •Практика
6 Сущность метода объектно-ориентированного программирования. Основные этапы объектно-ориентированного программирования. Основные принципы объектно-ориентированного программирования
ООП –это методика разработки программ, в основе которой лежит понятие объект. Каждый объект имеет набор свойств. Например, цвет. Свойства объекта можно изменять. Совокупность объектов с определенными свойствами образует класс объектов. Каждый класс имеет свои методы, которые определяют поведение объектов этого класса. Методами являются функции и процедуры. Процедура представляет собой обработчик некоторого события, например щелчка указателем мыши по кнопке. Функция также приставляет собой обработчик события, но в отличие от процедуры, при этом возвращается некоторое, вычисленное значение. Объект имеет определенный набор событий. Событие указывает на метод, используемый при наступлении этого события.
ООП основано на трех важнейших принципах (инкапсуляция, наследование, полиморфизм), придающих объектам новые свойства.
Инкапсуляция (сокрытие реализации)- это механизм, который объединяет свойства и методы, и защищает и то и другое от внешнего вмешательства или неправильного использования.
Инкапсуляция позволяет создавать объекты, обладающие требуемыми методами и далее оперировать ими, не вдаваясь в устройство этих объектов.
Наследование - свойство объектов порождать своих потомков. Объект-потомок автоматически наследует все поля и методы, может дополнять объекты новыми полями, заменять и дополнять методы.
Полиморфизм - свойство родственных объектов решать схожие по смыслу проблемы разными способами (данное свойство позволяет использовать один и тот же интерфейс для общего класса действий). Это выполнение методом с одним и тем же именем различных действий в зависимости от контекста, т.е. это свойство, позволяет одно и тоже имя использовать для решения двух и более задая технически разных.
Объектно-ориентированное программирование - это методология программирования, основанная на представлении программы в виде совокупности объектов, каждый из которых является экземпляром определенного класса, а классы образуют иерархию наследования.
В данном определении можно выделить три части:
ООП использует в качестве базовых элементов объекты, а не алгоритмы;
каждый объект является экземпляром какого-либо определенного класса;
классы организованы иерархически (упорядочены).
Объект определяется как осязаемая реальность, т.е. предмет или явление, имеющее четко определяемое поведение. Объект – это понятие, сочетающее в себе совокупность данных и действий над ними. Свойства – это характеристики состояния объекта, а действия над данными объектами называются методами. Состояние объекта характеризуется перечнем всех возможных (статистических) свойств данного объекта и текущими (динамическими) значениями каждого из этих свойств.
Объекты, близкие по своей структуре и поведению (как один объект воздействует на другие или наоборот при условии, что состояние объектов может меняться и между ними предаются сообщения) составляют общий для них класс. Термины экземпляр класса и объект являются взаимозаменяемыми. Синонимом понятия класс является понятие тип.
Использование библиотек классов повышает скорость разработки программ, но, с другой стороны, требует определенных усилий для изучения этих библиотек и понимания того, как они устроены. Кроме того, библиотека классов должна быть написана на том же языке программирования, что и разрабатываемая программа.
Подобные неудобства привели к появлению концепции компонента - программного модуля или объекта, который готов для использования в качестве составного блока программы и которым можно визуально манипулировать во время разработки программы.
Компонент - это объект, объединяющий состояние и интерфейс (способ взаимодействия). Состояние компонента может быть изменено только с помощью изменения его свойств и вызова методов.
У компонента имеются два типа интерфейсов: интерфейс стадии проектирования и интерфейс стадии выполнения.
Интерфейс проектирования позволяет включать компоненты в современные среды разработки приложений.
Интерфейс выполнения управляет работой компонента во время выполнения программы.
Компоненты графического интерфейса, управляемые событиями, являются основным «строительным» материалом при разработке приложений средствами графических редакторов.
Разработка любого приложения состоит из двух взаимосвязанных этапов:
проектирование и создание функционального интерфейса приложения (т.е. набора визуальных компонентов, которые будут обеспечивать взаимодействие пользователя и вычислительной среды);
программирование процедур обработки событий, возникающих при работе пользователя с приложением.
На первом этапе создаётся общий вид главного окна при выполнении приложения и формируются способы управления работой приложения. Значит для каждого компонента необходимо определить его внешний вид, размеры, способ и место размещения в области окна приложения (т.е. реализовать интерфейс разработки и интерфейс выполнения).
Второй этап - непосредственное программирование процедур обработки событий, исходящих от компонентов. Основная задача при разработке таких процедур - запрограммировать реакцию на все возможные изменения состояний объектов.