Опубликован: 28.11.2007 | Уровень: специалист | Доступ: платный | ВУЗ: Национальный исследовательский ядерный университет «МИФИ»
Введение 1:

Общая информация о курсе

Введение 1 || Лекция 1 >
Аннотация: Курс знакомит слушателей с современными технологиями верификации программного обеспечения, применяемыми при промышленной разработке сложных и отказоустойчивых программных систем.

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

Курс основан на методиках тестирования промышленных программных систем. Он охватывает вопросы построения тестового окружения, планирования системы тестов, анализа и обнаружения дефектов программного кода тестируемой системы, интеграционного и системного тестирования, общих аспектов тестирования пользовательских интерфейсов. В программу курса входит рассмотрение процессов верификации проектной документации, а также процессов формальной инспекции кода и документации. Детально рассматриваются различные виды документов, сопровождающих процесс верификации, и процессы разработки, в которых эти документы участвуют. В завершение курса дается обзор методов разработки устойчивого программного обеспечения, позволяющих уменьшить продолжительность фазы тестирования без снижения его качества. Основным инструментальным средством, используемым при обучении, является Microsoft Visual Studio Team Edition for Software Testers.

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

Предисловие

Учебный курс "Верификация программного обеспечения" разработан преподавателями кафедры "Кибернетика" МИФИ в тесном сотрудничестве с предприятияем авиационной отрасли ДС БАРС (Бортовые Алгоритмы и Разработка Систем) и московским представительством корпорации Microsoft.

Кафедра "Кибернетика" МИФИ готовит специалистов по специальности "прикладная математика и информатика" с квалификацией "математик, системный программист". Кафедра имеет более чем 30-летний опыт в преподавании курсов по программной инженерии. Цикл дисциплин по программированию (дисциплин технологического цикла) построен таким образом, что студенты уже со второго курса начинают знакомство с промышленными методами разработки программного обеспечения. Во всех выполняемых на 2-3 курсах учебных задачах помимо разработки программного кода требуется определять функциональные требования к разрабатываемым модулям и программам, составлять тест-требования и тест-планы и реализовывать тестовое окружение. При этом на втором курсе большее внимание уделяется разработке и тестированию отдельных программных модулей, а на третьем - разработке и тестированию отдельных программ и многопроцессных систем, использующих средства межпроцессного взаимодействия.

На четвертом курсе студенты проходят годичный курс "Технология программирования", в ходе которого они знакомятся с современными методами и организационными процедурами разработки комплексного программного обеспечения и выполняют групповой курсовой проект. Цель проекта: разработать коллективом небольшую, но реально работающую систему, проходящую все стадии жизненного цикла - от формулировки задачи до приемо-сдаточных испытаний. В рамках проекта выполняется разработка стандартов проекта и продукта, реализация и верификация. Программа курса регулярно пересматривается, чтобы обеспечить ее соответствие современным информационным технологиям.

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

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

Авторы курса хотели бы выразить благодарность сотрудникам кафедры "Кибернетика" Московского инженерно-физического института (государственного университета), без прямой или косвенной помощи которых данный курс не появился бы на свет: доц. Стрижевскому В.С., доц. Черняеву В.В., ст. преп. Петуховой Е.А., а также студентам кафедры: Мещанинову В.П., Черепову А.С., Вавиловой А.С.

Разработка семинарских занятий и программной системы, на примере верификации которой построены семинары, проводилась студентами кафедры Несвижским А.И. и Рябовым В.А. под руководством авторов курса.

Значительная часть материала данного курса опирается на многолетний опыт сотрудничества с компанией ДС БАРС (Бортовые Алгоритмы и Разработка Систем) в области верификации авиационного бортового программного обеспечения. В ходе создания данного курса неоценимую помощь оказали ее сотрудники Сабуров М.А., Пономаренко В.Э., Судьбин М. А., Бородавкин В.Е., Подрубаев А. Б.

Цель курса

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

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

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

В состав курса входит ряд практических занятий, иллюстрирующих на примере простой системы приемы и методы верификации программного обеспечения в среде Microsoft Visual Studio 2005 Team Edition for Software Testers.

Предварительные знания

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

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

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

Предполагается, что для восприятия материала курса необходимо знать язык программирования С, С++ или C# и быть знакомым с основами разработки программных систем. Желательно иметь представление о модульном и объекно-ориентированном подходах, пошаговой детализации и коллективной разработке программного обеспечения.

Рекомендуется знакомство со следующими курсами, представленными в библиотеке Интернет-университета информационных технологий (http://www.intuit.ru):

  • Терехов А.Н. Учебный курс "Введение в технологию программирования"
  • Биллиг В.А. Учебный курс "Основы программирования на C#"
Введение 1 || Лекция 1 >
Илья Макаренко
Илья Макаренко

Добрый день.

Вопрос №1

Какова стоимость получения диплома о мини-МБА по данному курсу? Или ориентироваться на указанную на сайте?

Вопрос №2

Возможно ли начать обучение без потери результатов, не отправив документы на зачисление, а отправку выполнить позже?

Александр Медов
Александр Медов

Здравствуйте, какова полная сумма предоставленной услуги с печатью документа и отправкой по почте?

Татьяна Россада
Татьяна Россада
Украина, Киев, КНУ имени Тараса Шевченка, 2009
Алексей Соболев
Алексей Соболев
Россия