- •Вопросы трпп экз
- •1Основные понятия и определения программных продуктов.
- •2Классификация программных продуктов.
- •3Особенности создания программного продукта.
- •4Понятие и основные модели жизненного цикла программного продукта. Понятие модели жизненного цикла разработки программного продукта.
- •1.3.4. Обзор существующих моделей Модели жизненного цикла разработки программного продукта
- •5Процессы жизненного цикла программного продукта.
- •6Каскадная модель жизненного цикла программного продукта. Ее достоинство и недостатки. Каскадная модель жизненного цикла разработки по
- •7. Модель быстрой разработки приложений (rao-модель), область применения, достоинства и недостатки.
- •8Спиральная модель жизненного цикла программного продукта, ее достоинства и недостатки. Спиральная модель жизненного цикла разработки по
- •9Модель зрелости компании cmm.
- •10. Система стандартов iso 9001.
- •11Роль метрик в процессе разработки программного продукта
- •12Размерно-ориентированные метрики
- •13Функционально-ориентированные метрики
- •14Планирование работ по созданию программного продукта
- •Другие задачи проектирования
- •Составление временного графика выполнения пп
- •15Основные принципы структурного подхода к программированию
- •16Основные принципы объектно-ориентированного проектирования программных продуктов.
- •17Этап разработки программного продукта. Модульное тестирование.
- •1.1. Основные этапы технологического процесса разработки программ.
- •18Модульное программирование. Сущность. Основные характеристики.
- •19 Разработка справочной системы программного продукта.
- •20. Разработка дистрибутивов и управление версиями программного продукта. Разработка дистрибутивов и управление версиями программного продукта
- •Управление созданием версий и поставками пп.
- •Идентификация версий.
- •Собираемые метрики, используемые методы, стандарты и шаблоны
- •21Общая характеристика этапа тестирования программного продукта. Цикл тестирования.
- •Модульное тестирование
- •22Программные ошибки. Категории программных ошибок.
- •23Методы борьбы с ошибками по.
- •24Основные принципы разработки тестов для программных продуктов
- •25Сопровождение программных продуктов.
- •26Управление поставками программных продуктов. Общие сведения об управлении поставками
- •Классификация поставляемых программных продуктов
- •Классификация доставляемых программных продуктов
- •Действия, выполняемые при поставке программного продукта
- •27Основные понятия о надежности программного продукта и методах ее обеспечения.
- •28Инструментальные средства разработки программных продуктов.
- •29Защита программных продуктов от несанкционированного использования.
- •30Правовые методы защиты пп.
- •31Криптографические методы защиты информации.
- •32Аппаратная защита программного обеспечения.
- •1. Драйвер ключа.
- •2. Встраиваемый модуль.
- •3. Реализация.
- •34Принципы, виды и методы отладки программных продуктов.
- •Комплексная отладка программного средства.
- •Программные ошибки. Категории программных ошибок
- •Наиболее распространенные категории программных ошибок:
- •35Эффективность и оптимизация программ.
- •Обеспечение качества программного продукта
- •36Коллективная разработка программных средств.
- •Ролевой состав коллектива разработчиков, взаимодействие между ролями в различных технологических процессах
Составление временного графика выполнения пп
Для составления временного графика выполнения проекта необходимо проанализировать и обобщить полученные ранее оценки объемов и ресурсов, запланированные объемы работ, инструментальные ресурсы и распределить персонал по фазам жизненного цикла. Такое распределение производится на основе имеющегося исторического опыта подобного планирования.
Структурирование желательно заканчивать построением структурной диаграммы, отражающей общую концепцию дальнейшего проектирования ПП.
15Основные принципы структурного подхода к программированию
Появление первых ЭВМ ознаменовало новый этап в развитии техники вычислений. Возникла идея, что достаточно разработать последовательность элементарных действий, каждое из которых преобразовать в понятные ЭВМ инструкции, и любая вычислительная задача может быть решена. Этот подход оказался настолько жизнеспособным, что долгое время доминировал над всеми другими в процессе разработки программ. Появились специальные языки программирования, которые позволили преобразовывать отдельные вычислительные операции в соответствующий программный код.
Основой данной методологии разработки программ стала процедурная или алгоритмическая организация структуры программного кода. Это было настолько естественно для решения вычислительных задач, что ни у кого не вызывала сомнений целесообразность такого подхода. Исходным в этой методологии являлось понятие «алгоритм», под которым в общем случае подразумевается некоторое предписание выполнить точно определенную последовательность действий, направленных на достижение заданной цели или решение поставленной задачи.
С этой точки зрения вся история математики тесно связана с разработкой тех или иных алгоритмов решения актуальных для своей эпохи задач. Само понятие «алгоритм» стало предметом соответствующей теории — теории алгоритмов, которая занимается изучением их общих свойств.
Однако потребности практики не всегда требовали установления вычислимости конкретных функций или разрешимости отдельных задач. В языках программирования возникло и закрепилось новое понятие — «процедура», которое конкретизировало общее понятие «алгоритм» применительно к решению задач на компьютерах. Так же, как и алгоритм, процедура представляет собой законченную последовательность действий или операций, направленных на решение отдельной задачи. В языках программирования появилась специальная синтаксическая конструкция, которая получила название «процедура».
Со временем разработка больших программ превратилась в серьезную проблему и потребовала их разбиения на более мелкие фрагменты. Основой для такого разбиения и стала процедурная декомпозиция, при которой отдельные части программы, или модули, представляли собой совокупность процедур для решения некоторой совокупности задач.
Главная особенность процедурного программирования заключается в том, что программа всегда имеет начало во времени, или начальную процедуру (начальный блок), и окончание (конечный блок). При этом вся программа может быть представлена визуально в виде направленной последовательности графических примитивов, или блоков
Важным свойством таких программ является необходимость завершения всех действий предшествующей процедуры для начала действий последующей процедуры. Изменение порядка выполнения этих действий даже в пределах одной процедуры потребовало включения в языки программирования специальных условных операторов типа if-then-else и go to для реализации ветвления вычислительного процесса в зависимости от промежуточных результатов решения задачи.
Появление и интенсивное использование условных операторов и оператора безусловного перехода стало предметом острых дискуссий среди специалистов по программированию. Дело в том, что бесконтрольное применение в программе оператора безусловного перехода go to способно серьезно осложнить понимание кода. Соответствующие программы стали сравнивать со спагетти, называя их bowl of spaghetti, имея в виду многочисленные переходы от одного фрагмента программы к другому или, что еще хуже, возврат от конечных операторов программы к ее начальным операторам.
Ситуация казалась настолько драматичной, что в литературе зазвучали призывы исключить оператор go to из языков программирования. Именно с этого времени принято считать хорошим стилем программирование без оператора go to.
Рассмотренные идеи способствовали становлению некоторой системы взглядов на процесс разработки программ и написания программных кодов, которая получила название методология структурного программирования. Основой данной методологии является процедурная декомпозиция программной системы и организация отдельных модулей в виде совокупности выполняемых процедур. В рамках данной методологии получило развитие нисходящее проектирование программ, или программирование «сверху вниз». Период наибольшей популярности идей структурного программирования приходится на конец 1970-х — начало 1980-х годов.
В качестве вспомогательного средства структуризации программного кода было рекомендовано использование отступов в начале каждой строки, которые должны выделять вложенные циклы и условные операторы. Все это призвано способствовать пониманию или читабельности самой программы. Данное правило со временем было реализовано в современных инструментариях разработки программ.
