Дайте характеристику каскадному подходу к проектированию ПО. Укажите преимущества и недостатки каскадной модели ЖЦ ПО. Приведите схему реального процесса разработки ПО
Экзаменационные материалы
По дисциплине «Технология разработки ПО»
Дайте определение термина «информационная система». Укажите признаки и особенности функционирования сложной программной системы. Опишите технологию программирования в историческом аспекте.
Информационная система (сокр. ИС) — система, предназначенная для хранения, поиска и обработки информации и соответствующие организационные ресурсы, которые обеспечивают и распространяют информацию.
Сложной системой называется система, которая состоит из большого числа элементов и характеризуется разветвленной структурой.
Признаки сложной системы:
1) Наличие общей задачи.
2) Большое наличие взаимодействующих компонентов.
3) Возможность декомпозиции системы, то есть ее разбиение на взаимодействующие подсистемы, решающие автономные, функциональные задачи.
4) Иерархическая архитектура системы и иерархия критериев качества.
5) Сложность поведения системы, связанная со случайным характером внешних воздействий и большим количеством обратных связей внутри нее.
6) Устойчивость системы по отношению к внешним воздействиям. Наличие самоорганизации и самоадаптации при различных возмущениях.
7) Высокая надежность системы в целом при абсолютной надежности ее компонентов.
Особенности функционирования сложной системы:
1) Работа в режиме реального времени, один из наиболее сложных режимов функционирования программного обеспечения, поскольку от реального времени зависят не только моменты выполнения отдельных задач, но и получаемые результаты. При искажении параметра реального времени может нарушиться временная связь, что может привести к полному отказу системы.
2) Настраиваемость ПО.
3) Строгая последовательность решения задач не может быть заранее определена из-за большого количества функциональных задач, решаемых за небольшой промежуток времени, из-за сложности связей внутри системы и возможности обмена информацией с большим количеством внешних абонентов.
4) Надежность функционирования при искажениях информации, сбоях и частичных отказах аппаратуры. Для обеспечения необходимой степени надежности широко применяются различные методы контроля, параллельные решения задач, работа в многопроцессорном режиме и т.д.
Дайте определение жизненному циклу программного обеспечения (ЖЦ ПО). Укажите состав процессов ЖЦ ПО в соответствии с международным стандартом ISO/IEC 12207:1995. Укажите связи между процессами ЖЦ ПО.
Жизненный цикл программных средств или системы - совокупность процессов, работы задач, включающая в себя разработку, эксплуатацию и сопровождение программного средства или системы и охватывающая их жизнь от формулирования концепции до прекращения использования.
Процессы ЖЦПО:
1. Основные – это процессы, которые реализуются под управлением основных сторон, участвующих в жизненном цикле программных средств. Основными сторонами являются: заказчик, поставщик, разработчик, оператор и персонал сопровождения программных продуктов.
2. Вспомогательные процессы – это процессы, являющиеся целенаправленными составными частями других процессов и предназначенные для обеспечения успешной реализации и качества выполнения программного проекта.
3. Организационные процессы – процессы, предназначенные для создания в некоторой организации и совершенствования организационных структур, охватывающих процессы ЖЦ и соответствующий персонал.
Сформулируйте определения модели и стадии ЖЦ ПО. Опишите стадии анализа, формирования требований к программному обеспечению и проектирования.
Модель ЖЦ – это совокупность процессов, работы задач ЖЦ, отражающая их взаимосвязь и последовательность выполнения.
Стадии каскадной модели:
1. Формирование требований;
2. Проектирование;
3. Реализация;
4. Тестирование;
5. Внедрение;
6. Эксплуатация и сопровождение.
Дайте характеристику каскадному подходу к проектированию ПО. Укажите преимущества и недостатки каскадной модели ЖЦ ПО. Приведите схему реального процесса разработки ПО.
Каскадная модель предусматривает последовательное выполнение всех этапов проекта в строго фиксированном порядке. Переход на следующий этап означает полное завершение работ на предыдущем этапе. Требования, определенные на стадии формирования требований, строго документируются в виде технического задания и фиксируются на все время разработки проекта. Каждая стадия завершается выпуском полного комплекта документации, достаточной для того, чтобы разработка могла быть продолжена другой командой разработчиков.
Преимущества:
· Полная и согласованная документация на каждом этапе;
· Легко определить сроки и затраты на проект.
Недостатки:
В каскадной модели переход от одной фазы проекта к другой предполагает полную корректность результата (выхода) предыдущей фазы. Однако неточность какого-либо требования или некорректная его интерпретация в результате приводит к тому, что приходится «откатываться» к ранней фазе проекта и требуемая переработка не просто выбивает проектную команду из графика, но приводит часто к качественному росту затрат и, не исключено, к прекращению проекта в той форме, в которой он изначально задумывался.