Студопедия — Загальні відомості про стандарт SWEBOK
Студопедия Главная Случайная страница Обратная связь

Разделы: Автомобили Астрономия Биология География Дом и сад Другие языки Другое Информатика История Культура Литература Логика Математика Медицина Металлургия Механика Образование Охрана труда Педагогика Политика Право Психология Религия Риторика Социология Спорт Строительство Технология Туризм Физика Философия Финансы Химия Черчение Экология Экономика Электроника

Загальні відомості про стандарт SWEBOK






Разработка и использование компьютерных программ в настоящее время стало массовой деятельностью. Более семи миллионов человек занимаются их разработкой, а сотни миллионов активно используют их в своей профессиональной деятельности.

Знания разработчиков ПО отличаются большим разнообразием, и, как правило, они являются не полными, не согласованными и разнородными, ориентированными на реализацию разных предметных областей, начиная от ОС и кончая современными прикладными бизнес-системами. И самое главное, что знания в процессе инженерной деятельности постепенно уточняются, видоизменяются и пополняются, за которыми не поспевают программисты.

Примерно каждые 10 лет происходит смена языков программирования и операционных сред для описания и функционирования программ. Это предполагает изменение ранее изготовленных и функционирующих программ в новые языки и операционные среды.

Проектирование и создание новых компьютерных систем, в том числе из готовых компонентов (Reusing) и систем, теоретически и практически осуществляется с учетом современных возможностей платформ и распределенных сред, в которых компоненты распределяются по разным узлам сети и взаимодействуют между собой через сетевые протоколы. Появились новые методы и подходы к разработке ПО: структурный, объектно-ориентированный, компонентный, аспектный, визуальный - UML, агентно-ориентированный, сервисный и др.

Разработано огромное количество разнообразных инструментальных средств поддержки процесса проектирования ПО и методов оценки качества, производительности, стоимости и т.п). Все это способствует повышению уровня проектирования, тестирования, прогнозирования надежности и оценки качества ПО.

Вместе с тем, новый программный проект разрабатывается 1-2 года, а эволюционирует 6-7 лет. На его сопровождение тратиться 61% затрат против 39% на его разработку. Эффективность разработчиков в зависимости от квалификации колеблется в отношении 20:200, отсюда требуется повышать уровень знаний разработчиков ПО. На сегодня ядро стабильных знаний по программной инженерии составляет 75% от тех знаний, что используются в практической программисткой деятельности.

В связи с этим мировое компьютерное сообщество пришло к необходимости систематизации накопленных знаний и общие из них зафиксировать в виде ядер знаний (Body of Knowledge - BOK) для разных областей информатики. Для создания ядра знаний ПО был создан международный комитет при американском объединении компьютерных специалистов ACM (Association for Computing Machinery) и институте инженеров по электронике и электротехнике IEEE Computer Society. В комитет вошли специалисты мирового уровня в области информатики и разработки ПО, которые внесли свой опыт и знания, а также систематизировали накопленные разнородные знания и определили (1999г., 2001г., 2004г.) ядро профессиональных знаний SWEBOK (Software Engineering Body Knowledge) программной инженерии, как основы проектирования ПО. Ядро включает сумму знаний, распределенную по 10 специализированным областям, которые отражают отдельные процессы проектирования ЖЦ ПО и методы их поддержки.

Программная инженерия (Software Engineering) является отраслью Computer science, изучает вопросы построения компьютерных программ, отражает закономерности ее развития, обобщает опыт программирования в виде комплекса общих знаний и правил регламентации инженерной деятельности разработчиков ПО.

В программной инженерии, инженеры - это специалисты, выполняющие практические работы по реализации программ с применением теории, методов и средств компьютерной науки. Компьютерная наука (computer science) охватывает теорию и методы построения вычислительных и программных систем, тогда как программная инженерия рассматривает вопросы практического построения ПО. Знание компьютерной науки необходимо специалистам в области программного обеспечения так же, как знание физики - инженерам-электронщикам. Если для решения конкретных задач программирования не существует подходящих методов или теории, инженеры применяют свои знания, накопленные ими в процессе конкретных разработок ПО, а также используя опыт работы на соответствующих инструментальных программных средствах. Кроме того, инженеры должны работать в условиях заключенных контрактов и выполнять задачи с учетом этих условий.

В разработке больших программных проектов, кроме программистов, принимают участие:

ü менеджеры, которые планируют и руководят проектом, отслеживают сроки и затраты;

ü инженеры службы хранения готовых компонентов в библиотеках и репозитариях;

ü технологи, которые определяют инженерные методы и стандарты, регламентирующие и регулирующие процесс реализации проекта;

ü тестировщики (контролеры), которые проверяют правильность выполнения процесса проектирования и продуктов процессов, на основе собранных данных проводят измерения разных характеристик качества, включая оценку надежности ПО.

Анализ и характеристика областей знаний SWEBOK

