Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
1
Добавлен:
20.04.2023
Размер:
3.41 Mб
Скачать

Классическая постановка задачи разработки программной системы (инжиниринг)

представляет собой спиральный цикл итеративного чередования этапов объектно-

ориентированного анализа, проектирования и реализации (программирования).

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

Современные CASE-средства поддерживают процессы инжиниринга и автоматизированного реинжиниринга.

Идеальное объектно-ориентированное CASE-средство должно содержать четыре основных блока: анализ, проектирование, разработка и инфраструктура рисунок 27.

Рисунок 27 -Идеальноеобъектно-ориентированноеCASE-средство

Основныетребованияк блокуанализа:

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

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

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

•возможностьдинамическогомоделированиявтерминахсобытии;

•поддержка нескольких нотаций (хотя бы три нотации- Г Буча, И ДжекобсонаиОМТ) Основныетребованиякблокупроектирования:

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

•возможностьработысбиблиотеками,средствамипоискаивыбора;

•возможностьразработкипользовательскогоинтерфейса;

•поддержкастандартовOLE,ActiveXидоступкбиблиотекамHTMLилиJava;

•поддержкаразработкираспределенныхилидвух-итрехзвенныхклиент-

серверныхсистем(работасCORBA,DCOM,Internet). Основныетребованияк блокуреализации.

•генерациякодаполностьюиз диаграмм;

•возможностьдоработки приложенийвклиент-серверныхCASE-

средствахтипаPowerBuilder;

•реинжинирингкодовивнесениесоответствующихизмененийвмодельсистемы;

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

Основныетребованиякблокуинфраструктур:

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

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

Втаблице3приведенобзорнаиболее распространенных объектно-

ориентированныхCASEсредств.

Таблица № 3

N

Продукт, фирма

Поддержив

Используем

Генера

Описание

п/п

разработчик

аемыеплат

ые коды

ция

 

 

 

формы

 

кода

 

 

 

 

 

 

 

N

Продукт, фирма

Поддержив

Используем

Генера

Описание

п/п

разработчик

аемыеплат

ые коды

ция

 

 

 

формы

 

кода

 

 

 

 

 

 

 

1

BridgcPoint

Unix, SIG

Шлеер/Мелл

C/C++

Поддержка полного жизненного

 

(версия 3.2.1),

Irix

ор

 

цикла в рамках методики «Шлеер/

 

Project Tehnology

 

 

 

Меллор», генерация кода

 

 

 

 

 

 

2

Grapical Designer

Unix,Windo

Г. Буч,И.

C/C++

Генерация кода и реинжиниринг

 

(версия 2.0),

ws

Джекобсон,

 

для каждого из поддерживаемых

 

Advanced Software

 

ОМТ, Шлеер/

 

языков и методологий. Командная

 

Technologies

 

Мсллор,

 

работа Возможность создания

 

 

 

UML.08 и

 

собственной нотации

 

 

 

структурная

 

 

 

 

 

 

 

 

3

LifeModcl for ООО

Unix,

Мартин/Одел

С

Средство является верхним

 

IE (версия 1),

Windows

л(OOIE)

 

уровнем фирменного продукта

 

InteliCorp

NT

 

 

искусственного интеллекта Карра.

 

 

 

 

 

Прототипирование В режиме

 

 

 

 

 

интерпретатора, генерация кода,

 

 

 

 

 

создание экранов и т.д.

 

 

 

 

 

Возможность программирования на

 

 

 

 

 

С или на внутреннем scriptязыке

 

 

 

 

 

типа Prolog

 

 

 

 

 

 

4

ObjectTimc,

Unix

ROOM

C++

Создание и визуализация

 

ObjectTimc Ltd

 

 

 

исполняемых моделей систем

 

 

 

 

 

реального времени на основе ОО-

 

 

 

 

 

метолологии реального времени

 

 

 

 

 

