Разделы презентаций


Стандарты ПИ

Содержание

План лекции1. Стандарты программной инженерии – гарантия качества ПО2. Стандарты, регламентирующие процессы жизненного цикла ПО3. Образовательные стандарты в области программной инженерии4. Профессиональные стандарты программной инженерии5. Типовая ролевая модель команды программного проекта6.

Слайды и текст этой презентации

Слайд 1Курганский государственный университет Кафедра программного обеспечения автоматизированных систем К У Р С

Л Е К Ц И Й по дисциплине ВВЕДЕНИЕ

В ПРОГРАММНУЮ ИНЖЕНЕРИЮ для студентов направления 231000.62 «Программная инженерия»


Лекция 1.2
Стандартизация
в области программной инженерии

Курганский государственный университет Кафедра программного обеспечения автоматизированных систем  К У Р С  Л Е К

Слайд 2План лекции


1. Стандарты программной инженерии – гарантия качества ПО

2. Стандарты,

регламентирующие процессы жизненного цикла ПО

3. Образовательные стандарты в области программной

инженерии

4. Профессиональные стандарты программной инженерии

5. Типовая ролевая модель команды программного проекта

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

Слайд 31. Стандарты программной инженерии – гарантия качества ПО
Заключая контракт на

разработку и поставку заказного ПО потребитель должен быть уверен в

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

Слайд 4Стандарты программной инженерии – гарантия качества ПО
Среди всего многообразия стандартов

принято выделять
следующие основные их типы :
Корпоративные стандарты -

разрабатываются крупными фирмами (корпорациями) с целью повышения качества своей продукции. Такие стандарты разрабатываются на основе собственного опыта и с учетом требований мировых стандартов. Корпоративные стандарты не сертифицируются, но являются обязательными для применения внутри корпорации. В условиях рыночной конкуренции могут иметь закрытый характер.
Отраслевые стандарты (ОСТы) – действуют в пределах организаций некоторой отрасли (например, СНИП – строительные нормы и правила). Разрабатываются с учетом требований мирового опыта и специфики отрасли. Являются, как правило, обязательными для отрасли.
Государственные стандарты (ГОСТы) принимаются государственными органами, в некоторых случаях имеют силу закона. Разрабатываются с учетом мирового опыта или на основе отраслевых стандартов. Могут иметь как рекомендательный, так и обязательный характер (стандарты безопасности). Для сертификации создаются государственные или негосударственные лицензированные органы сертификации.
Международные стандарты. Разрабатываются, как правило, специальными международными организациями на основе мирового опыта и лучших корпоративных стандартов. Имеют сугубо рекомендательный характер. Право сертификации получают организации (государственные и частные), прошедшие лицензирование в международных организациях.
Стандарты программной инженерии – гарантия качества ПОСреди всего многообразия стандартов принято выделять следующие основные их типы :

Слайд 5Стандарты программной инженерии – гарантия качества ПО
Организации - разработчики
международных

стандартов программной инженерии
ISO - International Organization for Standardization – Международная

организация по стандартизации. Наиболее представительная и влиятельная организация, разрабатывающая стандарты почти во всех областях деятельности, в том числе и в IT.
ACM - Association for Computing Machinery – Ассоциация по вычислительной технике. Всемирная научная и образовательная организация в области вычислительной технике. Известна также и разработкой образовательных стандартов.
SEI - Software Engineering Institute - Институт Программной Инженерии. Исследования в области программной инженерии с упором на разработку методов оценки и повышения качества ПО. Стандарты по качеству ПО и зрелости организаций, разрабатывающих ПО.
PMI - Project Management Institute - Международный Институт Проектного Менеджмента (Управления Проектами). Некоммерческая организация, целью которой является продвижение, пропаганда, развитие проектного менеджмента в разных странах. PMI разрабатывает стандарты проектного менеджмента, занимается повышением квалификации специалистов.
IEEE - Институт инженеров по электротехнике и электронике. Поддержка научных и практических разработок в области электроники и вычислительной техники. Большие вложения в разработку стандартов в этой области.
Стандарты программной инженерии – гарантия качества ПООрганизации - разработчики международных стандартов программной инженерииISO - International Organization for

Слайд 62. Стандарты, регламентирующие процессы жизненного цикла ПО
ISO/IEC 12207 - Information

Technology - Software Life Cycle Processes - Процессы жизненного цикла

