Визуальное компонентное программирование

Автор работы: Пользователь скрыл имя, 23 Мая 2013 в 18:40, курсовая работа

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

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

Содержание работы

Введение _____________________________________________________3
Глава 1. Обзор существующих подходов ___________________________5
Компьютерная инженерия _______________________________________5
Язык SDL (Specification and Description Language) _____________________5
Метод OOSE (Object-Oriented Software Engineering) ___________________6
Метод Буча _____________________________________________________8
Язык UML (Unified Modeling Language) ______________________________9
Методология ROOM (Real-time Object-Oriented Modeling) _____________10
Метод RUP (Rational Unified Process) _______________________________11
Определение CASE-пакета _______________________________________13
Компонентные системы ________________________________________14
Системы реального времени ____________________________________15
Обзор существующих подходов к проектированию компонентного ПО с применением расширенных конечных автоматов ___________________15
Язык SDL ______________________________________________________16
Компонента ___________________________________________________16
Интерфейс и порт ______________________________________________18
Поведенческая модель _________________________________________19
Глава 2. Методология CASE-пакета ________________________________21
Предназначение визуального моделирования и определение CASE-пакета 22
Принцип представления информации о разрабатываемой системе с точки зрения визуального моделирования _______________________________25
Язык визуального моделирования ________________________________26
Принципы моделирования ______________________________________28
Технологическое решение ______________________________________28
Глава 3. Моделирование компонентного ПО _______________________29
Компонента ___________________________________________________30
Интерфейс ____________________________________________________30
Заключение ___________________________________________________32
Указатель литературы __________________________________________33

Файлы: 1 файл

курсовая.docx

— 102.23 Кб (Скачать файл)

Кыргызский Национальный Университет им.Ж.Баласагына

Центр Непрерывного Образования и  Повышения Квалификации

Колледж Информационных Технологий

 

Курсовая работа

На тему: Визуальное компонентное программирования

 

 

Группа: ПОВТ и АС 3-10

Выполнила: Урматбек кызы Айназик

Проверил: Опобеков Сатарбек

 

 

 

 

 

 

 

 

 

                                                          Бишкек 2013 год 

Содержание 

 

Введение  _____________________________________________________3

Глава 1. Обзор  существующих подходов ___________________________5

Компьютерная инженерия _______________________________________5

Язык SDL (Specification and Description Language) _____________________5

Метод OOSE (Object-Oriented Software Engineering) ___________________6

Метод Буча _____________________________________________________8

Язык UML (Unified Modeling Language) ______________________________9

Методология ROOM (Real-time Object-Oriented Modeling) _____________10

Метод RUP (Rational Unified Process) _______________________________11

Определение CASE-пакета _______________________________________13

Компонентные  системы ________________________________________14

Системы реального  времени ____________________________________15

Обзор существующих подходов к проектированию компонентного ПО с применением расширенных конечных автоматов ___________________15

Язык SDL ______________________________________________________16

Компонента  ___________________________________________________16

Интерфейс и  порт ______________________________________________18

Поведенческая модель _________________________________________19

Глава 2. Методология CASE-пакета ________________________________21

Предназначение  визуального моделирования и  определение CASE-пакета 22

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

Язык визуального  моделирования  ________________________________26

Принципы  моделирования  ______________________________________28

Технологическое решение  ______________________________________28

Глава 3. Моделирование  компонентного ПО _______________________29

Компонента  ___________________________________________________30

Интерфейс ____________________________________________________30

Заключение  ___________________________________________________32

Указатель литературы __________________________________________33

 

 

 

 

Введение

Объектно-ориентированное  визуальное моделирование – молодая  и бурно развивающаяся область  компьютерной инженерии. В начале 90-х  годов по этой теме появилось много  фундаментальных работ. Наибольшее влияние на формирование этой области  оказали исследования Г.Буча, И. Джакобсона, Д. Рэмбо, П.Коуда, Д.Харела, Б.Селика и др., усилиями которых был создан стандарт в этой отрасли – язык UML (Unified Modeling Language)

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

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

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

Общие методы объектно-ориентированного анализа и проектирования программного обеспечения существенно повлияли на более специализированную область  компьютерной инженерии – компонентный подход к созданию ПО. Компонентность, будучи специальным частным случаем объектной ориентированности, успешно решает проблему инкапсуляции сложности. На уровне платформ программирования компонентность поддерживается широко: можно назвать ActiveX-технологии, Java Beans и т.д. Но на уровне средств визуального моделирования, предназначенных для анализа и проектирования таких систем, компонентность поддерживается слабо и неполно. В UML компонента отождествляется с классом или элементом физической структуры ПО, в ROOM (Real-Time Object-Oriented Modeling) компонента рассматривается в очень узком смысле – как “черный ящик”, способный взаимодействовать с внешним миром только через сообщения, в то время как компоненты реального ПО могут вызывать также методы друг друга и т.п.

В данной работе предложена новая  компонентная модель, основанная на модели классов UML и расширенная чертами структурных моделей ROOM и SDL (Specification and Description Language), что позволяет проектировать компонентное ПО различного вида (телекоммуникационные системы, интернет-приложения, информационные системы и т.д.).

