Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
пособие ОСДО.doc
Скачиваний:
29
Добавлен:
25.09.2019
Размер:
486.91 Кб
Скачать

1.3. Особенности современной методологии программной инженерии

Пе­речисленные выше изменения объектов и проблемы обеспечения их жизненного цикла вызнал» ряд принципиальных изменений в мето­дологии их создания и развития [2]:

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

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

  • высокая стоимость и большие ресурсы, используемые при создании сложных ПС и БД привели к необходимости детального технико-экономического анализа и обоснования проектов ИС до начала их осуществления;

  • создание ПС и БД не завершается после первичных испытаний и сертификации первой версии, а, как правило, длительное время они развиваются и модифицируются, воплощаясь в серию версий;

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

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

  • приведенные изменения методологии обеспечения жизненного цикла ПС и БД отразились на модификации и повышении требований к профессиональной квалификации специалистов по информационным системам, значительно возросла роль и потребность в специалистах — интеграторах ИС на базе готовых компонентов и снизилась потребность в разработке и программировании таких компонентов.

Успешное создание, сопровождение и развитие современных ИС, обладающих всеми или частью свойств, которые были рассмотрены выше, связано с применением всего арсенала методов и средств, созданных в процессе эволюции программной инженерии. Эволю­ция методологии программной инженерии за 20 лет создала воз­можности, достаточные для того, чтобы обеспечить автоматизацию и поддержку практически всех процессов и стадий жизненного цик­ла программного обеспечения.

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

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

Третий этап характеризовался созданием первого поколения CASE-технологий и CASE-систем, в которых обеспечивались: поддержка технологий программирования, поддержка управления кол­лективной работой специалистов нал общим проектом, автоматиза­ция выпуска проектной документации, использование базы данных проекта (получившей в дальнейшем развитие как репозиторий про­екта). Автоматический переход от проектирования к разработке в этих системах не обеспечивался.

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

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

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

Учитывая, что подмножество инструментальных средств, приме­няемых при проектировании и программировании ПС с помощью CASE-системы, должно быть перенесено на целевую платформу ИС. Чтобы обеспечить сопровождение ПС в эксплуатации и его разлитие, целесообразно обеспечивать переносимость этих инструментальных средств с платформы CASE-системы на целевую платформу.

Большинство отмеченных выше свойств современных информа­ционных систем, связаны с повторного использования существующих программ и данных. Эти задачи подлежат решению в каждом кон­кретном случае: интеграции существующих автономных систем в единую корпоративную систему, миграции «унаследованных» сис­тем, проектирования распределенных систем. По некоторым оцен­кам, только 10-15 % прикладных программ современных ИС необ­ходимо создавать вновь в связи с постановкой новых задач, требу­ющих решения. Остальные прикладные программы и данные могут быть заимствованы из предшествующих проектов, приобретены как готовые покупные продукты или получены для использования пу­тем доступа к информационным ресурсам внешних систем или сетей.

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