
- •Проектирование асоиу в современных условиях
- •Принципы создания асоиу
- •Разработчик ас в современной системе разделения труда.
- •Особенности рынка асоиу и программного обеспечения.
- •Асоиу как объект проектирования
- •Аспекты представления асоиу. Функциональное представление асоиу.
- •Аспекты представления асоиу. Структурное представление асоиу.
- •Аспекты представления асоиу. Компонентное представление асоиу.
- •Проектирование асоиу и программного обеспечения как сложной системы. Понятие простых и сложных систем, признаки сложной системы. Способы борьбы со сложностью.
- •Методы проектирования программного продукта как сложной системы: структурный, объектный, потоковый.
- •Описание бизнес-процессов. Концепция. Форматы графических схем бизнес-процессов.
- •Модели объекта автоматизации. Методика функционального проектирования idef0 (Integrated deFinition 0).
- •Моделирование бизнес-процессов спецификация требований на основе структурного подхода
- •Модели объекта автоматизации. Методика информационного проектирования idef3.
- •Модели объекта автоматизации. Методика dfd. Примеры диаграмм.
- •Автоматизация проектирования. Case – системы bPwin. Примеры диаграмм
- •Автоматизация проектирования. Case – системы eRwin. Примеры диаграмм.
- •Организация процесса конструирования программного обеспечения ас.
- •Понятие метода и технологии конструирования.
- •Классический жизненный цикл программных систем. Макетирование.
- •Инкрементная модель стратегии конструирования
- •Спиральная модель.
- •Тяжеловесные и облегченные процессы. Xp-процессы.
- •Унифицированный процесс проектирования по асоиу
- •Моделирование бизнес-процессов спецификация требований на основе объектно-ориентированного подхода. Методика rup.
- •1.Определение требований
- •2.Анализ
- •3.Проектирование
- •4.Реализация
- •5.Тестирование
- •Унифицированный язык моделирования. Предметы, отношения и диаграммы в uml.
- •Руководство программным проектом
- •Процессы руководства проектом.
- •Измерения, меры и метрики. Размерно-ориентированные метрики.
- •Измерения, меры и метрики. Функционально-ориентированные метрики.
- •Измерения, меры и метрики. Метрики объектно-ориентированных программных систем.
- •Набор метрик Чидамбера и Кемерера
- •Использование метрик Чидамбера-Кемерера
- •Оценка проекта на основе loc и fp метрик.
- •Оценка проекта на основе loc и fp метрик.
- •Стандартизация проектирования ас и программного обеспечения
- •Общие понятия стандартизации. Международные и национальные организации, разрабатывающие стандарты.
- •Национальные организации, разрабатывающие стандарты
- •Нормативные документы по стандартизации и виды стандартов
- •Стандарты в области программного обеспечения ас
- •Стандарты комплекса гост р 34. Стадии и этапы проектирования ас, определяемые стандартом гост 34.602.
- •Стандарты комплекса гост р 34. Содержание технического задания на создание ас, гост 34.601.
- •Процессы жизненного цикла программного средства, определяемые в стандарте гост p исо/мэк 12207.
- •Фазы разработки и внедрения асоиу.
- •Фаза «Обоснование»
- •Фаза «Создание»
- •Реализация автоматизированной системы
- •Тестирование программного продукта
- •Основные понятия и принципы тестирования, тестирование «белого» и «черного» ящиков
- •Тестирование «черного ящика»
- •Тестирование «белого ящика»
- •Особенности тестирования «белого ящика»
- •Тестирования базового пути. Цикломатическая сложность программного обеспечения.
- •Потоковый граф
- •Цикломатическая сложность
- •Тестирования условий. Тестирования циклов Способы тестирования условий
- •Тестирование ветвей и операторов отношений
- •Способ тестирования потоков данных
- •Тестирование циклов
- •Простые циклы
- •Вложенные циклы
- •Объединенные циклы
- •Неструктурированные циклы
- •Особенности объектно-ориентированного тестирования по.
- •Изменение методики при объектно-ориентированном тестировании
- •Тестирование объектно-ориентированной интеграции
- •Объектно-ориентированное тестирование правильности
- •Управление качеством ас
- •Процесс управления качеством. Обеспечение и планирование качества.
- •Процесс управления качеством
- •Планирование качества
- •Контроль качества. Измерение показателей программных систем
- •Контроль качества
- •Измерение показателей по
- •Стандарт исо/мэк 15504. Модель зрелости конструирования программных систем. (смм).
- •Модели качества процессов конструирования
- •V. Высокая оптимизация/Optimizing
- •IV. Управляемость/Managed
- •III. Начало оптимизации (Определенность) /Defined
- •II. Контроль/Repeatable
- •I. Начальный уровень (хаос)/Initial
- •Гост исо/мэк 12119-2000. Требования к качеству пакетов программ.
- •1 Область применения
- •3 Требования к качеству
- •Описание продукта
- •3.1.1 Общие требования к содержанию
- •3.1.2 Обозначения и указания
- •3.1.4 Формулировки надежности
- •3.1.5 Формулировки практичности
- •3.2 Документация пользователя
- •3.3 Программы и данные
- •Гост исо/мэк 12119-2000. Указания по тестированию пакетов программ.
- •4 Указания по тестированию
- •4.1 Необходимые условия для тестирования
- •4.2 Работы по тестированию
- •4.3 Протоколы тестирования
- •4.4 Отчет о тестировании
- •4.5 Дополнительное тестирование
- •Документация автоматизированной системы
- •Предпроектная документация. Материалы обследования объекта автоматизации. Техническое задание. Договорная документация.
- •Проектная документация.
- •Рабочая документация.
- •Эксплуатационная документация
- •Организационно-распорядительная документация. Оформление документации.
- •Интегрированная система управления производством класса erp (Enterprise Recourse Planning).
- •Концепция erp II – Enterprise Resource and Relationship Processing (Управление внутренними ресурсами и внешними связями предприятия)
Изменение методики при объектно-ориентированном тестировании
тестированию модулей традиционного ПО соответствует тестирование классов объектно-ориентированного ПО;
тестирование традиционных модулей ориентировано на поток управления внутри модуля и поток данных через интерфейс модуля;
тестирование классов ориентировано на операции, инкапсулированные в классе, и состояния в пространстве поведения класса.
Тестирование объектно-ориентированной интеграции
Объектно-ориентированное ПО не имеет иерархической управляющей структуры, поэтому здесь неприменимы методики как восходящей, так и нисходящей интеграции. Мало того, классический прием интеграции (добавление по одной операции в класс) зачастую неосуществим.
Р. Байндер предлагает две методики интеграции объектно-ориентированных систем:
тестирование, основанное на потоках;
тестирование, основанное на использовании.
В первой методике объектом интеграции является набор классов, обслуживающий единичный ввод данных в систему. Иными словами, средства обслуживания каждого потока интегрируются и тестируются отдельно. Для проверки отсутствия побочных эффектов применяют регрессионное тестирование.
По второй методике вначале интегрируются и тестируются независимые классы. Далее работают с первым слоем зависимых классов (которые используют независимые классы), со вторым слоем и т. д. В отличие от стандартной интеграции, везде, где возможно, избегают драйверов и заглушек.
Д. МакГрегор считает, что одним из шагов объектно-ориентированного тестирования интеграции должно быть кластерное тестирование. Кластер сотрудничающих классов определяется исследованием CRC-модели или диаграммы сотрудничества объектов. Тестовые варианты для кластера ориентированы на обнаружение ошибок сотрудничества.
Объектно-ориентированное тестирование правильности
При проверке правильности исчезают подробности отношений классов. Как и традиционное подтверждение правильности, подтверждение правильности объектно-ориентированного ПО ориентировано на видимые действия пользователя и распознаваемые пользователем выводы из системы.
Для упрощения разработки тестов используются элементы Use Case, являющиеся частью модели требований. Каждый элемент Use Case задает сценарий, который позволяет обнаруживать ошибки во взаимодействии пользователя с системой.
Для подтверждения правильности может проводиться обычное тестирование «черного ящика».
Полезную для формирования тестов правильности информацию содержат диаграммы взаимодействия, диаграммы деятельности, а также диаграммы схем состояний.
Управление качеством ас
Процесс управления качеством. Обеспечение и планирование качества.
Процесс управления качеством
Качество программного продукта является достаточно сложным понятием, трудным для определения. Продукт считается качественным в том случае, если полностью соответствует техническим требованиям. В идеале такое определение должно быть применимо ко всем продуктам, в том числе и к программным, однако здесь существуют некоторые проблемы.
Технические требования на свойства продукта определяет заказчик. Однако организация-разработчик может также иметь свои требования к разрабатываемому ПО, которые обычно не включаются в технические требования заказчика.
(Например, удобство сопровождения, повторяемость кода, переносимость, гибкость настроек, встроенный язык программирования).
Неизвестно, как точно определить и измерить определенные показатели качества (например, то же удобство сопровождения).
Трудно создать полную спецификацию программного продукта. Поэтому, созданный программный продукт соответствующий спецификации, может быть не высококачественного продукта.
Таким образом, постоянно прилагая усилия по совершенствованию спецификации, можно уточнять требования к ПП. Систематически и достаточно точно измеряя количественные показатели качества ПП и проводя определенные мероприятия по устранению причин снижения качества, можно получать более конкурентно-способный ПП.
Однако следует признать то, что спецификация всегда будет не лишена недостатков. И с результатами измерения показателей качества не все будут согласны. Но это не значит, что не требуется проводить мероприятия по контролю и улучшению качества ПП.
Теоретически управление качеством основывается на принципе определения стандартов и процедурных норм, в соответствии с которыми должно разрабатываться ПО, а также на проверке выполнения этих норм всеми разработчиками и менеджерами.
На практике управление качеством имеет более емкое содержание. Кроме соблюдения стандартов и процедурных норм менеджеры по управлению качеством должны стремиться к созданию в компании атмосферы «культивирования качества», где каждый берет на себя обязательство достичь наивысшего уровня качества создаваемого продукта. Такие менеджеры стимулируют команду к качественному выполнению работы и к постоянному поиску идей, повышения качества.
Процесс управления качеством состоит из трех основных видов деятельности:
Обеспечение качества. Определение множества организационных процедур и стандартов в целях создания ПО высокого качества.
Планирование качества. Выбор из этого множества соответствующего подмножества процедур и стандартов и адаптация их к данному проекту разработки ПО.
Контроль качества. Определение и проведение мероприятий, гарантирующих выполнение нормативных процедур и стандартов качества всеми членами команды разработчиков ПО.
У
правление
качеством предполагает возможность
независимого контроля за процессом
разработки ПО.
Контрольные проектные элементы,
получаемые в процессе разработки
ПО, являются основой контроля качества.
Они проверяются на соответствие
стандартам, целям и требованиям проекта
(рис. 1.). Независимость, а значит
объективность контроля позволяет
получить руководству
компании своевременно
информацию о проблемах и
трудностях, которые
возникают в работе над проектом.
Команда контролирующая качество отчитывается непосредственно руководству компании, минуя звено менеджеров и разработчиков проекта.
Международным стандартом, который любая компания в любых сферах производства может принять за основу развития системы управления качеством, можно назвать ISO 9000, разработанный Международной организации по стандартизации (ISO). ISO 9000 — это целый ряд всевозможных стандартов, применимых как в промышленности, так и в сфере услуг. ISO 9001 является наиболее обобщенным из этих стандартов и относится к организациям, занимающимся разработкой, производством и сопровождением различных товаров. Поддерживающая документация (ISO 9000-3) адаптирует ISO 9000 к разработке программных продуктов.
Стандарт ISO 9001 является типовой моделью для процесса обеспечения качества. В этом нормативе описываются разнообразные аспекты данного процесса, а также определяются те стандарты и нормативы, которые должны быть приняты за основу производственной деятельности компании. Так как процесс обеспечения качества не относится разряду производственных видов деятельности, нормативы здесь детально не описан. Любая организация, специализирующаяся на определенном виде услуг, должна самостоятельно провести детализацию своих нормативов и представить ее в специальном руковс детве по управлению качеством.
Нормативы по обеспечению качества занесены в специальное руководство, определяющее ход процесса по управлению качеством. В некоторых странах существуют специальные органы, подтверждающие соответствие процесса обеспечения качества, описанного в руководстве организации,
стандарту ISO 9001. Более того, заказчики часто требуют от поставщиков сертификат по стандарту ISO 9001 как подтверждение того, насколько серьезно компания относится к изготовлению качественной продукции.
Взаимосвязь между ISO 9000, управлением качества и планами обеспечения качества отдельных проектов показана на рис. 2.
Деятельность по обеспечению качества направлена на достижение определенного уровня качества при разработке программного обеспечения. Она предполагает определение или выбор стандартов, применяемых либо к самому процессу разработки ПО, либо к готовому продукту. Эти стандарты могут быть частью процессов производства ПО. В ходе выполнения таких процессов могут применяться средства поддержки, учитывающие выбранные (или разработанные) стандарты качества.
В процессе обеспечения качества могут применяться два вида стандартов:
Стандарты на продукцию. Применимы к уже готовым программным продуктам. Они включают стандарты на сопроводительную документацию, например структуру документа, описывающего системные требования, а также такие стандарты, как, например, стандарт заголовка комментариев в определении класса объекта, стандарты написания программного кода, определяющие способ использования языка программирования.
Стандарты на процесс создания ПО. Определяют ход самого процесса создания программного продукта, например разработку спецификации, процессы проектирования и аттестации. Кроме того, они могут описывать документацию, создаваемую в ходе выполнения этих процессов.
Коментарий по качеству ЛР
Между стандартами на продукцию и стандартами на процесс существует очень сильная взаимосвязь. Стандарты на продукцию применимы к результату процесса разработки ПО, а стандарты на процесс в большинстве случаев подразумевают выполнение определенных действий, направленных на получение товара, соответствующего стандартам на продукцию.
Стандарты в разработке программной продукции важны по ряду причин, основные из которых:
Стандарты аккумулируют все лучшее из практической деятельности по созданию ПО.
Как правило, практические знания приобретаются путем долгого поиска и ошибок. Привнесение этого опыта в определенный стандарт помогает избежать повторения прошлых ошибок. Стандарты в данном случае собирают знания и опыт, имеющие значение для организации-разработчика.
Стандарты предоставляют необходимую основу для реализации процесса обеспечении качества и контроля процесса создания ПО.
Стандарты незаменимы, когда работа переходит от одного сотрудника к другому.
В этом случае деятельность всех специалистов в организаций подчиняется единому нормативу. Требуется меньше затрат на подготовка кадров.
Национальные и международные стандарты разработаны для таких сфер программной деятельности, как терминология инженерии ПО, языки программирования, система обозначений, например для символов в схемах и чертежах, процедуры для разработки системных требований, деятельность по обеспечению качества, а также для аттестации ПО.
С общей идеей полезности стандартов все согласны, однако при этом разработчики находят причину, по которой именно для их проекта эти стандарты не так уж необходимы.
Чтобы не возникало подобных проблем в работе, менеджеры по качеству, отвечающие за разработку стандартов, должны быть достаточно подготовленными и действовать следующим образом.
Вовлечь самих программистов в разработку стандартов.
Они должны ясно понимать, с какой целью разрабатывается стандарт, и четко следовать установленным правилам и нормативам.
Регулярно просматривать и обновлять стандарты, чтобы идти в ногу с быстро развивающимися технологиями.
Обеспечить поддержку стандартов программными средствами. (Например: VS, RRos)
Стандарты на процессы разработки ПО также могут вызвать ряд проблем, если ставят перед командой разработчиков практически неосуществимые задачи. Такие стандарты дают руководящие советы по выполнению работы, при этом менеджеры проектов могут интерпретировать их каждый по-своему. Нет смысла указывать определенное направление работы, если оно неприменимо к данному проекту или к самой команде разработчиков. Поэтому менеджер нроск'га должен иметь право изменять стандарты процесса созда-нияГЮ в соответствии со специфическими условиями именно данного проекта. Здесь следует оговориться, что это утверждение не относится к стандартам на качество готовой г продукции и на процесс сопровождения программной системы, которые могут быть изменены только после глубокого изучения данного вопроса.
Менеджер проекта и менеджер по управлению качеством могут легко избежать подводных камней, связанных с "неподходящими" стандартами, путем тщательной разработки плана мероприятий по обеспечению качества. Именно они должны решить, какие стандарты из справочника можно использовать без изменений, какие из них подлежат изменению, а какие следует исключить. Иногда возникает необходимость в разработке нового стандарта, что может быть вызвано условиями выполнения определенного проекта. Например, требуется установить Стандарт для формальной спецификации, если прежде в проектах он не использовался. Такие стандарты должны разрабатываться в процессе выполнения проекта.