программных средств. Стандарт содержит определения основных понятий программной инженерии (в частности программного продукта и жизненного цикла программного продукта), структуры жизненного цикла как совокупности процессов, детальное описание процессов жизненного цикла.
SEI CMM - Capability Maturity Model (for Software) - модель зрелости процессов разработки программного обеспечения. Стандарт отвечает на вопрос: "Какими признаками должна обладать профессиональная организация по разработке ПО?". Профессионализм организации определяется через зрелость процесса, применяемого этой организацией. Выделяются пять уровней зрелости процесса.
ISO/IEC 15504 - Software Process Assessment - Оценка и аттестация зрелости процессов создания и сопровождения ПО. Является развитием и уточнением ISO 12207 и SEI CMM. Содержит расширенное по отношению ISO 12207 количество процессов жизненного цикла и 6 уровней зрелости процессов. Дается подробное описание схемы аттестации процессов, на основе результатов которой может быть выполнена оценка зрелости процессов и даны рекомендации по их усовершенствованию.
Подробный обзор основных положений стандарта ISO/IEC 12207 (и его российского аналога ГОСТ Р ИСО МЭК 12207-99) будет сделан позднее во втором разделе лекционного курса нашей дисциплины.
Стандарты SEI CMM и ISO/IEC 15504 рассматриваются при изучении дисциплины "Тестирование и управление качеством ПО".
2. Стандарты, регламентирующие процессы жизненного цикла ПОISO/IEC 12207 - Information Technology - Software Life Cycle Processes -

Слайд 73. Образовательные стандарты в области программной инженерии

ACM / IEEE CC2001

- Computing Curricula 2001 – Академический образовательный стандарт в области

компьютерных наук. Выделены 4 основных раздела компьютерных наук: Computer science, Computer engineering, Software engineering и Information systems, по каждому из которых описаны области знаний соответствующего раздела, состав и планы рекомендуемых курсов.
PMBOK - Project Management Body of Knowledge - Свод знаний по управлению проектами. Содержит описания состава знаний по 9 разделам (областям знаний) управления проектами.
SWEBOK - Software Engineering Body of Knowledge - Свод знаний по программной инженерии. Содержит описания состава знаний по 10 разделам (областям знаний) программной инженерии, схематично представленным на рисунках 1 и 2.
ФГОС ВПО (Российский Федеральный государственный образовательный стандарт высшего профессионального образования) по направлению подготовки 231000 – "Программная инженерия". В основном соответствует требованиям международного стандарта SWEBOK.
Стандарт определяет:
основные направления профессиональной деятельности выпускников ВУЗов РФ, обучающихся по данному направлению;
требования к профессиональным компетенциям бакалавров (4 года обучения) и магистров (4+2 года обучения);
требования к условиям реализации образовательной программы;
структуру базовой части учебного плана.
3. Образовательные стандарты в области программной инженерииACM / IEEE CC2001 - Computing Curricula 2001 – Академический образовательный

Слайд 8SWEBOK - Свод знаний по программной инженерии (часть 1)

SWEBOK - Свод знаний по программной инженерии (часть 1)

Слайд 9SWEBOK - Свод знаний по программной инженерии (часть 2)

SWEBOK - Свод знаний по программной инженерии (часть 2)

Слайд 10Дисциплины учебного плана, обеспечивающие формирование основных профессиональных компетенций в области

программирования и проектирования программных систем

Дисциплины учебного плана, обеспечивающие формирование  основных профессиональных компетенций  в области программирования и проектирования программных систем

Слайд 114. Профессиональные стандарты программной инженерии

В июне 2007 года был опубликован

первый сборник российских профессиональных стандартов в области информационных технологий, в

который, в частности, вошли стандарты для девяти наиболее массовых и востребованных профессий программной инженерии.
Разработка стандартов осуществлялась при поддержке Ассоциации Предприятий Компьютерных и Информационных Технологий (АП КИТ) и ведущих российских и международных компаний ИT-отрасли: «АйТи», группа компаний Verysell, IBM, группа компаний IBS, Intel, «Лаборатория Касперского», Microsoft, «Прогноз» , группа компаний R-Style, «Техносерв А/С», «Яндекс», «1С».
Профессиональные стандарты – это ориентир по профессиям, результат систематизации профессий, динамично формирующихся в ИТ-отрасли. При этом каждый профессиональный стандарт – это нормативный документ рекомендательного характера, отражающий минимально необходимые требования к профессии, должностные обязанности, профессиональные компетенции, требования к уровням образования, стажу работы и сертификации в соответствии с квалификационными уровнями.
Кому и для чего нужны профессиональные стандарты ?
Работодателям - дают внятно сформулированные требования к профессиональным компетенциям специалистов, применение которых позволит оценить и повысить уровень качества их работы. Каждая компания может использовать стандарты для разработки собственных корпоративных требований к соответствующим должностям.
Образовательным учреждениям - предоставляют информацию, необходимую для создания качественных образовательных программ высшего и среднего профессионального образования, программ повышения квалификации и профессиональной переподготовки специалистов, а также позволяют формировать систему оценки качества обучения в соответствии с требованиями работодателей.
Работникам - помогают лучше понять различия в выполнении функций на разных должностях и квалификационных уровнях, задают ориентиры профессионального роста и важны для управления собственной карьерой.
Государству - полезны при создании качественных образовательных стандартов и формировании политики в области занятости населения.
4. Профессиональные стандарты программной инженерииВ июне 2007 года был опубликован первый сборник российских профессиональных стандартов в области

