Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
otvety_k_ekzamenu_po_IT_2010.doc
Скачиваний:
11
Добавлен:
26.09.2019
Размер:
699.9 Кб
Скачать
  1. Диаграммы компонентов и размещения. Их назначение, использование и элементы.

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

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

Диаграммы компонентов применяются теми участниками проекта, кто отвечает за компиляцию и сборку системы. Они нужны там, где начинается генерация кода.

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

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

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

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

  1. Концептуальные основы CASE (Computer-Aided Software/System Engineering)-технологий. Эволюция CASE как самостоятельной дисциплины в программотехнике. Шесть периодов в методологии и инструментарии для разработки программного обеспечения: 1) ассемблеры, дампы памяти, анализаторы; 2) компиляторы, интерпретаторы, трассировщики; 3) символические отладчики, пакеты программ; 4) системы анализа и управления исходными текстами; 5) CASE-средства для анализа требований, проектирования спецификаций и структуры, редактирования интерфейсов (первое поколение — CASE-I); 6) CASE-средства для генерации исходных текстов и реализации интегрированного окружения поддержки полного жизненного цикла разработки программного обеспечения (второе поколение — CASE-II). Различия между CASE-I и CASE-II.

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

1) ассемблеров, дампов памяти, анализаторов;

2) компиляторов, интерпретаторов, трассировщиков;

3) символических отладчиков, пакетов программ;

4) систем анализа и управления исходными текстами;

5) CASE-средств анализа требований, проектирования спецификаций и структуры, редактирования интерфейсов (первая генерация CASE-I);

6) CASE-средств генерации исходных текстов и реализации интегрированного окружения поддержки полного жизненного цикла (ЖЦ) разработки ПО (вторая генерация CASE-II).

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

БД.

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

  1. Шесть этапов CASE-модели жизненного цикла программного продукта (прототипирование — проектирование спецификаций — контроль проекта — кодогенерация — системное тестирование — сопровождение) и ее отличия от пяти этапов традиционной модели (анализ — проектирование — кодирование — тестирование — сопровождение). Сравнение традиционной разработки программных проектов и разработки с применением CASE-технологий.

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

В таблице 14.1 приведены оценки трудозатрат по фазам ЖЦ. Первая строка таблицы соответствует традиционной разработке, вторая - разработке с использованием структурных методологий проектирования, третья - разработке с использованием CASE-технологий. В таблицу 14.2 сведены основные изменения в ЖЦ при использованииCASE-технологий по сравнению с традиционной разработкой.

На рис. 14.2 представлены результаты сравнения традиционной разработки программных проектов и разработки с применением CASE-технологий.

А)                                        B)

Рис. 14.1. Модели жизненного цикла ПО

                                                                                                                                                 Таблица 14.1

Способ разработки

Анализ

Проектирование

Кодирование

Тестирование

Традиционная разработка

20%

15%

20%

45%

Использование структурных методологий проектирования

30%

30%

15%

25%

Использование CASE-технологий

40%

40%

5%

15%

Традиционная разработка     

    1. Основные усилия – на кодирование и тестирование

    2. “Бумажные” спецификации

    3. Ручное кодирование

    4. Ручное документирование

    5. Тестирование кодов

    6. Сопровождение кодов

CASE

  1. Основные усилия - на анализ и проектирование

  2. Быстрое итеративное прототипирование

  3. Автоматическая кодогенерация

  4. Автоматическая генерация документации

  5. Автоматический контроль проекта

  6. Сопровождение спецификаций проектирования

                                                                                                     

  1. CASE-средства автоматизации методологий системного анализа и проектирования. Состав, структура и функциональные особенности современных CASE-средств. Архитектура CASE—пакета: 1) средства централизованного хранения всей информации о проектируемом программном обеспечении в течение всего жизненного цикла (репозитарий); 2) редактор диаграмм; 3) верификатор диаграмм; 4) администратор проекта; 5) документатор проекта.

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

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

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

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

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

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

  2. Широкое использование базовых программных средств, получивших массовое распространение в других приложениях (БД и СУБД, компиляторы с различных языков программирования, отладчики, документаторы, издательские системы, оболочки экспертных систем и базы знаний, языки четвертого поколения и др).

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

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

  5. Доступность для разных категорий пользователей.

  6. Рентабельность.

  7. Сопровождаемость, обеспечивающая способность адаптации при изменении требований и целей проекта.

