Мегаобучалка Главная | О нас | Обратная связь


Роль системотехники в программной инженерии



2016-01-26 877 Обсуждений (0)
Роль системотехники в программной инженерии 0.00 из 5.00 0 оценок




МИНИСТЕРСТВО РОССИЙСКОЙ ФЕДЕРАЦИИ

ПО ДЕЛАМ ГРАЖДАНСКОЙ ОБОРОНЫ, ЧРЕЗВЫЧАЙНЫМ СИТУАЦИЯМ

И ЛИКВИДАЦИИ ПОСЛЕДСТВИЙ СТИХИЙНЫХ БЕДСТВИЙ

ФГБОУ ВПО «АКАДЕМИЯ ГРАЖДАНСКОЙ ЗАЩИТЫ МЧС РОССИИ»

Инженерный факультет

Кафедра информационных систем и технологий

Учебно-методический комплекс дисциплины

«Системная инженерия»

Материалы проведения занятий

Рассмотрено и одобрено

заседанием кафедры №31

протокол №_ от __.10.2012 г.

Химки-2012


ФГБОУ ВПО «АКАДЕМИЯ ГРАЖДАНСКОЙ ЗАЩИТЫ МЧС РОССИИ»

Инженерный факультет

Кафедра информационных систем и технологий

 

 

УТВЕРЖДАЮ

Заведующий кафедрой №31

к.т.н., доцент С.В. Самойлов

Методические рекомендации

по проведению лекции

по учебной дисциплине

«Системная инженерия»

Тема № 1. Программная инженерия в жизненном цикле программных средств. Профили стандартов жизненного цикла систем и программных средств в программной инженерии.

Лекция 1.1. Программная инженерия в жизненном цикле программных средств. Профили стандартов жизненного цикла систем и программных средств в программной инженерии.

Время: 2 часа

Учебные группы:

Обсуждено на заседании кафедры

(предметно-методической комиссии)

Протокол № …“… ”____ 2012 г.

Химки 2012


 

I. Учебные и воспитательные цели:

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

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

 

II. Учебно-материальное обеспечение:

1. Методическая разработка на проведение занятия.

2. Слайд-фильм лекции для ПК.

3. Проекционная аппаратура к ПК.

 

Время4часа

III. Расчет учебного времени:

Содержание занятия Время, мин.
Вступительная часть Проверить подготовленность обучаемых к занятию. Объявить тему, цели занятия, учебные вопросы, порядок их отработки. Назвать учебную литературу.
Учебные вопросы (основная часть)  
1. Основы жизненного цикла программных средств. 2. Системные основы современных технологий программной инженерии. 3. Назначение профилей стандартов жизненного цикла в программной инженерии. 4. Жизненный цикл профилей стандартов систем и программных средств.    
Заключительная часть Напомнить обучаемым вопросы, изученные на занятии, подчеркнуть важность отработанной тематики. Дать задание на самостоятельную подготовку, ответить на возможные вопросы обучаемых.

IV.Литература для самостоятельной работы обучаемых:

а) основная литература:

1. Липаев В.В. Программная инженерия. Методологические основы: Учеб. / В. В. Липаев. Гос. ун-т – Высшая школа экономики. – М.: ТЕИС, 2009. – 608с.

2. Саяпин О.В. Проектирование АСОИУ. Часть 1: Теоретические основы проектирования автоматизированных систем // О.В. Саяпин, С.В. Самойлов, С.В. Чискидов. – Химки: АГЗ МЧС России, 2013. – 168с.

3. Молчанов А.Ю. Системное программное обеспечение / А.Ю. Молчанов. – СПб.: Питер, 2010. – 400 с.

4. Пышкин Е.В. Основные концепции и механизмы объектно-ориентированного программирования : учеб. пособие для студентов вузов / Е.В. Пышкин. – СПб.: БХВ – Петербург, 2005. – 628 с.

5. Соммервилл И. Инженерия программного обеспечения / И. Соммервилл. – М.: Вильямс, 2009. – 624

б) дополнительная литература:

1. Брауде Эрик Дж. Технология разработки программного обеспечения. – СПб, ПИТЕР, 2009. – 655 с.

2. Константайн Л., Локвуд Л. Разработка программного обеспечения. – СПб, ПИТЕР, 2004. – 592 с.

3. Якобсон А., Буч Г., Рамбо Д. Унифицированный процесс разработки программного обеспечения. – СПб, ПИТЕР, 2008. – 496 с.

4. Макконнелл С. Совершенный код. – СПб: «Питер», 2009. – 896 с.

5. Канер С., Фолк Д., Нгуен Е.. Тестирование программного обеспечения: – К., Диасофт, 2010. – 544 с.

6. Штерн В. Основы С++. Методы программной инженерии. – Москва: ЛОРИ, 2009 г. – 860 с.

7. Бек К.. Экстремальное программирование. – СПб: ПИТЕР, 2002. – 224 с.

 

в) программное обеспечение современных информационно-коммуникационных технологий:

