Файл: Применение объектно-ориентированного подхода при проектировании информационной системы (Декомпозиция информационных систем).pdf
Добавлен: 29.04.2023
Просмотров: 482
Скачиваний: 1
1. улучшение качества разрабатываемой ИС за счет средств автоматического контроля и генерации кода;
2. возможность повторного использования компонентов разработки;
3. поддержание адаптивности и сопровождения ИС;
4. сокращение сроков создания системы, что позволяет на ранних стадиях проектирования получить прототип будущей системы и оценить его;
5. освобождение разработчиков от рутинных операций документирования проекта за счет использования встроенного документатора;
6. возможность коллективной разработки ИС в режиме реального времени.
Итак, CASE-технология в рамках методологии включает в себя методы, с помощью которых на основе графической нотации строятся диаграммы. Методологияопределяет шаги и этапность реализации проекта, а также правила использования методов, с помощью которых разрабатывается проект.
Метод — процедура или техника создания описаний элементов ИС (например, потоков или структур данных)[1].
Нотация— отображение структур системы, элементов данных, этапов обработки с помощью специальных графических символов диаграмм, а также описание проекта системы на формальных и естественных языках.
Инструментальные средства CASE— специальные программы, которые поддерживают одну или несколько методологий анализа и проектирования ИС.
Ядром системы является база данных проекта — репозиторий. Репозиторий представляет собой специализированную базу данных, хранящую информацию о состоянии элементов проектируемой ИС и взаимосвязях между ними в каждый момент времени.
Репозиторий (репозитарий) — разделяемая (инструментальными средствами и системами) корпоративная база данных, содержащая информацию об объектах проектирования, надмножество словарей метаданных[3].
Графический редактор диаграмм предназначен для создания, модификации и отображения диаграмма, которые описывают в графическом виде в заданной нотации проектируемую ИС и ее отдельные элементы.
Администратор предоставляет инструменты для выполнения следующих функций:
1. инициализация проекта, задание начальных параметров;
2. назначение и изменение прав доступа к элементам проекта;
3. отслеживание графика выполнения проекта.
Сервисы — утилиты по обслуживанию репозитория (архивация, восстановление, создание, удаление).
Современные CASE-системы классифицируются по следующим признакам:
1. по поддерживаемым методологиям проектирования: функционально (структурно)-ориентированные и объектно-ориентированные;
2. по поддерживаемым графическим нотациям построения диаграмм;
3. по типу и архитектуре вычислительной техники;
4. по режиму коллективной разработки проекта;
5. по типу операционной системы, под управлением которой может работать CASE.
В настоящее время важное значение приобретают CASE-системы, ориентированные на проектирование и генерацию БД и пользовательских интерфейсов. Генерация интерфейсов с базами данных и возможность преобразования (конвертирования) между различными концептуальными схемами и моделями данных увеличивает мобильность прикладных систем при переходе на другую программную платформу. Генерация кода, задающего интерфейс ПО с базой данных, не только позволяет сократить время разработки, но и дает возможность отделить разработку ПО от ведения архива проектной документации[4].
Стратегия выбора CASE-систем для конкретного применения зависит как от целей и потребностей самого проекта, так и от квалификации вовлеченных в процесс проектирования специалистов. Одно средство лучше подходит для анализа, а другое — для проектирования систем. В общем случае при выборе CASE следует учитывать:
1. наличие базы проектных данных (репозитория), архива или словаря.
2. Интерфейсы с другими CASE-системами. В процессе проектирования ИС могут использоваться различные методологии, поэтому важно, чтобы используемые CASE предоставляли возможности для использования нескольких методологий[4].
3. Возможности импорта/экспорта, открытая архитектура. Спецификации, полученные на этапах анализа, проектирования и кодирования одной ИС, могут быть использованы при проектировании другой системы с использованием других CASE-систем;
4. многопользовательский режим.
5. Расширение новыми методологиями.
6. Обеспечение качества проектной документации.
В результате анализа должна формироваться информация, указывающая на имеющиеся противоречия или неполноту проектной информации;
7. автоматическая генерация отчетов о проектных решениях;
8. Генерация кодов программ.
9. планирование и управление проектом.
Несмотря на то, что структурные методологии зарождались как средства анализа и проектирования ПО, сфера их применений в настоящее время выходит далеко за рамки названной предметной области. Поэтому CASE-технологии успешно применяются для моделирования практически всех предметных областей, однако устойчивое положение они занимают в следующих областях[17, 180]:
1. бизнес-анализ (фактически, модели деятельности предприятий “как есть” и ”как должно быть” строятся с применением методов структурного системного анализа и поддерживающих их CASE-средств);
2. системный анализ и проектирование (практически любая современная крупная программная система разрабатывается с применением CASE-технологий по крайней мере на этапах анализа и проектирования, что связано с большой сложностью данной проблематики и со стремлением повысить эффективность работ).
1.3 Технология RAD в информационных системах
Одним из возможных подходов к разработке ИС в рамках спиральной модели ЖЦ является получившая в последнее время широкое распространение методология быстрой разработки приложений RAD (Rapid Application Development)[19, 31]. Под этим термином обычно понимается процесс разработки ИС, характеризующийся тремя элементами:
1. небольшая команда аналитиков и программистов (от 2 до 10 человек);
2. короткий, но тщательно проработанный производственный график (от 2 до 6 мес.);
3. повторяющийся цикл, при котором разработчики, по мере того, как ИС начинает обретать форму, запрашивают и реализуют в продукте требования, полученные через взаимодействие с заказчиком.
Команда разработчиков должна представлять из себя группу профессионалов, имеющих опыт в анализе, проектировании, генерации кода и тестировании ПО с использованием CASE-средств. Члены коллектива должны также уметь трансформировать в рабочие прототипы предложения конечных пользователей[21, 309].
Жизненный цикл по методологии RAD состоит из четырех фаз:
1. фаза анализа и планирования требований;
2. фаза проектирования;
3. фаза построения;
4. фаза внедрения.
На фазе анализа и планирования требований:
1. пользователи системы определяют функции, которые она должна выполнять, выделяют наиболее приоритетные из них, требующие проработки в первую очередь, описывают информационные потребности.
2. Ограничивается масштаб проекта, определяются временные рамки для каждой из последующих фаз.
3. Определяется сама возможность реализации данного проекта в установленных рамках финансирования, на данных аппаратных средствах и т.п.
Результатом данной фазы должны быть список и приоритетность функций будущей ИС, предварительные функциональные и информационные модели ИС [5].
На фазе проектирования:
1. часть пользователей принимает участие в техническом проектировании системы под руководством специалистов-разработчиков.
2. Используются CASE-средства для быстрого получения работающих прототипов приложений.
3. Пользователи, работая непосредственно с прототипами, уточняют и дополняют требования к системе, которые не были выявлены на предыдущей фазе.
4. Более подробно рассматриваются процессы системы. Анализируется и, при необходимости, корректируется функциональная модель ИС.
5. Каждый объект проектирования рассматривается детально. При необходимости для каждого элементарного объекта создается частичный прототип: экран, диалог, отчет, устраняющий неясности или неоднозначности.
6. Определяются требования разграничения доступа к данным.
7. Происходит определение набора необходимой документации[5].
После детального определения состава процессов оценивается количество функциональных элементов разрабатываемой системы и принимается решение о разделении ИС на подсистемы, поддающиеся реализации одной командой разработчиков за приемлемое для RAD-проектов время — порядка 60 - 90 дней.
Результатом данной фазы должны быть:
1. общая информационная модель системы;
2. функциональные модели системы в целом и подсистем, реализуемых отдельными командами разработчиков;
3. точно определенные с помощью CASE-средства интерфейсы между автономно разрабатываемыми подсистемами;
4. построенные прототипы экранов, отчетов, диалогов.
Все модели и прототипы должны быть получены с применением тех CASE-средств, которые будут использоваться в дальнейшем при построении системы. Данное требование вызвано тем, что в традиционном подходе при передаче информации о проекте с этапа на этап может произойти фактически неконтролируемое искажение данных. Применение единой среды хранения информации о проекте позволяет избежать этой опасности[21, 329].
В отличие от традиционного подхода, при котором использовались специфические средства прототипирования, не предназначенные для построения реальных приложений, а прототипы выбрасывались после того, как выполняли задачу устранения неясностей в проекте, в подходе RAD каждый прототип развивается в часть будущей системы. Таким образом, на следующую фазу передается более полная и полезная информация.
На фазе построения:
1. выполняется непосредственно сама быстрая разработка приложения.
На данной фазе разработчики производят итеративное построение реальной системы на основе полученных в предыдущей фазе моделей, а также требований нефункционального характера. Программный код частично формируется при помощи автоматических генераторов, получающих информацию непосредственно из репозитория CASE-средств.
2. Конечные пользователи на этой фазе оценивают получаемые результаты и вносят коррективы, если в процессе разработки система перестает удовлетворять определенным ранее требованиям.
3. Тестирование системы осуществляется непосредственно в процессе разработки[20, 170].
Завершается физическое проектирование системы:
1. определяется необходимость распределения данных;
2. производится анализ использования данных;
3. производится физическое проектирование базы данных;
4. определяются требования к аппаратным ресурсам;
5. определяются способы увеличения производительности;
6. завершается разработка документации проекта.
Результатом фазы является готовая система, удовлетворяющая всем согласованным требованиям.
На фазе внедрения:
1. производится обучение пользователей;
2. осуществляются организационные изменения;
3. параллельно с внедрением новой системы ведется работа с существующей системой (до полного внедрения новой).
Так как фаза построения достаточно непродолжительна, планирование и подготовка к внедрению должны начинаться заранее, как правило, на этапе проектирования системы[20, 170].
Приведенная схема разработки ИС не является абсолютной. Возможны различные варианты, зависящие, например, от начальных условий, в которых ведется разработка:
1. разрабатывается совершенно новая система;
2. уже было проведено обследование предприятия и существует модель его деятельности;
3. на предприятии уже существует некоторая ИС, которая может быть использована в качестве начального прототипа.
Следует, однако, отметить, что методология RAD, как и любая другая, не может претендовать на универсальность, она хороша в первую очередь для относительно небольших проектов, разрабатываемых для конкретного заказчика[11, 68].
Для таких проектов необходимы высокий уровень планирования и жесткая дисциплина проектирования, строгое следование заранее разработанным протоколам и интерфейсам, что снижает скорость разработки.
Не подходят для разработки по методологии RAD приложения, в которых отсутствует ярко выраженная интерфейсная часть, наглядно определяющая логику работы системы (например, приложения реального времени) и приложения, от которых зависит безопасность людей.
Оценка размера программ производится на основе так называемых функциональных элементов (экраны, сообщения, отчеты, файлы и т.п.).
Подобная метрика не зависит от языка программирования, на котором ведется разработка. Размер приложения, которое может быть выполнено по методологии RAD, для хорошо отлаженной среды разработки ИС с максимальным повторным использованием программных компонентов представлено в таблице 1.