Как известно, проектирование прикладной программной системы
начинается с анализа требований, которым она должна будет удовлетворять. Такой
анализ проводится с целью понять назначение и условия эксплуатации системы
настолько, чтобы суметь составить ее предварительный проект.
При объектно-ориентированном подходе анализ требований к
системе сводится к разработке моделей этой системы. Моделью системы (или
какого-либо другого объекта или явления) мы называем формальное описание
системы, в котором выделены основные объекты, составляющие систему, и отношения
между этими объектами. Построение моделей - широко распространенный способ
изучения сложных объектов и явлений. В модели опущены многочисленные детали,
усложняющие понимание. Моделирование широко распространено и в науке, и в
технике.
Модели помогают:
- проверить работоспособность разрабатываемой системы на ранних этапах ее
разработки;
- общаться с заказчиком системы, уточняя его требования к системе;
- вносить (в случае необходимости) изменения в проект системы (как в начале ее
проектирования, так и на других фазах ее жизненного цикла).
В настоящее время существует несколько технологий
объектно-ориентированной разработки прикладных программных систем, в основе
которых лежит построение и интерпретация на компьютере моделей этих систем. Мы
подробно ознакомимся с одной из таких технологий - OMT (Object Modeling
Techniques). Эта технология оказала большое влияние на других разработчиков
объектно-ориентированных технологий, а книга, в которой она описана, является
одной из наиболее часто цитируемых книг по данному направлению. Более того,
система обозначений (графический язык) для описания моделей, предложенная в этой
книге, широко применяется в других технологиях и в статьях по
объектно-ориентированной разработке программных систем.
В технологии OMT проектируемая программная система
представляется в виде трех взаимосвязанных моделей:
- объектной модели, которая представляет статические, структурные аспекты
системы, в основном связанные с данными;
- динамической модели, которая описывает работу отдельных частей системы;
- функциональной модели, в которой рассматривается взаимодействие отдельных
частей системы (как по данным, так и по управлению) в процессе ее
работы.
Эти три вида моделей позволяют получить три
взаимно-ортогональных представления системы в одной системе обозначений.
Совокупность моделей системы может быть проинтерпретирована на компьютере (с
помощью инструментального программного обеспечения), что позволяет
продемонстрировать заказчику характер работы с будущей системой и существенно
упрощает согласование предварительного проекта системы.
Модели, разработанные и отлаженные на первой фазе жизненного
цикла системы, продолжают использоваться на всех последующих его фазах, облегчая
программирование системы, ее отладку и тестирование, сопровождение и дальнейшую
модификацию.
Как будет показано в дальнейшем, модели системы не связаны с
языком программирования, на котором будет реализована система.
|