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

Автор: Пользователь скрыл имя, 19 Марта 2012 в 00:56, реферат

Описание работы

Широкое использование вычислительной техники в различных сферах деятельности человека привело к потребности создания соответствующего программного обеспечения. Однако трудоемкость и наукоемкость разработки программ настолько огромны, что ведутся работы по созданию новых технологий автоматизации проектирования программных средств. Это направление получило название CASE-технология (Computer – Aided Software Engineering, т.е. разработка программного обеспечения с помощью компьютера).

Содержание

ВВЕДНИЕ 3
Определений целей, функций, входов и выходов системы 6
Сущность структурного анализа и проектирования 9
Структура CASE-средств 15
Результаты использования CASE-средств 18
Критерии оценки и выбора CASE-средств 22
Переход к практическому использованию CASE-средств 24
ЗАКЛЮЧЕНИЕ 27
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ 28

Работа содержит 1 файл

Реферат.docx

— 157.04 Кб (Скачать)

МИНИСТЕРСТВО  ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ

ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ ОБРАЗОВАТЕЛЬНОЕ  УЧРЕЖДЕНИЕ

ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО  ОБРАЗОВАНИЯ

«КАМСКАЯ  ГОСУДАРСТВЕННАЯ ИНЖЕНЕРНО-ЭКОНОМИЧЕСКАЯ  АКАДЕМИЯ»

(ИНЭКА)

 

Кафедра «Математическое  моделирование и информационные технологии в экономике»

 

 

КОНТРОЛЬНАЯ РАБОТА

по дисциплине

 «ТЕОРИЯ СИСТЕМ И  СИСТЕМНЫЙ АНАЛИЗ»

Тема: «Инструментальные  средства автоматизации процессов  проектирования и разработки программного обеспечения»

 

 

 

Выполнил  студент:

Группа:

№ зачетной книжки:

Проверил:

 

 

г.Набережные Челны

2011г. 

Оглавление

ВВЕДНИЕ 3

Определений целей, функций, входов и выходов системы 6

Сущность структурного анализа и проектирования 9

Структура CASE-средств 15

Результаты использования CASE-средств 18

Критерии оценки и выбора CASE-средств 22

Переход к практическому использованию CASE-средств 24

ЗАКЛЮЧЕНИЕ 27

СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ 28

 

 

ВВЕДНИЕ

Широкое использование  вычислительной техники в различных  сферах деятельности человека привело  к потребности создания соответствующего программного обеспечения. Однако трудоемкость и наукоемкость разработки программ настолько огромны, что ведутся  работы по созданию новых технологий автоматизации проектирования программных  средств. Это направление получило название CASE-технология (Computer – Aided Software Engineering, т.е. разработка программного обеспечения с помощью компьютера).

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

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

 

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

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

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

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

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

CASE-средства (Computer-Aided Software/System Engineering) – это программные средства, поддерживающие методологию проектирования информационных систем, а также набор инструментальных средств, поддерживающих процессы создания и сопровождения информационных систем, моделирование предметной области, включая анализ и формулировку требований, проектирование процессов и баз данных, генерацию кода, тестирование, документирование, обеспечение качества, конфигурационное управление и управление проектом.

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

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

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

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

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

 

Определений целей, функций, входов и выходов системы

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

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

Большинство современных CASE-средств поддерживает методологии структурного и/или объектно-ориентированного анализа и проектирования информационных систем. Выбор того или иного подхода (парадигмы1) подразумевает следование ему и на стадии кодирования. Их отличие друг от друга заключается в выборе способа декомпозиции системы (задачи). Если за основу принимается функциональная1 (алгоритмическая) декомпозиция, то речь идет о структурном подходе, если объектная – об объектно-ориентированном.

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

Все современные CASE-средства можно классифицировать по типам и категориям. Классификация  по типам отражает функциональную ориентацию CASE-средств на те или иные процессы жизненного цикла. Классификация по категориям определяет степень интегрированности  по выполняемым функциям и включает отдельные локальные средства, решающие небольшие автономные задачи, набор  частично интегрированных средств, охватывающих большинство этапов жизненного цикла информационных систем и полностью интегрированные средства, поддерживающие весь жизненный цикл информационных систем и связанные общим репозиторием. Помимо этого 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)).

Результатом применения одной из методологий (в данном случае SADT) является модель, которая состоит из диаграмм, фрагментов текстов и глоссария, имеющих  ссылки друг на друга. Диаграммы - главные  компоненты модели, все функции информационной системы и интерфейсы на них представлены как блоки и дуги. Место соединения дуги с блоком определяет тип интерфейса. Управляющая информация входит в блок сверху, в то время как информация, которая подвергается обработке, показана с левой стороны блока, а результаты выхода показаны с правой стороны. Механизм (человек или автоматизированная система), который осуществляет операцию, представляется дугой, входящей в блок снизу (рис.1).

Рисунок 1. Функциональный блок и интерфейсные дуги

 

Сущность  структурного анализа и проектирования

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

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

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

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

Таблица 1. Методологии структурного анализа и проектирования

Методология

Тип разрабатываемой модели

SADT

(Structured Analysis and Design Technique, методология  структурного анализа и проектирования)

Функциональная

DFD

(Data Flow Diagrams, диаграммы потоков  данных)

Смешанная (функциональная, информационная, компонентная)

ERD

(Entity-Relationship Diagrams, диаграммы «сущность-связь»)

Информационная

STD

(State Transition Diagrams, диаграммы  изменения состояний)

Поведенческая

Flowcharts

(блок-схемы)

Смешанная (поведенческая, информационная, компонентная)

IDEF0

(Integrated Definition Function Modeling, )

Функциональная

IDEF1

Информационная

IDEF2

Динамическая

IDEF3

Смешанная (функциональная, информационная, компонентная)

UML

(Unified Modeling Language)

Визуальная

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