Слайд 12Уровни подготовки специалистов в области программной инженерии Полные тексты профессиональных стандартов

опубликованы на официальном сайте АП КИТ: http://www.apkit.ru/default.asp?artID=5573

Уровни подготовки специалистов  в области программной инженерии Полные тексты профессиональных стандартов опубликованы на официальном сайте АП

Слайд 135. Типовая ролевая модель команды программного проекта
Ведущую роль в

реализации программного проекта играет правильная организация команды разработчиков:
определение ролевой

модели команды
подбор исполнителей на каждую "роль"
организация их взаимодействия в процессе выполнения проекта.
Состав команды определяется особенностями проекта, применяемыми технологиями и инструментальными средствами, опытом и уровнем профессиональной подготовки коллектива.
Классический вариант состава команды включает следующие роли:
Менеджер проекта
Проектировщик
Разработчик
Тестировщик
Инженер по качеству
Технический писатель
Технолог разработки ПО
Инженерный психолог
Инженер по маркетингу

5. Типовая ролевая модель команды программного проекта Ведущую роль в реализации программного проекта играет правильная организация команды

Слайд 14Типовая ролевая модель команды программного проекта

Менеджер проекта - главное

действующее лицо, обладающее знаниями и навыками, необходимыми для успешного управления

проектом.

Его основные функции:
подбор и управление кадрами;
подготовка и исполнение плана проекта;
руководство командой;
обеспечение связи между подразделениями;
обеспечение готовности продукта.
Типовая ролевая модель команды программного проекта Менеджер проекта - главное действующее лицо, обладающее знаниями и навыками, необходимыми

Слайд 15Типовая ролевая модель команды программного проекта
Проектировщик – занимается проектированием архитектуры

высокого уровня и осуществляет контроль ее выполнения.
Основные функции проектировщика:
Анализ

требований.
Разработка архитектуры и основных интерфейсов.
Участие в планировании проекта.
Контроль выполнения проекта.
Участие в подборе кадров.
В небольших командах функции проектировщика обычно распределяются между менеджером проекта и разработчиками, в больших проектах эти функции может исполнять отдельная группа или целый отдел.
Типовая ролевая модель команды программного проектаПроектировщик – занимается проектированием архитектуры высокого уровня и осуществляет контроль ее выполнения.

Слайд 16Типовая ролевая модель команды программного проекта
Разработчик – роль, ответственная за

непосредственное создание конечного продукта. Помимо собственно программирования (кодирования) в его

функции входит:
Контроль архитектурных и технических спецификаций продукта.
Подбор технологических инструментов и стандартов.
Диагностика и разрешение всех технических проблем.
Контроль за работой тестировщиков, технологов, разработчиков документации.
Мониторинг состояния продукта (ведение списка обнаруженных ошибок).
Подбор и контроль использования стандартов и инструментов разработки.
Типовая ролевая модель команды программного проектаРазработчик – роль, ответственная за непосредственное создание конечного продукта. Помимо собственно программирования

Слайд 17Типовая ролевая модель команды программного проекта
Тестировщик – роль, ответственная за

удовлетворение требований к продукту (функциональных и нефункциональных).
В функции тестировщика

входит:
Составление плана тестирования. План тестирования составляет один из элементов проекта и составляется до начала реализации проекта. Время, отводимое в плане на тестирование может быть сопоставимо с временем разработки.
Контроль выполнения плана тестирования. Важнейшая функция контроля – поддержка базы данных зарегистрированных ошибок. В этой базе регистрируется: кто, когда и где обнаружил, описание ошибки, описание состояния среды; статус ошибки: приоритет, кто разрешает; состояние ошибки: висит, в разработке, разрешена, проблемы. Эта база должна быть доступна всем, т.к. в тестировании принимают участие все члены команды.
Разработка тестов - самая трудоемкая часть в работе тестировщика. Тестирование должно обеспечить полную проверку функциональности при всех режимах работы продукта.
Автоматизация тестирования - включает автоматизацию составления тестов, автоматизацию процесса запуска тестов и автоматизацию обработки результатов тестирования. Ввиду важности задачи автоматизации тестирования, в крупных проектах может быть введен новый участник (роль) – инженер по автоматизации.
Выбор стандартов, метрик и инструментов для организации процесса тестирования.
Организация бета-тестирования - тестирования почти готового продукта внешними тестерами (пользователями, в случае разработки коробочного продукта).
Типовая ролевая модель команды программного проектаТестировщик – роль, ответственная за удовлетворение требований к продукту (функциональных и нефункциональных).

