
- •Содержание
- •Введение
- •Раздел 1 общие положения о стандартах Тема 1 Основные понятия
- •Нормативные документы по стандартизации и виды стандартов
- •1.2 Схема классификации стандартов в области информационных технологий
- •1.3 Стандарты в области программного обеспечения
- •1.4 Стандарты комплекса гост 34 на создание и развитие автоматизированных систем
- •1.5 Сертификация
- •Тема 2 Организации, разрабатывающие стандарты
- •2.2 Международные организации, разрабатывающие стандарты
- •2.3 Закрепление интеллектуальной собственности в Республике Беларусь
- •2.4 Внутрифирменные (внутрикорпоративные) стандарты
- •Раздел 2 жизненный цикл программного обеспечения Тема 3 Систематизация процессов жизненного цикла
- •3.1 Жизненный цикл программного обеспечения и его стандартизация
- •3.2 Систематизация процессов жизненного цикла программного средства
- •3.3 Основные процессы жизненного цикла программного средства
- •3.4 Вспомогательные и организационные процессы жизненного цикла программного средства
- •Тема 4 Основные модели жизненного цикла
- •4.1 Классический жизненный цикл программных средств
- •4.2 Макетирование
- •4.3 Стратегии конструирования программных средств
- •4.4 Спиральная модель жизненного цикла программных средств
- •4.5 Компонентно–ориентированная модель
- •Раздел 3 стандарты документирования программных средств Тема 5 Общая характеристика проблем и задач документирования программного обеспечения
- •5.1 Проблемы и задачи создания программной документации
- •5.2 Общая характеристика состояния в области документирования программных средств
- •5.3 Основные недостатки еспд
- •Тема 6 Единая система программной документации
- •6.1 Общая характеристика Единой системы программной документации
- •6.2 Виды программ и программных документов (гост 19.101–77 еспд)
- •6.3 Стадии разработки (гост 19.102–77 еспд)
- •6.4. Краткая характеристика некоторых госТов по программной документации
- •Раздел 4 надежность и качество программного обеспечения Тема 7 Основные понятия и показатели надежности программного обеспечения
- •7.1 Проблема обеспечения надежности сложных информационных систем
- •7.2 Пути обеспечения надежности сложных информационных систем
- •7.3 Особенности применения основных понятий теории надежности сложных систем к жизненному циклу и оценке качества программного обеспечения
- •7.4 Показатели качества и надежности программных средств
- •Тема 8 Дестабилизирующие факторы и методы обеспечения надежности функционирования программных средств
- •8.1 Модель факторов, определяющих надежность программных средств
- •8.2 Методы обеспечения надежности программных средств
- •8.3 Систематизация принципов и методов обеспечения надежности в соответствии с их целью
- •8.4 Обработка сбоев аппаратуры
- •Тема 9 Модели надежности программного обеспечения
- •9.1 Классификация моделей надежности программного обеспечения
- •9.2 Аналитические модели надежности
- •9.3 Эмпирические модели надежности
- •9.4 Сертификация комплексов программ
- •Тема 10 Обеспечение качества и надежности в процессе разработки сложных программных средств
- •10.1 Концепции повышения надежности в процессе разработки сложных программных средств
- •10.2 Схема проектирования разработки программного обеспечения
- •10.3 Требования к технологии и средствам автоматизации разработки сложных программных средств
- •10.4 Качество программного обеспечения
- •Раздел 5 тестирование программного обеспечения Тема 11 Основные понятия
- •11.1 Проблематика тестирования программного обеспечения
- •11.2 Основные определения
- •11.3 Экономика тестирования
- •11.4 Аксиомы (принципы) тестирования
- •Тема 12 Тестирование надежности программного обеспечения
- •12.1 Философия тестирования
- •12.2 Тестирование модулей
- •12.3 Комплексное тестирование
- •12.4 Организация и этапы тестирования при испытаниях надежности сложных программных средств
- •Тема 13 Тестирование программного обеспечения
- •13.1 Тестирование программного обеспечения
- •13.2 Место и цель этапа тестирования программного обеспечения
- •13.3 Виды тестирования
- •13.4 Передовые технологии в тестировании (автоматизация тестирования)
- •Тема 14 Виды тестирования программного обеспечения
- •14.1 Функциональные виды тестирования
- •14.2 Нефункциональные виды тестирования. Тестирование производительности
- •14.3 Связанные с изменениями виды тестирования
- •14.4 Тестирование удобства пользования
- •14.5 Тестирование на отказ и восстановление
- •14.6 Конфигурационное тестирование
- •Раздел 6 case – инструментарий автоматизации анализа, проектирования и разработки программного обеспечения Тема 15 Классификация case – инструментария
- •15.1 Классификация по типам
- •15.2 Классификация по категориям
- •15.3 Классификация по уровням
- •15.4 Эволюция case – инструментария
- •Тема 16 Концептуальные основы case – технологий
- •16.2 Состав и структура и функциональные особенности case–инструментария
- •16.3 Поддержка графических моделей
- •16.4 Поддержка процесса проектирования и разработки
- •Литература
- •246019, Г. Гомель, ул. Советская, 104.
4.5 Компонентно–ориентированная модель
Компонентно–ориентированная модель является развитием спиральной модели (рис.4.5б)) и тоже основывается на эволюционной стратегии конструирования. В этой модели конкретизируется содержание квадранта конструирования – оно отражает тот факт, что в современных условиях новая разработка должна основываться на повторном использовании существующих программных компонентов (рис. 4.6).
Программные компоненты, созданные в реализованных программных проектах, хранятся в библиотеке. В новом программном проекте, исходя из требований заказчика, выявляются кандидаты в компоненты. Далее проверяется наличие этих кандидатов в библиотеке. Если они найдены, то компоненты извлекаются из библиотеки и используются повторно. В противном случае создаются новые компоненты, они применяются в проекте и включаются в библиотеку.
Достоинства компонентно–ориентированной модели: уменьшает на 30% время разработки программного продукта; уменьшает стоимость программной разработки до 70%; увеличивает в полтора раза производительность разработки.
Для традиционных подходов итерация – это исправление ошибок, т.е. процесс, который с трудом поддается технологическим нормам и регламентам. При объектно–ориентированном подходе итерации никогда не отменяют результаты друг друга, а всегда только дополняют и развивают их. Особенностью объектно–ориентированного моделирования жизненного цикла является учет непрерывно поступающих требований к разрабатываемому проекту.
Рисунок 4.6 – Компонентно–ориентированная модель
Раздел 3 стандарты документирования программных средств Тема 5 Общая характеристика проблем и задач документирования программного обеспечения
5.1 Проблемы и задачи создания программной документации.
5.2 Общая характеристика состояния в области документирования программных средств.
5.3 Основные недостатки ЕСПД
5.1 Проблемы и задачи создания программной документации
Создание программной документации – важный этап, так как пользователь начинает свое знакомство с программным продуктом именно с документации. Для чего предназначен программный продукт, как установить программный продукт, как начать с ним работать – вот одни из первых вопросов, на которые должна отвечать программная документация (Installation Guide, Getting Started). Составлением программной документации обычно занимаются специальные люди – технические писатели (иногда программную документацию пишут сами программисты или аналитики). Этот этап является самым неприятным и тяжелым в программистской работе. К сожалению, обычно этому либо не учат совсем, либо в лучшем случае не обращают на качество получаемых документов должного внимания. Тем не менее, владение этим искусством является одним из важнейших факторов, определяющих качество программиста.
Умение создавать программную документацию определяет профессиональный уровень программиста. Заказчик не будет вникать в тонкости и особенности даже самой замечательной программы. Заказчик будет сначала читать документацию. Большую роль играет в этом и психологический фактор.
Грамотно созданный пакет программной документации избавит разработчиков ПО от многих неприятностей. В частности, избавиться от назойливых вопросов и необоснованных претензий, отослав пользователя к документации. Это касается, прежде всего, важнейшего документа – Технического задания. Многомиллионный иск в 70–х годах 20 века, предъявленный к компании IBM крупным издательством о неудовлетворительном качестве вычислительной техники и программного обеспечения, был в суде выигран благодаря предъявленному подписанному обеими сторонами Техническому заданию.
Вообще программную документацию можно разделить по отношению к пользователю на внутреннюю и внешнюю. Внешняя – всевозможные руководства для пользователей, техническое задание, справочники; внутренняя документация – та, которая используется в процессе разработки программного обеспечения и недоступна конечному пользователю (различные внутренние стандарты, комментарии исходного текста, технологии программирования и т.д.).
Когда программист–разработчик получает в той или иной форме задание на программирование, перед ним, перед руководителем проекта и перед всей проектной группой встают вопросы: Что должно быть сделано, кроме собственно программы? Что и как должно быть оформлено в виде документации? Что передавать пользователям, а что – службе сопровождения? Как управлять всем этим процессом? Что должно входить в само задание на программирование?
На эти и другие вопросы когда–то отвечали государственные стандарты на программную документацию – комплекс стандартов 19–й серии ГОСТ ЕСПД. Но уже тогда у программистов была масса претензий к этим стандартам. Что–то требовалось дублировать в документации много раз (как оказалось – неоправданно), а многое не было предусмотрено, как, .например, отражение специфики документирования программ, работающих с интегрированной базой данных.