Персональные компьютеры с доступом в сеть Интернет.

 

V. Организационно-методические указания:

 

1. За 2-3 дня до начала занятия преподаватель обязан уточнить:

- состав обучаемых;

- учебные вопросы занятия и их содержание;

- разработать и утвердить план проведения занятия.

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

2. Занятие начать с проверки подготовленности обучаемых, затем последовательно отработать учебные вопросы, закончив занятие подведением итогов.

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

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

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

 

Ход занятия

Проверка подготовленности обучаемых к занятию - 5 минут.

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

 

VI. Текст лекции

 


Введение

 

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Значительное внимание в курсе методологии программной инженерии уделено фрагментам и компонентам профилей стандартов ISO,целесообразным для обеспечения высокого качества и безопасности применения программных продуктов в их жизненном цикле. Менеджмент рассматриваемых проектов ориентирован преимущественно на базовые стандарты серии ISO 9000:2000.Стандарты де-факто менеджмента СММ/ CMMIизложены как возможная альтернатива стандартам ISOпри управлении проектированием ПС, однако они не покрывают все процессы жизненного цикла сложных комплексов программ. Наиболее распространенная сертификация предприятий, производящих программные продукты, на соответствие стандартам СММ/ CMMIсущественно проще, чем сертификация на соответствие полному профилю стандартов всего жизненного цикла ISO.При применении моделей СММ/ CMMIучитывается преимущественно качество менеджмента проектов, однако не стандартизируются и не контролируются некоторые важные компоненты процессов ЖЦ: регламентированные характеристики качества ПС; интерфейсы Открытых систем; функциональная и информационная безопасность; комплекс технологической и эксплуатационной документации. Это может быть оправдано для предприятий, создающих программные продукты средней или относительно невысокой сложности, и вряд ли допустимо для разработчиков крупных, особо сложных, критических ПС. Акцент методологии программной инженерии на крупные проекты предполагает сохранение и возможность применения ее базовых методов, процессов и стандартов при обеспечении жизненного цикла относительно небольших проектов. Для этого должна быть предусмотрена и использоваться адаптация стандартов, технологий и инструментария для различных по сложности и размеру проектов.

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

 

1 вопрос: Основы жизненного цикла программных средств

 

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

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

- определение потребностей;

- исследование и описание основных концепций;

- проектирование и разработка;

- испытания системы;

- создание и производство;

- распространение и продажа;

- эксплуатация;

- сопровождение и мониторинг;

- снятие с эксплуатации (утилизация).

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

Первый класссоставляют относительно небольшие программы, создаваемые одиночками или небольшими коллективами (3-5) специалистов, которые:

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

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

- не имеют конкретного независимого заказчика-потребителя, определяющего требования к программам и их финансирование;

- не ограничиваются заказчиком допустимой стоимостью, трудоемкостью и сроками их создания, требованиями заданного качества и документирования;

- не подлежат независимому тестированию, гарантированию качества и/или сертификации.

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

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

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

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

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

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

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

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

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

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

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

 

 

Рис. 1.1

 

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

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

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

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

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

Методы и процессы стандартизации жизненного цикла ПС играют стабилизирующую и организующую роль во всем жизненном цикле многих сложных систем. Они обеспечивают:

- расширение и совершенствование функций систем и компонентов с сохранением их целостности и первичных затрат;

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

- улучшение технико-экономических характеристик применения систем и программных продуктов;

- совершенствование технологий обеспечения жизненного цикла
сложных систем и комплексов программ.

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

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

- в структуре и компонентах ПС и системы следует предусматривать обеспечение максимально возможной сохранности инвестиций в аппаратные и программные средства, а также в базы данных при длительном развитии, сопровождении и модернизации системы;

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

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

- для обеспечения перспективы развития жизненного цикла системы и комплекса программ целесообразно предусматривать возможность интеграции гетерогенных вычислительных компонентов и возможность переноса ПС и БД на различные аппаратные и операционные платформы на основе концепции и стандартов открытых систем;

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

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



2016-01-26 877 Обсуждений (0)
Роль системотехники в программной инженерии 0.00 из 5.00 0 оценок









Обсуждение в статье: Роль системотехники в программной инженерии

Обсуждений еще не было, будьте первым... ↓↓↓

Отправить сообщение

Популярное:
Генезис конфликтологии как науки в древней Греции: Для уяснения предыстории конфликтологии существенное значение имеет обращение к античной...
Организация как механизм и форма жизни коллектива: Организация не сможет достичь поставленных целей без соответствующей внутренней...
Как вы ведете себя при стрессе?: Вы можете самостоятельно управлять стрессом! Каждый из нас имеет право и возможность уменьшить его воздействие на нас...



©2015-2024 megaobuchalka.ru Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. (877)

Почему 1285321 студент выбрали МегаОбучалку...

Система поиска информации

Мобильная версия сайта

Удобная навигация

Нет шокирующей рекламы



(0.019 сек.)