Настоящая работа является составной частью исследований в рамках проекта Real. Лаборатория системного программирования НИИММ СПбГУ совместно с кафедрой системного программирования математико-механического факультета СПбГУ при финансовой поддержке ГП “Терком” и ЗАО “Ланит-Терком” занимается технологиями программирования с 1984 года, когда для ЕС ЭВМ был создан первый графический SDL-редактор. Дальнейшее движение осуществлялось следующих направлениях: создание средств имитационного моделирования, автоматическая генерация программ для инструментальной и целевых платформ, погружение сгенерированного ПО в целевые комплексы вычислительных средств. Важным направлением развития явилась ориентация на проблемы генерации данных. Результатом этих исследований стала объектно-базированная система RTST (Real-Time Software Technology) основанная на языке Алгол 68 и рекомендациях ITU (International Telecommunication Union). С помощью этой системы было создано несколько телефонных станций общего и специального назначения.

В начале 90-х  годов появилось много работ  по объектно-ориентированной компьютерной инженерии. OMT/UML и ROOM стали дополнительными  источниками новых идей и подходов. Однако UML в чистом виде оказался неприменимым для создания эффективного CASE-пакета и был творчески переосмыслен участниками проекта Real.

 

 

 

Глава 1. Обзор существующих подходов

Компьютерная  инженерия

В 1968 году на одной из конференций НАТО по проблемам  разработки программного обеспечения  был предложен термин “Software Engineering”. Так была названа новая научная дисциплина, объектом исследования которой являются проблемы создания больших компьютерных систем.

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

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

Язык SDL (Specification and Description Language)

Specification and Description Language (SDL) в переводе с английского – язык спецификаций и описаний. Под спецификацией понимается точное формальное определение системы или ее части, под описанием – неформальная спецификация, иллюстрирующая тот или иной аспект системы. Описания используются на ранних этапах разработки системы или для ее документирования, спецификации – на стадии детального проектирования, и по ним предполагается автоматическая генерация программного кода. Тот факт, что для этих разных этапов разработки системы предлагается один язык, является несомненным достоинством SDL, поскольку в этом случае преодолевается проблема семантических разрывов.

Язык SDL предназначен для разработки событийно-ориентированных распределенных систем. Он развивается международным  комитетом ITU с 1976 года и является одним  из долгожителей в компьютерной инженерии. Есть два варианта этого языка  – текстовый (SDL/PR) и графический (SDL/GR), семантика которых, за исключением  некоторых тонкостей, совпадает. Более  десяти фирм в Европе (Telelogic, Verilog и т.д.) разрабатывают CASE-средства на основе SDL. Эти продукты используются многими крупными европейскими фирмами-производителями телекоммуникационных систем.

Кроме языка SDL комитет ITU предложил  целое семейство стандартов на средства разработки телекоммуникационных систем. Можно назвать язык высокого уровня CHILL , MSC (графический язык сценариев). В Европе ежегодно проходит большое количество конференций, где обсуждаются различные аспекты этих стандартов.

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

Метод OOSE (Object-Oriented Software Engineering)

Этот подход изложен в работе, которая является одной из фундаментальных в области объектно-ориентированных методов разработки ПО. Основная задача этого подхода: приблизить компьютерную инженерию к типовому промышленному процессу, каковым является, например, строительство. Основополагающий принцип подхода – объектная ориентированность, как для анализа, проектирования, программирования, так и для описания процесса разработки ПО в целом. Подход предназначен, в первую очередь, для разработки больших систем. На основе OOSE создан метод Objectory, реализованный в продукте фирмы Objectory AB. В 1995 году, после слияния этой фирмы с Rational Software Corp., этот метод использовался при создании RUP (Rational Unified Approach).

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

Выше следует метод – линейная последовательность шагов, процедура  создания идеальной системы “с нуля”. Метод описывает то, как применять  архитектуру к разработке системы.

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

И, наконец, инструментальные средства – это воплощение архитектуры, метода и процесса в конкретном программном  продукте – CASE-средстве, с помощью  которого происходит разработка системы.

Анализ и проектирование в OOSE основаны на методе случаев использования (use case approach), с помощью которых, через построение для них сценариев, выделяются объекты. Предлагается несколько объектных моделей для разных стадий разработки системы и, как в SDL, блочный анализ.

Метод Буча

Основой иерархии понятий являются методология и  метод.

“Методология  – это набор методов, применяемых  в процессе всего жизненного цикла  создания программного обеспечения  и объединенных единой философской  концепцией.” В качестве такой  концепции у Буча выступает объектно-ориентированный взгляд на мир.

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

В основе метода лежит возможность  рассматривать разрабатываемую  систему с разных точек зрения. Результат такого рассмотрения называется моделью системы. Буч выделяет следующие  типы моделей: логическую, физическую, статическую и динамическую. Под моделью понимается как способ видения, так и его результаты. В первом случае часто используется также термин view – точка зрения.

Нотация – это графический язык для описания моделей. Эта часть  метода является формальной.

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

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

Язык UML (Unified Modeling Language)

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

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