Слайд 18Типовая ролевая модель команды программного проекта
Инженер по качеству.
Качество конечного

продукта обеспечивается тестированием, входящим в обязанности тестировщика.
В небольших проектах

функции инженера по качеству возлагаются на тестировщика, однако функции инженера по качеству гораздо шире – он обеспечивает :
Качество процесса разработки – обеспечивается выполнением стандартов качества основных процессов жизненного цикла ПО;
Качество (уровень) организации - обеспечивается выполнением стандартов качества организационных процессов жизненного цикла ПО.
Основные функции инженера по качеству :
Составление плана качества. План качества имеет долговременный характер и включает все мероприятия по повышению качества (на всех уровнях). План тестирования – его оперативная составляющая.
Описание процессов. Описание процессов является их формализацией. При описании вводятся метрики процесса, влияющие на качество продукта.
Оценка процессов включает регистрацию хода выполнения процессов и оценку значений установленных метрик процессов. Выявление слабых мест и выработка рекомендаций по улучшению процессов.
Улучшение процессов - переопределение процесса, автоматизация части работ, обучение персонала. Повышение качества процессов требует участия всех действующих лиц. Принятое решение должно быть обосновано, всем понятно и всеми принято.
Типовая ролевая модель команды программного проектаИнженер по качеству. Качество конечного продукта обеспечивается тестированием, входящим в обязанности тестировщика.

Слайд 19Типовая ролевая модель команды программного проекта
Технический писатель - разработчик проектной,

программной и эксплуатационной документации, как части программного продукта. Технический писатель

все время работает с продуктом (его готовыми версиями) и, выступая от имени пользователя, видит все недочеты и несоответствия.
Функции технического писателя:
Разработка плана документирования, который включает состав, сроки подготовки и порядок тестирования документов.
Выбор и разработка стандартов и шаблонов подготовки документов.
Выбор средств автоматизации документирования.
Разработка документации.
Организация тестирования документации.
Участие в тестировании продукта.
Типовая ролевая модель команды программного проектаТехнический писатель - разработчик проектной, программной и эксплуатационной документации, как части программного

Слайд 20Типовая ролевая модель команды программного проекта
Технолог разработки ПО обеспечивает выполнение

следующих функций:
Поддержка модели жизненного цикла программного продукта - создание служб

и структур по поддержке работоспособности принятой модели ЖЦ ПО. В поддержке модели ЖЦ принимают участие все, но контроль возложен на технолога.
Создание и сопровождение среды сборки продукта. Функция особенно важна на завершающих этапах разработки или при использовании модели прототипирования, когда сборка проводится достаточно часто (в некоторых случаях - ежедневно). Среда сборки должна быть подготовлена заранее, сборка должна проводиться быстро и без сбоев.
Создание и сопровождение процедуры установки с тем, чтобы каждая сборка устанавливалась автоматически с учетом версии и конфигураций сред.
Управление исходными текстами - сопровождение и администрирование системы управления версиями исходных текстов.
Типовая ролевая модель команды программного проектаТехнолог разработки ПО обеспечивает выполнение следующих функций:Поддержка модели жизненного цикла программного продукта

Слайд 21Типовая ролевая модель команды программного проекта
Инженерный психолог и Инженер по

маркетингу – эти роли присутствуют, как правило, в командах, формируемых

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

Слайд 226. Контрольные вопросы и задания

Используя соответствующие профессиональные стандарты (см. выше

ссылку на интернет-ресурс), определите требования к профессиональной компетентности и должностные

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

Обратная связь

Если не удалось найти и скачать доклад-презентацию, Вы можете заказать его на нашем сайте. Мы постараемся найти нужный Вам материал и отправим по электронной почте. Не стесняйтесь обращаться к нам, если у вас возникли вопросы или пожелания:

Email: Нажмите что бы посмотреть 

Что такое TheSlide.ru?

Это сайт презентации, докладов, проектов в PowerPoint. Здесь удобно  хранить и делиться своими презентациями с другими пользователями.


Для правообладателей

Яндекс.Метрика