(ROOM). Внутренний scriptязык —

 

 

 

 

 

подмножество «Smalltalk*

5

Object ory (версия

Unix, OS/2,

И. Джскоб-

C++,

Два варианта: AnalysisWorkbench

 

3 7). Rational

DOS5,

сон

Small

для ОО-ана- лиза и

 

Software

Windows

 

talk

DesignWorkbench для

 

 

 

 

 

проектирования. Связь с

 

 

 

 

 

VisualWorks и C++ Softbench. BPR

 

 

 

 

 

на основе метода Джекобсона. Так

 

 

 

 

 

как Objcctory перешло к Rational, то

 

 

 

 

 

неизвестно, как долго еще продута

 

 

 

 

 

будет поддерживаться

 

 

 

 

 

 

6

ObjectPartner

Unix

ОМТ

C++

Распространяет Verelog, а также

 

(версия 2 0),

 

 

 

Logiscope и Object - Geode

 

Verilog

 

 

 

 

 

 

 

 

 

 

7

ObjectTea mEntc r-

Unix

ОМТ

C++

Cayenne объединяет Cadre и

 

prise (версия 1)

 

 

 

Bachman technology Пользователям

 

Cayenne Software

 

 

 

ObjectTeam (метод Шлеер/Меллор)

 

 

 

 

 

преллагается обратиться к

 

 

 

 

 

продуктам BridgePoint

N

Продукт, фирма

Поддержив

Используем

Генера

Описание

п/п

разработчик

аемыеплат

ые коды

ция

 

 

 

формы

 

кода

 

 

 

 

 

 

 

8

Object Maker

Unix,

15 нотаций, в

Ada 83.

Общий репозиторий в сети,

 

(версия 4 2, 1995)

Windows

частности: Г

’95,

командная работа.

 

Mark V

 

Буч,

C/C++.

ЕстьлокальныйпродуктObject Maker

 

 

 

ОМТ, Шле-

Smalltal

Consulant

 

 

 

ер/Мсллор,

k

 

 

 

 

Код/Йор дон

 

 

 

 

 

и др.

 

 

 

 

 

 

 

 

9

Paradigm Plus

Unix, OS/2,

8 нотаций, в

Ada.

Генерация SQL, ОО и реляционные

 

(версия 3 0)

Windows

частности.

C/C++,

БД. Реинжинирингдля Forte.

 

Platinum

 

Г. Буч,

Smalltal

PowerBuilder, VisualWorks. Visual

 

Technology

 

ОМТ, Шле

k.

Smalltalk Enterprise. VisualAge,

 

(formerly Protosofi)

 

ер/Меллор,

Java

Object Pro ObjectStore. OO

 

 

 

Fusion и т.д.

 

DВвкачестверепозитория

 

 

 

 

 

 

10

Piech (версия 4.0),

Windows,

Мартин/Одел

C++,

Интегрированс Object Store,

 

Ptech Inc

Unix

л (OOIЕ)

Forte

Objectivity, ONTOS. Генерация кода

 

 

 

 

2.0

длябиблиотека классов Tools h++,

 

 

 

 

 

USL

 

 

 

 

 

 

11

Rational Rose

Windows,

Г Буч, ОМТ

Ada,C+

Конвертация Буч/ОМТ Поддержка

 

(версия 3.0),

UNIX

 

+,Small

Java. COBRA Реинжиниринг кода

 

Rational Software

(Solaris, HP

 

talk,Vis

из Forte SQLWindows. Power

 

 

UX, AIX)

 

ualBasi

Builder и ОО - языков Объявлено о

 

 

 

 

c,Java,F

выпуске нового средства работы с

 

 

 

 

orteSQ

COBRA

 

 

 

 

L

 

 

 

 

 

 

 

12

System Architect

Windows

Г. Буч,ОМТ,

C++,

Поддержка структурных

 

