![]() |
Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | |
|
Изложенный в предыдущем разделе структурный метод анализа предметных областей, как отмечалось ранее, обладает тем недостатком, что его использование затруднено при разработке сложных систем. Особенно трудно было с его помощью осуществлять разработку сложных программных комплексов, связанных не только с формализацией самой программной системы, но и с распределением работ между исполнителями и последующей стыковки разработанных фрагментов программ, а также с передачей информации о разрабатываемой программной подсистеме в случае замены специалиста.
До 1970-х годов размер (например, количество строк программного кода) считался главным показателем сложности разработки программ. Отчасти учмтывался и синтаксис самих строк. Трудоемкость программирования оценивалась "человеко-месяцем" или "человеко-годом", а квалификацию программиста связывали с количеством строк кода, достижимым для написания и отладки за период времени.
Проблемы создания такого программного обеспечения, выражались в:
превышении сроков сдачи проектов и перерасходе их бюджетов;
неудовлетворении заданным спецификациям;
затруднении модификации проектов.
Для преодоления этого кризиса с середины 1980-х развивалась объектно-ориентированная технология программирования, в результате чего проекты систем стали создаваться на основе визуального моделирования компонент (CBD – Component Based Development).
Свойства современных инструментов визуальной CBD-разработки::
ü Поддержка генерации кода и обратного проектирования (т.е. восстановление визуальной модели по программному коду) для ряда языков,
ü Поддержка визуального объектно-ориентированного моделирования и совместимость со стандартным языком описания моделей UML (Unified Modeling Language).
ü Ориентация на проектировщиков информационных систем, менеджеров и программистов, в том числе за счет обеспечения возможности декомпозиции системы по разнообразным аспектам с использованием визуального моделирования.
Таким образом в настоящее время широко известны два подхода к проведению декомпозиции системы при построении ее визуальной модели:
· Структурный анализ/проектирование – в основе упорядочение событий/потоков данных (алгоритмическая декомпозиция).
· Объектно-ориентированная декомпозиция, базирующаяся на выделении агентов, которые или сами действуют, или являются объектами действия.
Объектно-ориентированное проектирование включает объектно-ориентированную декомпозицию и визуальную нотацию для описания разнообразных моделей проектируемой системы. Оно состоит в объектной декомпозиции системы, а для визуального выражения логического (классы и объекты) и физического (модульная и процессорная архитектура) аспектов модели применяют различную нотацию.
Языки объектно-ориентированного моделирования появились в результате конкуренции между различными подходами к объектно-ориентированному методу анализа и проектирования (ООАП). Отдельные методики и графические нотации (IDEF0, IDEF1X) были стандартизованы.
К середине 1990-х наиболее известными стали методы:
· Гради Буча (Grady Booch) - Booch или Booch'91, Booch Lite (позже - Booch'93);
· Джеймса Румбаха (James Rumbaugh) - Object Modeling Technique (ОМТ, ОМТ-2);
· Айвара Джекобсона (Ivar Jacobson) - Object-Oriented Software Engineering (OOSE).
Каждый из методов ориентирован на отдельные этапы ООАП. Например, OOSE содержал средства представления вариантов использования, важных на этапе анализа требований при проектировании бизнес-приложений. ОМТ-2 удобнее в анализе процессов обработки данных в информационных системах.
Метод Booch'93 стал наиболее популярным на этапах проектирования и разработки различных программных систем. Развитие языка UML началось с унификации методов Booch и ОМТ для объединения их достоинств, а далее с ними был интегрирован метод OOSE.
Сначала авторы предполагалась разработка унифицированного языка моделирования только для этих трех методик. Каждая из них показала эффективность для отдельных задач ООАП и требовалось устранение несоответствия отдельных понятий и обозначений. К новому языку моделирования предъявлялись следующие требования:
ü Моделирование и программного обеспечения, и других систем и бизнес-приложений с использованием объектно-ориентированных понятий.
ü Обеспечение взаимосвязи между базовыми понятиями моделей концептуального и физического уровней.
ü Масштабируемость моделей, что важно для сложных многоцелевых систем.
ü Мультиплатформенность, а также простота для аналитиков и программистов.
В настоящее время дальнейшую разработку языка UML ведет консорциум OMG, и последняя версия языка UML - UML 2.0.
К нынешнему дню созданы средства визуального программирования на базе UML, обеспечивающие интеграцию (включая прямую и обратную генерацию кода программ) с такими языками и средами программирования, как MS Visual C++, Java, Object Pascal/Delphi, Power Builder, MS Visual Basic, Forte, Ada, Smalltalk. Язык UML можно расширять без переопределения его ядра.
Дата публикования: 2014-10-25; Прочитано: 926 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!