Ядра знаний SWEBOK является основополагающим документом, отображает мнение многих зарубежных и отечественных специалистов в области программной инженерии и согласуется с современными регламентированными процессами ЖЦ ПО стандарта ISO/IEC 12207. В этом ядре знаний содержится описание 10 областей, каждая из которых представлена согласно принятой всеми участниками создания этого ядра общей схемы описания, включающей определение понятийного аппарата, методов и средств, а также инструментов поддержки инженерной деятельности. Описание каждой области вносит определенный запас знаний, который должен практически использоваться на соответствующих процессах ЖЦ с учетом приведенного стандарта.

Для наглядного представления понятийного аппарата областей SWEBOK проведено условное разбиение областей на основные (пять процессов проектирования ПС) и дополнительные, организационные методы и подходы, которые отображают инженерию управления проектированием ПС (конфигурацией, проектами, качеством и т.д

1. Основы программных требований (Software Requirements)

Требования - это свойства, которыми должно обладать ПО для адекватного задания функций, а также условия и ограничения на ПО, данные, среду выполнения и технику.

Требования отражают потребности людей (заказчиков, пользователей, разработчиков), заинтересованных в создании ПО.

Область знаний «Требования к ПО (Software Requirements)» состоит из следующих разделов:

- инженерия требований (Requirement Engineering),

- выявление требований (Requirement Elicitation),

- анализ требований (Requirement Analysis),

- спецификация требований (Requirement Specification).

- проверка требований (Requirement validation),

- управление требованиями (Requirement Menegement).

2. Проектирование ПО (Software design)

Проектирование ПО - процесс определения архитектуры, компонентов, интерфейсов, других характеристик системы и конечного результата.

Область знаний «Проектирование ПО (Software Design)» состоит из следующих разделов:

- базовые концепции проектирования ПО (Software Design Basic Concepts),

- ключевые вопросы проектирования ПО (Key Issue in Software Design),

- структура и архитектура ПО (Software Structure and Architecture),

- анализ и оценка качества проектирования ПО (Software Design Quality Analysis and Evaluation),

- нотации проектирования ПО (Software Design Notations),

- стратегия и методы проектирования ПО (Software Design Strategies and Methods).

3. Конструирование ПО (Software Construction)

Конструирование ПО - создание работающего ПО с привлечением методов верификации, кодирования и тестирования компонентов. К инструментам конструирования ПО отнесены языки программирования и конструирования, а также программные методы и инструментальные системы (компиляторы, СУБД, генераторы отчетов, системы управления версиями, конфигурацией, тестированием и др.). К формальным средствам описания процесса конструирования ПО, взаимосвязей между человеком и компьютером и с учетом среды окружения отнесены языки конструирования.

Область знаний «Конструирование ПО (Software Construction)» включает следующие разделы:

- снижение сложности (Réduction in Complexity),

- предупреждение отклонений от стиля (Anticipation of Diversity),

- структуризация для проверок (Structuring for Validation),

- использование внешних стандартов (Use of External Standards)

4. Тестирование ПО (Software Testing)

Тестирование ПО - это процесс проверки работы программы в динамике, основанный на выполнении конечного набора тестовых данных и сравнения полученных результатов с запланированными вначале.

Область знаний «Тестирование ПО (Software Testing)» включает следующие разделы:

- основные концепции и определение тестирования (Testing Basic Concepts and definitions),

- уровни тестирования (Test Levels),

- техники тестирования (Test Techniques),

- метрики тестирования (Test Related Measures),

- управление процессом тестирования (Managing the Test Process).

5. Сопровождение ПО (Software maintenance)

Сопровождение ПО - совокупность действий по обеспечению работы ПО, а также по внесению изменений в случае обнаружения ошибок в процессе эксплуатации, по адаптации ПО к новой среде функционирования, а также по повышению производительности или других характеристик ПО.

Область знаний «Сопровождение ПО (Software maintenance)» состоит из следующих описаний разделов:

- основные концепции (Basic Concepts),

- процесс сопровождения (Process Maintenance),

- ключевые вопросы сопровождения ПО (key Issue in Software Maintenance),

- техники сопровождения (Techniques for Maintenance).

6. Управление конфигурацией ПО (Software Configuration Management-SCM)

Управление конфигурацией - дисциплина идентификации компонентов системы, определения функциональных и физических характеристик аппаратного и программного обеспечения для проведения контроля внесения изменений и трассирования конфигурации на протяжении ЖЦ.

Конфигурация системы - состав функций, программных и физических характеристик программ или их комбинаций, аппаратного обеспечения, обозначенные в технической документации системы и реализованные в продукте.

Конфигурация ПО включает набор функциональных и физических характеристик ПО, заданных в технической документации и достигнутых в готовом продукте. Т.е это сочетание разных элементов продукта вместе с заданными процедурами сборки и отвечающие определенному назначению. Элемент конфигурации - график разработки, проектная документация, исходный и исполняемый код, библиотека компонентов, инструкции по установке системы и др.

Область знаний «Управление конфигурацией ПО» состоит из следующих разделов:

- управление процессом конфигурацией (Management of SMC Process),

- идентификация конфигурации ПО (Software Configuration Identification),

- контроль конфигурации ПО (Software Configuration Control),

- учет статуса конфигурации ПО (Software Configuration Status Accounting),

- аудит конфигурации ПО (Software Configuration Auditing),

- управление релизами (версиями) ПО и доставкой (Software Release Management and Delivery).

7. Управление инженерией ПО (Software Engineering Management)

Управление инженерией ПО (менеджмент) - руководство работами команды разработчиков ПО в процессе выполнения плана проекта, определение критериев и оценка процессов и продуктов проекта с использованием общих методов управления, планирования и контроля работ.

Область знаний «Управление инженерией ПО (Software Engineering Management)» состоит из следующих разделов:

- организационное управление (Organizational Management),

- управление процессом и проектом (Process/Project Management),

- измерение инженерии ПО (Software Engineering Measurement).

8. Процесс инженерии ПО (Software Engineering Process)

Процесс инженерии ПО включает концепции, инфраструктуру, методы определения и измерения этапов ЖЦ, поиск ошибок и внесение изменений, а также анализ и оценку качества продукта.

Область знаний «Процесс инженерии ПО (Software Engineering Process)» состоит из следующих разделов:

- концепции процесса инженерии ПО (Software Engineering Process Concepts),

- инфраструктура процесса (Process Infrastructure),

- определение процесса (Process Definition),

- оценка процесс (Process Assessments),

- количественный анализ процесса (Qualitative Process Analysis),

- выполнение и изменение процесса.(Process Implementation and Change).

9. Методы и средства инженерии ПО (Software Engineering Tools and Methods)

Методы и средства включают среду разработки, средства и методы разработки, используемые на процессах ЖЦ. Средства обеспечивают спецификацию требований, конструирование и сопровождение ПО. Методы обеспечивают проектирование, реализацию и выполнение ПО на процессах, а также достижение качества процессов и продуктов.

Область знаний «Методы и средства инженерии ПО (Software Engineering Tools and Methods)» состоит из разделов:

- инструменты (Software Tools),

- методы (Software Methods).

10. Качество ПО (Software Quality)

Качество ПО - набор характеристик продукта или сервиса, которые характеризуют его способность удовлетворить установленным или предполагаемым потребностям заказчика. Понятие качества имеет разные интерпретации в зависимости от конкретной системы и требований к программному продукту. Кроме того, в разных источниках таксономия и модели качества отличаются. Каждая модель имеет различное число уровней и общее число характеристик качества.

Область знаний «Качество ПО (Software Quality)» состоит из следующих разделов:

- концепция качества ПО (Software Quality Concepts),

- определение и планирование качества (Définition & Planning for Quality),

- деятельности и техники гарантии качества и V&V(Activities and Techniques for Software Quality Assurance, Validation -V & Verification - V),

- измерения в анализе качества ПО (Measurement in Software Quality Analysis).

 

 







Дата добавления: 2015-04-19; просмотров: 751. Нарушение авторских прав; Мы поможем в написании вашей работы!



Функция спроса населения на данный товар Функция спроса населения на данный товар: Qd=7-Р. Функция предложения: Qs= -5+2Р,где...

Аальтернативная стоимость. Кривая производственных возможностей В экономике Буридании есть 100 ед. труда с производительностью 4 м ткани или 2 кг мяса...

Вычисление основной дактилоскопической формулы Вычислением основной дактоформулы обычно занимается следователь. Для этого все десять пальцев разбиваются на пять пар...

Расчетные и графические задания Равновесный объем - это объем, определяемый равенством спроса и предложения...

Экспертная оценка как метод психологического исследования Экспертная оценка – диагностический метод измерения, с помощью которого качественные особенности психических явлений получают свое числовое выражение в форме количественных оценок...

В теории государства и права выделяют два пути возникновения государства: восточный и западный Восточный путь возникновения государства представляет собой плавный переход, перерастание первобытного общества в государство...

Закон Гука при растяжении и сжатии   Напряжения и деформации при растяжении и сжатии связаны между собой зависимостью, которая называется законом Гука, по имени установившего этот закон английского физика Роберта Гука в 1678 году...

САНИТАРНО-МИКРОБИОЛОГИЧЕСКОЕ ИССЛЕДОВАНИЕ ВОДЫ, ВОЗДУХА И ПОЧВЫ Цель занятия.Ознакомить студентов с основными методами и показателями...

Меры безопасности при обращении с оружием и боеприпасами 64. Получение (сдача) оружия и боеприпасов для проведения стрельб осуществляется в установленном порядке[1]. 65. Безопасность при проведении стрельб обеспечивается...

Весы настольные циферблатные Весы настольные циферблатные РН-10Ц13 (рис.3.1) выпускаются с наибольшими пределами взвешивания 2...

Studopedia.info - Студопедия - 2014-2024 год . (0.034 сек.) русская версия | украинская версия