Object (версия 3

 

Шлеер/

Smalltal

методологий. BPR на основе IDEF

 

1), Popkin Software

 

Меллор.

k,Java

диаграмм Связь с PowerBuilder

 

and System

 

Код/Йордон,

 

 

 

 

 

CRC. И

 

 

 

 

 

Джекобсон

 

 

 

 

 

 

 

 

13

Software through

Unix

ОМТ или Г.

C++,

Есть продукты для структурных

 

Pictures/OMT and

 

Буч,И

Smalltal

методологий. CASE для BPR Под-

 

BUCH (версия

 

Джекобсон

k, Java

держка, Java, HTML. Netscape

 

3.2),InteractiveDev

 

 

и

Navigator, COBRA, связь Net Links

 

elopmentEnvironme

 

 

OMGI

Orbitaze, SNiFF+. Реинжиниринг

 

nts

 

 

DL

 

 

 

 

 

 

 

14

SES/Objectbench

Unix

ООА

C/C++

Объектно-ориентированный анализ

 

(версия 2 2),

 

 

 

 

 

Scientific and

 

 

 

 

 

Engineering

 

 

 

 

 

Software

 

 

 

 

 

 

 

 

 

 

15

Togcther/C+ + ,

Windows

Код/Йордон

C+ +

Версия для командной работы,

 

Object

 

 

 

работающая и под W'indows

 

International

 

 

 

 

 

 

 

 

 

 

Сравнительный анализ CASE-систем показывает, что на сегодняшний день одним из наиболее приближенных к идеальному варианту CASE-средств является семейство Rational Rose фирмы Rational Software Corporation. Следует отметить, что именно здесь работают авторы унифицированного языка моделирования Г Буч, Д Рамбо и И. Джекобсон, под руководством которых ведется разработка нового СASЕ-средства поддерживающего UML.

Выделим основные критерии оценки и выбора CASE-средств. 1 Функциональные характеристики:

среда функционирования проектная среда, программное обеспечение/технические средства, технологическая среда;

функции, ориентированные на фазы жизненного цикла: моделирование, реализация,

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

• общие функциидокументирование, управление конфигурацией, управление проектом;

2Надежность;

3Простота использования;

4Эффективность;

5Сопровождаемость;

6Переносимость;

7Общие критерии (стоимость, затраты, эффект внедрения, характеристики поставщика)Данные критерии подробно изложены в стандартах IEEE Std 1348—1995. IEEE recommended Practice for the Adoption of Computer — Aided Software Engineering (CASE) Tools и

IEEE Std 1209—1992 Recommended Practice for the Evaluation and Selection of CASE Tools.

Телекоммуникационные технологии

По мере эволюции вычислительных систем сформировались следующие разновидности архитектуры компьютерных сетей:

одноранговая архитектура;

классическая архитектура «клиент—сервер»;

архитектура «клиентсервер» на основе Web-технологии.

При одноранговой архитектуре (рисунок 28) все ресурсы вычислительной системы,

включая информацию, сконцентрированы в центральной ЭВМ, называемой еще мэйнфреймом

(main frame — центральный блок ЭВМ). В качестве основных средств доступа к информационным ресурсам использовались однотипные алфавитно-цифровые терминалы,

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

Рисунок 28 - Одноранговая архитектура компьютерных сетей

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

«клиент—сервер». Особенность данного класса систем состоит в децентрализации архитектуры автономных вычислительных систем и их объединении в глобальные компьютерные сети.

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

(клиенты или рабочие станции), использующие ресурсы, и компьютеры (серверы),

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

Рисунок 29 - Типовая архитектура «клиент—сервер'

Любое программное приложение можно представить в виде структуры из трех компонентов:

компонент представления, реализующий интерфейс с пользователем;

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

компонент доступа к информационным ресурсам, или менеджер ресурсов,

выполняющий накопление информации и управление данными.

