Использование стандартов и методологий в жизненном цикле разработки и сопровождения программного обеспечения информационных систем Позин Борис Аронович, д.т.н., Директор Департамента консалтинга и методологии создания ПО информационных систем компании АйТи, E-mail: [email protected] Введение Разработка больших проектов, как правило, связана с работой коллективов размером несколько десятков и даже сотен человек. Иногда такие разработки ведет кооперация из нескольких организаций. Естественно, в этих условиях разработка и сопровождение создаваемого программного обеспечения (ПО) немыслима без совокупности нормативно-методических документов, регламентирующих различные аспекты процессов деятельности людей, регламентов и методик их поведения и взаимодействия на различных стадиях жизненного цикла ПО. Комплекс таких документов называют нормативнометодическим обеспечением, или нормативно-методической базой. Цели, задачи и состав нормативно-методического обеспечения 1.1. Нормативно-методическое обеспечение (НМО) представляет собой комплекс документов, регламентирующих: порядок разработки, сопровождения, внедрения и развития ПО информационных систем (ИС); общие требования к его составу и связям между входящими в него составными частями; виды, состав и содержание проектной и программной документации. 1.2. Целью НМО является установление общих правил ведения и оформления разработки ПО, обеспечивающих единую нормативную и методическую основу для взаимодействия по организационным и техническим вопросам реализации проектов групп специалистов заказчика и подрядчиков, осуществляющих разработку, эксплуатацию, внедрение и сопровождение ПО ИС. Следование требованиям НМО позволит создавать ИС, которые отличает высокое качество; сопровождаемость; соответствие требованиям международных стандартов в области информационных технологий, а также снизить совокупные затраты на создание и использование ПО ИС. 1.3. Основными задачами НМО являются: регламентация общего порядка, состава и содержания процессов создания, сопровождения, внедрения и развития ПО ИС; 2 регламентация общих требований к ПО ИС для обеспечения их высокого качества, унификации построения, оформления, повторного использования, а также для снижения совокупных затрат на их жизненном цикле (ЖЦ); формирование необходимых методических материалов, обеспечивающих различным коллективам, участвующим в работах на ЖЦ, возможность использовать наиболее эффективные приемы и методы работы, выполнять их по единой схеме и получать единообразные результаты; регламентация состава и форм проектных материалов и программной документации. 1.4. В состав НМО входят стандарты и руководящие документы, методики выполнения сложных операций, шаблоны проектных и программных документов. Все входящие в состав НМО документы должны быть определены по: виду регламентации (стандарт, руководящий документ, положение, инструкция и т.п.), статусу регламентирующего документа (международный, отраслевой, предприятия), области действия документа (Заказчик, подрядчик, проект), объекту регламентации или методического обеспечения. В качестве объектов регламентации и методического обеспечения могут выступать: стадии работ и их результаты; процессы жизненного цикла и их отдельные элементы (задачи, работы и т.п.); этапы работ по стадиям и процессам; регламенты выполнения работ и отдельные процедуры; роли персонала, их обязанности и ответственность за конечный результат; результаты работ (проектные и программные документы); метрики измерения сложности, качества и трудоемкости работ. 1.5. В соответствии с современными тенденциями в области программной инженерии разработка ПО ИС должна проводиться фиксируемыми во времени конструкциями: версиями и релизами, а краткосрочные изменения должны проводиться временными изменениями - патчами. 1.6. Нормативное обеспечение должно определять и в части взаимодействия организации-заказчика с соисполнителями: общие правила ведения работ; классификацию ПО; базовые термины и определения; требования к составу и связям ПО ИС, порядку их формирования и развития; требования к сопровождению и эксплуатации; отношения держателей подлинников, дубликатов и рабочих копий. 3 1.7. Методическое обеспечение должно формироваться по процессам, регламентам, операциям и ролям в целях определения наиболее эффективных приемов работы и обеспечения качества. Методическое обеспечение должно поддерживать определенную комплексную методологию эффективного ведения работ. Как правило, методическое обеспечение должно быть поддержано инструментальными средствами. 1.8. Нормативно-методическая документация должна регламентировать и методически поддерживать процессы жизненного цикла по ГОСТ Р ИСО/МЭК 12207-99, в первую очередь: планирование проектных работ, управление графиком и ресурсами для их выполнения; метрики и методики оценки трудоемкости проведения работ на всех стадиях выполнения проекта; управление рисками; управление качеством ПО; управление требованиями; конфигурационное управление; управление изменениями; тестирование ПО; порядок испытаний; документирование. Нормативная база 2.1. Нормативной базой НМО являются международные и отечественные стандарты в области информационных технологий, и, прежде всего: Стандарты ИСО/МЭК; Стандарты IEEE; Стандарты OMG; Стандарты ГОСТ Р, Стандарты организации-заказчика. Концептуальные основы нормативной базы, основанные на современных международных стандартах, учитывают необходимость совместного рассмотрения жизненных циклов ИС и ПО с учетом отработки как управленческих, так и технических вопросов комплексных проектов, выполняемых совместно несколькими организациями. Полная реализация концепции для крупной заказывающей организации может потребовать значительного времени, поэтому предлагается решать задачу создания нормативной базы поэтапно. Начальное формирование нормативной базы целесообразно основывать на группе первоочередных стандартов. 2.2. В качестве первоочередных целесообразно использовать следующие нормативные документы: В части регламентации процессов предприятия: 1) IEEE Std 610.12-1990. IEEE Standard Glossary of Software Engineering Terminology; 2) ГОСТ Р ИСО МЭК 12207-99 “Информационные технологии. Процессы жизненного цикла программного обеспечения”; 3) IEEE 1074 – Жизненный цикл разработки программных средств; 4 4) ИСО/ТО 10006:1997 (R) “Менеджмент качества. Руководство качеством при административном управлении проектами”; 5) ISO 15846, ISO 10007 - стандарты по менеджменту конфигурации программных средств; 6) ISO 9000 – 2000; группы ГОСТ Р 9000х; 7) ISO/IEC TR 15504 – Оценка процессов жизненного цикла ПО (Information technology – Software process assessment). В части порядка разработки и документирования ИС и ПО: 8) ГОСТ 34.ххх “Информационная технология. Комплекс стандартов и руководящих документов на автоматизированные системы”; 9) ГОСТ 19.ххх “Единая система программной документации”; 10) IEEE 1063-1987 Standard for Software User Documentation; 11) IEEE 830-1994 “Рекомендуемая практика формирования спецификаций программного обеспечения”; 12) IEEE 829 – Планирование тестирования программных средств; 13) DoD STD 2167A “Разработка программного обеспечения оборонных систем”; В части качества программных средств: 14) ГОСТ 28806 “Качество программных средств. Термины и определения”; 15) ГОСТ 28195 “Оценка качества программных средств. Общие положения”; 16) ГОСТ 9126 “Информационная технология. Оценка программного продукта. Характеристики качества и руководящие указания по их применению”. Состав и статус первоочередных нормативных документов 3.1. Международные и отечественные стандарты, перечисленные в предыдущем разделе, должны быть введены в действие в установленном порядке 3.2. Недостающие для организации разработки ПО ИС стандарты следует разработать, как отраслевые стандарты или стандарты предприятия. К их числу должны относиться стандарты, регламентирующие, прежде всего: порядок инициации проекта и разработки ПО; порядок приемки ПО; порядок внедрения и эксплуатации; порядок постановки работ по сопровождению; состав выпускаемых программных документов и их соответствие ГОСТ Р. В этих документах не должно быть привязки к конкретным проектам, системам или платформам. 3.3. Процессы жизненного цикла и их реализация в масштабах заказывающей, эксплуатирующей и сопровождающей организации, на этом этапе целесообразно регламентировать руководящими документами (РД) или Положениями. РД устанавливают регламент выполнения процессов, и утверждаются руководством организации. Они могут действовать на относительно коротком отрезке времени для отработки организационно-технических решений. 5 3.4. Наиболее эффективным инструментом в рамках проекта представляются методики, включенные в состав методологии или технологии, используемой в проекте ИС. Методические документы и шаблоны 4.1. Методические документы определяют основные процессы и этапы работ, порядок выполнения работ на этапах, роли и ответственность персонала, и документы, являющиеся результатами работ. Состав и содержание методических документов зависят от методологии ведения работ и используемых инструментальных средств. 4.2. Методические документы дополняют и конкретизируют имеющиеся в заказывающей организации стандарты в части этапов и приемов работы. 4.3. Методические документы могут описывать по составу и содержанию работ следующие процессы: 1) вспомогательные процессы (ГОСТ Р ИСО/МЭК 12207-99) документирование (процесс определяет действия для записи информации, являющейся результатом выполнения какого-либо процесса жизненного цикла); управление конфигурацией (процесс определяет действия по управлению конфигурацией); обеспечение качества (процесс определяет действия для объективной гарантии, что программные продукты и процессы соответствуют заданным требованиям и не противоречат установленным замыслам) 2) организационные процессы, включающие в себя: управление проектом (процесс определяет основную деятельность управления, включая проектный менеджмент, в течение жизненного цикла); создание инфраструктуры (процесс определяет основные действия для создания нижней структуры процесса жизненного цикла); усовершенствование (процесс определяет основные действия, которые ГЦИ выполняет для создания, оценки, управления и совершенствования их процесса жизненного цикла); обучение (процесс определяет действия для обеспечения соответствующего обучения). 4.4. Методические документы, как правило, регламентируют следующие аспекты выполнения проектов программных средств и управления этими проектами: 1) функциональная схема технологических процессов для каскадного и спирального жизненных циклов. Описание каждого процесса должно содержать следующие сведения: наименование процесса и его назначение, условия его выполнения, состав, структура, назначение и описание содержания входных данных (документов), необходимых для выполнения процесса, состав, структура, назначение и описание содержания выходных данных (документов), получаемых в результате выполнения процесса, роль (роли) выполняющая процесс, метрики трудоемкости, способы ее измерения и ее оценка, состав основных рисков при выполнении процесса, состав и назначение инструментальных средств, используемых при выполнении процесса; 2) описание ролей, принимающих участие в выполнении проекта ИС и управления этим проектом, включающее в себя следующие сведения для каждой 6 роли: наименование роли и ее назначение, состав процессов, в выполнении которых она участвует, права и обязанности роли в каждом из процессов, в выполнении которого она участвует, с какими ролями и в каких целях роль взаимодействует, требования к ее квалификации и опыту, 3) инструкции по работе с инструментальными средствами, которые должны содержать сведения о том, в каких процессах, какой ролью и для каких целей используется каждое инструментальное средство и подробные руководства по работе на каждом инструментальном средстве. Эти инструкции могут представлять собой документацию на инструментальные средства. 4.5. При проведении работ по разработке ПО целесообразно использовать шаблоны проектных и программных документов. Шаблоны всех документов, создаваемых на протяжении жизненного цикла ПО, и описания их содержания после их апробации целесообразно оформить в виде отраслевого стандарта предприятия и ввести в действие в установленном порядке.