Интегрированный CASE-пакет содержит четыре основные компонента:

  1. Средства централизованного хранения всей информации о проектируемом ПО в течении всего

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

  • инкрементный режим при вводе описаний объектов;

  • распространение действия нового или скорректированного описания на информационное пространство всего проекта;

  • синхронизацию поступления информации от различных пользователей;

  • хранение версий проекта и его отдельных компонентов;

  • сборку любой запрошенной версии;

  • контроль информации на корректность, полноту и состоятельность.

  1. Средства ввода предназначены для ввода данных в репозитарий, а также для организации взаимодействия с CASE-пакетом. Эти средства должны поддерживать различные методологии и использоваться на всем ЖЦ разными категориями разработчиков: аналитиками, проектировщиками, инженерами, администраторами и т.д.

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

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

Все перечисленные компоненты в совокупности должны:

  • поддерживать графические модели;

  • контролировать ошибки;

  • организовывать и поддерживать репозитарий;

  • поддерживать процесс проектирования и разработки.

  1. Схема постановки и решения задачи: 1)формулирование задачи (1оформулирование цели, 2оописание исходных данных, 3оформулирование модели, 4оформулирование результата, 5оформулирование критерия оценки результата); 2)формализация задачи (1оформализация цели, 2оопределение объектов и свойств, 3оопределение способов вычисления свойств, 4оформирование таблицы «объекты-свойства», 5оформализация критерия оценки результата); 3)выбор способа решения задачи (1оопределение возможности использования ЭВМ, 2овыбор математического аппарата для решения задачи, 3оопределение алгоритмов решения, 4оформирование схемы обработки данных); 4)решение задачи (1осоставление технологической схемы обработки, 2опрохождение технологической схемы на ЭВМ, 3оанализ результата с помощью критерия оценки); 5)интерпретация результата (1осогласование результата с моделью, 2одальнейшее использование результата).

  1. Классификация CASE-средств по 1) по поддерживаемым методологиям проектирования; 2) по поддерживаемым графическим нотациям построения диаграмм; 3) по степени интегрированности; 4) по типу и архитектуре вычислительной техники; 5) по режиму коллективной разработки проекта; 6) по типу операционной системы (ОС).

  1. Классификация CASE-средств по типам (анализ и проектирование; проектирование баз данных и файлов; программирование; сопровождение и реинжениринг; окружение; управление проектом), по категориям (tools — вспомогательная программа; toolkit — пакет разработчика; workbench — инструментальное средство) и по уровням (Upper CASE; Middle CASE; Lower CASE)

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

  • применяемым методологиям и моделям систем и БД;

  • степени интегрированности с СУБД;

  • доступным платформам.

Классификация по типам в основном совпадает с компонентным составом CASE-средств и включает следующие основные типы:

  • средства анализа (Upper CASE), предназначенные для построения и анализа моделей предметной области (Design/IDEF (Meta Software), BPwin (Logic Works));

  • средства анализа и проектирования (Middle CASE), поддерживающие наиболее распространенные методологии проектирования и использующиеся для создания проектных спецификаций (Vantage Team Builder (Cayenne), Designer/2000 (ORACLE), Silverrun (CSA), PRO-IV (McDonnell Douglas), CASE.Аналитик (МакроПроджект)). Выходом таких средств являются спецификации компонентов и интерфейсов системы, архитектуры системы, алгоритмов и структур данных;

  • средства проектирования баз данных, обеспечивающие моделирование данных и генерацию схем баз данных (как правило, на языке SQL) для наиболее распространенных СУБД. К ним относятся ERwin (Logic Works), S-Designor (SDP) и DataBase Designer (ORACLE). Средства проектирования баз данных имеются также в составе CASE-средств Vantage Team Builder, Designer/2000, Silverrun и PRO-IV;

  • средства разработки приложений. К ним относятся средства 4GL (Uniface (Compuware), JAM (JYACC), PowerBuilder (Sybase), Developer/2000 (ORACLE), New Era (Informix), SQL Windows (Gupta), Delphi (Borland) и др.) и генераторы кодов, входящие в состав Vantage Team Builder, PRO-IV и частично - в Silverrun;

  • средства реинжиниринга, обеспечивающие анализ программных кодов и схем баз данных и формирование на их основе различных моделей и проектных спецификаций. Средства анализа схем БД и формирования ERD входят в состав Vantage Team Builder, PRO-IV, Silverrun, Designer/2000, ERwin и S-Designor. В области анализа программных кодов наибольшее распространение получают объектно-ориентированные CASE-средства, обеспечивающие реинжиниринг программ на языке С++ (Rational Rose (Rational Software), Object Team (Cayenne)).

Вспомогательные типы включают:

  • средства планирования и управления проектом (SE Companion, Microsoft Project и др.);

  • средства конфигурационного управления (PVCS (Intersolv));

  • средства тестирования (Quality Works (Segue Software));

  • средства документирования (SoDA (Rational Software)).