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