На основе распределения перечисленных компонентов между рабочей станцией и сервером сети выделяют следующие модели архитектуры «клиент—сервер»:

• модель доступа к удаленным данным;

модель сервера управления данными;

модель комплексного сервера;

трехзвенная архитектура «клиент—сервер».

Модель доступа к удаленным данным (рисунок 30) при которой на сервере расположены только данные, имеет следующие особенности:

Рисунок 30 - Модель доступа к удаленным данным

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

снижение общей скорости обмена при передаче больших объемов информации для обработки с сервера на рабочие станции.

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

Рисунок 31 - Модель сервера управления данными

Наиболее существенные особенности данной модели:

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

унификация и широкий выбор средств создания приложений;

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

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

Модель комплексного сервера (рисунок 32) строится в предположении, что процесс,

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

Рисунок 32 - Модель комплексного сервера

Преимущества модели комплексного сервера:

высокая производительность,

централизованное администрирование;

экономия ресурсов сети.

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

ориентированных на обработку больших и увеличивающихся со временем объемов информации.

Архитектура «клиент—сервер», при которой прикладной компонент расположен на рабочей станции вместе с компонентом представления (модели доступа к удаленным данным и сервера управления данными) или на сервере вместе с менеджером ресурсов и данными

(модель комплексного сервера), называют двухзвенной архитектурой.

При существенном усложнении и увеличении ресурсоемкости прикладного компонента для него может быть выделен отдельный сервер, называемый сервером приложений. В этом случае говорят о трехзвенной архитектуре «клиент—сервер» (рисунок 34).

Рисунок 34 - Трехзвенная архитектура «клиент—сервер»

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

Наиболее ярко современные тенденции телекоммуникационных технологий проявились в Интернете. Архитектура «клиент—сервер», основанная на Web-технологии представлена на рисунке 35.

Рисунок 35 - Архитектура «клиент—сервер», основанная на Web-технологии

В соответствии с Web-технологией на сервере размещаются так называемые Web-

документы, которые визуализируются и интерпретируются программой навигации (Web-

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

страницы. В отличие от бумажной Web-страница может быть связана с компьютерными программами и содержать ссылки на другие объекты. В Web-тexнологии существует система гиперссылок, включающая ссылки на следующие объекты:

•другуючасть Web-документа;

•другойWeb-документ или документ другого формата(например, документ Word

илиExcel), размещаемый на любом компьютересети;

•мультимедийныйобъект(рисунок,звук,видео);

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

•любойдругойсервис — электроннуюпочту,копированиефайловс другогокомпьютера сети,поискинформацииит д.

Передачуссерверанарабочуюстанциюдокументовидругихобъектовпозапросам,поступаю щимотнавигатора,обеспечиваетфункционирующаянасерверепрограмма,называемаяWeb-

сервером. КогдаWeb-

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

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

ДальнейшимразвитиемИнтернетаявиласьИнтернет-технология.

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

Какимногиедругиевеликиеидеи,«сетьсетей»возниклаизпроекта,который предназначался совершенно для других целейизсетиARPAnet,разработаннойисозданнойв1969гпозаказу.

Агентствапередовыхисследовательскихпроектов (ARPA—

AdvancedResearchProjectAgency)МинистерстваобороныСША.

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

Вмодели ARPAnet между компьютером-источникоми компьютером-

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

(послебомбежкииливрезультатенеисправностикабеля).Сетьбылапостроенатак,чтобыпотребност ьвинформацииоткомпьютеров-

клиентовбыламинимальной.Дляпересылкисообщенияпосетикомпьютердолженбылпростопомещ атьданныевконверт,называемый«пакетоммежсетевогопротокола»(IP,InternetProtocol),правильно

«адресовать»такиепакеты.Взаимодействующиемежду собойкомпьютеры(ане только сама сеть)

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

имеямножестворазличныхпрограммныхиаппаратныхплатформ.

Соседние файлы в папке из электронной библиотеки