3. Жизненный цикл программных средств. Базовые этапы моделей жц: назначение и характеристика.
Жизненный цикл (ЖЦ) программных систем (ПС) отражает весь процесс их созда-ния и применения. Этот процесс состоит из нескольких взаимосвязанных этапов, выпол-няющихся в определенной последовательности и обеспечивающих ведение разработки ПС на всех стадиях - от подготовки технического задания до завершения.
Модели жизненного цикла ПС несколько отличаются терминологией и графиче-ским представлением этапов и их взаимодействия. Практически во всех моделях отражен ряд базовых этапов:
Первый этап – системный анализ и первоначальная разработка общих требо-ваний к ПС
Устанавливает общие требования к ПС - по надежности, технологичности, пра-вильности, универсальности, эффективности, информационной согласованности и т.д.
Итог выполнения этого этапа - эксплуатационные и функциональные специ-фикации, содержащие конкретное описание ПС. Разработка спецификаций требует тща-тельной работы системных аналитиков, постоянно контактирующих с заказчиками, кото-рые в большинстве случаев не способны сформулировать четкие и реальные требования.
Эксплуатационные спецификации содержат сведения о быстродействии ПС, за-тратах памяти, требуемых технических средствах, надежности и т.д.
Функциональные спецификации определяют функции, которые должно выпол-нять ПС, то есть в них определяется, что надо делать системе, а не то, как это делать.
Спецификации должны быть полными, точными и ясными. Полнота исключает не-обходимость получения разработчиками ПС в процессе их работы от заказчиков иных сведений, кроме тех, которые содержатся в спецификациях. Точность не позволяет раз-личных толкований. Ясность подразумевает легкость понимания как заказчиком, так и разработчиком при однозначном толковании.
Значение спецификаций:
1)спецификации являются заданием на разработку ПС и их выполнение - закон для разработчика;
2)спецификации используются для проверки готовности ПС;
3)спецификации являются неотъемлемой частью программной документации, об-легчают сопровождение и модификацию ПС.
Второй этап – структурное проектирование, разработка спецификаций пред-варительного проекта ПС
1)создается представление архитектуры ПС;
2)устанавливается состав и структура модулей;
3)разрабатываются алгоритмы, задаваемые спецификациями;
4)выбирается структура информационных массивов;
5)фиксируются межмодульные интерфейсы, входные и выходные формы данных.
Цель этапа - декомпозиция сложных задач создания ПС на подзадачи меньшей сложности. Результатом работы на этом этапе являются спецификации на отдельные модули, дальнейшая декомпозиция которых нецелесообразна.
Третий этап – разработка программных компонентов и их комплексирование - программирование (кодирование)
Программирование модулей. Этап менее сложен по сравнению со всеми остальны-ми. Проектные решения, полученные на предыдущей стадии, реализуются в виде про-грамм. Разрабатываются отдельные блоки и подключаются к создаваемой системе. Одна из задач - обоснованный выбор языков программирования. На этой же стадии решаются все вопросы, связанные с особенностями типа ЭВМ.
Четвертый этап - комплексная отладка ПС, испытание и сертификация
Проверка выполнения всех требований, всех структурных элементов системы на таком количестве всевозможных комбинаций данных, какое позволяют здравый смысл и бюджет. Этап предполагает выявление в программах ошибок, проверку работоспособно-сти ПО, а также его соответствие спецификациям (понятия тест, тестовое покрытие, методы тестирования).
Пятый этап - сопровождение, модернизация и развитие версий прикладных ПС, то есть процесс исправления ошибок, координации всех элементов системы в соот-ветствии с требованиями пользователя, внесения всех необходимых ему исправлений и изменений. Он вызван, как минимум, двумя причинами: во-первых, в ПС остаются ошиб-ки, не выявленные при отладке; во-вторых, пользователи в ходе эксплуатации ПС настаи-вают на внесении в него изменений и его дальнейшем совершенствовании.
Сопровождение ПС предполагает повторное применение каждого из предшест-вующих этапов ЖЦ к существующей программе, но не разработку новой программы.
Шестой этап - документирование разработки и результирующих продуктов прикладных ПС.
Повышение эффективности разработки ПС в целом достигается за счет:
• регламентации порядка проведения работ,
• автоматизации этапов и операций поддержки жизненного цикла
• разделения труда между специалистами разной квалификации
• проблемной ориентации применяемой технологии.
- 1. Определение понятий «программа», «программное средство», «программный продукт». Виды и краткое содержание программных документов (по еспд).
- 2. Связь программных документов с этапами жизненного цикла по.
- 3. Жизненный цикл программных средств. Базовые этапы моделей жц: назначение и характеристика.
- 4. Стратегии конструирования программных средств с точки зрения моделей жц. Характеристика стратегий, достоинства и недостатки.
- 6. Назначение, архитектура, классификация case-средств.
- 7. Определение и содержание процесса тестирования. Информационные потоки процесса тестирования.
- 8. Основные стратегии тестирования, их характеристики, достоинства и недостатки. Основные типы ошибок, выявляемых каждой из стратегий.
- 9. Потоковый граф и цикломатическая сложность программы. Примеры.
- 10. Способ тестирования базового пути.
- 11. Способ тестирования условий.
- 12. Способ тестирования потоков данных.
- 13. Функциональное тестирование. Способ разбиения по эквивалентности и анализа граничных значений.
- 14. Способ диаграмм причин-следствий.
- 15. Основные характеристики качества и надежности программных средств.
- 16. Понятия функциональной пригодности, корректности и надежности программных средств.
- 17. Функция надежности и функция отказа: определение, основные свойства.
- 18. Дискретные модели надежности по. Модель Муса.
- 19. Дискретные модели надежности по. Модель Шумана.
- 20. Статические модели надежности по (простая интуитивная модель, модель Нельсона, модель Миллса).
- 21. Эмпирические модели надежности по. Определение оптимальной продолжительности тестирования.
- 22. Понятие пользовательского интерфейса. Основные принципы разработки пользовательского интерфейса.
- 23. Оконные интерфейсы. Типы окон. Основные операции с окнами.
- 24. Типы диалога пользовательского интерфейса.
- 25. Типы элементов управления оконных интерфейсов.
- 26. Назначение элемента управления «меню». Стандартные разновидности меню.
- 27. Назначение элемента управления «кнопка». Стандартные разновидности кнопок.
- 28. Назначение элемента управления «список». Стандартные разновидности списков.
- 29. Назначение элемента управления «текстовая область». Стандартные разновидности текстовых областей.
- 30. Правовые методы защиты программных продуктов и баз данных.
- 31. Понятие компонента. Функциональные группы компонентов.
- 32. Открытый интерфейс доступа к базам данных (odbc).
- 33. Архитектуры сервера баз данных совместной обработки клиентских запросов.
- 34. Доступ к базам данных в двухзвенных моделях «клиент-сервер».
- 35. Основные требования к распределенной обработке данных.
- 36. Функции «типового» приложения обработки данных.
- 37. Базовые архитектуры распределенной обработки данных.
- Архитектура сервера баз данных
- Архитектура «один к одному»
- Многопотоковая односерверная архитектура
- 38. Источник данных. Архитектура приложения, работающего с внешними источниками данных.
- 39. Последовательность действий для обеспечения работы с объектом источника данных.
- 40. Форматы представления слабоструктурированных данных. Основные понятия стандарта iso 2709.
- 41. Форматы представления слабоструктурированных данных. Основные понятия коммуникативного формата мекоф.
- 42. Языки определения слабоструктурированных данных. Основные понятия xml.
- 43. Инфраструктура описания ресурсов (rdf).
- 44. Структура процессов в абстрактной аипс.
- 45. Фактографические и документальные бд.
- 46. Классификации. Типология классификаций на основе отношений, возможных между классами и атрибутами.
- 47. Библиотечно-библиографические классификации.
- 48. Патентные классификации.
- 49. Классификации наук.
- 50. Онтология как средство формализованного представления информации.
- 51. Методы выделения информативных терминов.
- 52. Методы классификации и кластеризации текстовой информации.