Методология информационного моделирования

C точки зрения системного подхода первоначальным этапом любого анализа, проектирования, разработки является выделе­ние предметной области и элементов в ней, то есть выделение того, что мы собираемся моделировать.

Для правильного отображения взаимодействий элементов информационной системы разработаны разные методологии, из которых можно выделить две: функционально-ориентирован­ные и объектно-ориентированныеметодологии.

Функциональные модели представляются диаграммами. Главными структурными элементами этих диаграмм являются операции, действия, работы, т. e. функции. Основным достоин­ством функциональных моделей является реализация структур­ного подхода, в котором осуществляются принципы модульности и проектирования «сверху вниз». При функциональном подходе объектные модели данных разрабатываются отдельно в виде так называемых ER-диаграмм[1] «объект – свойство – связь». Основные недостатки функционального моделирования:

• недостаточная ясность отображения динамических свойств процессов;

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

Указанные недостатки отсутствуют в объектно-ориентиро­ванных моделях. Объектно-ориентированный подход к проектированию информационных систем определяет этапы процесса проектирования. Сначала выделяются классы объектов, что позволяет выявить общие функциональные про­цедуры (методы), затем определяются конкретные объекты и их свойства, что обеспечивает наилучшую реализацию динамичес­кого поведения информационных систем.

Методология информационного моделирования развива­лась неравномерно. Бурное развитие компьютерной техники, программирования привело к такому состоянию информатики в 70-е годы прошлого столетия, что A. П. Ершов заявил: «мы не можем внедрить ЭВМ в повседневную жизнь, выделяя касту жрецов-посредников. He хватит никаких сил, чтобы снабдить эти миллионы интерфейсов специализированными языками и процессорами». To есть, в программирова­нии наступил этап, после которого экстенсивный, эволюцион­ный путь развития невозможен, пришлось бы за каждый персо­нальный компьютер посадить программиста, да и не одного, по аналогии с большими компьютерами тех лет.

B 80-е годы прошлого века сменилась, как теперь принято говорить, парадигма программирования. Выше уже отмечалось, что слово парадигма означает модель, и его употребление вызва­но желанием подчеркнуть революционную смену моделей – от алгоритмической модели к объектно-ориентированной. Объ­ектно-ориентированная модель программирования в корне из­менила состояние дел в программировании, потому что решила две кардинальные проблемы: ускорила создание программ за счет введения классов и возможности наследования свойств; повысила надежность программ, так как позволила программ­ному объекту не заботиться о том, как устроен другой объект, которому посылается сообщение(свойство инкапсуляции). Тимоти Бадд об инкапсуляции (от лат. in – в + capsula – ящичек) пишет так: «Объектно-ориентированное программирование рассматри­вает инкапсуляцию как главную цель. Хорошо разработанный объект старается инкапсулировать состояние и поведение, не­обходимые для выполнения задачи, и в то же время скрывает как можно больше деталей внутреннего устройства. Bo многих предшествующих объектно-ориентированных библиотеках этот философский подход воплощался в контейнерных классах, об­ладающих широкой функциональностью и богатым интерфей­сом».

Методология – безусловно важный вопрос в процессе про­ектирования новых и реконструкции (реинжиниринга) старых систем, но не главный. Главным следует считать «с виду про­стой, но на самом деле достаточно сложный и важный вопрос: «Правильна ли создаваемая система?». По-видимому, необходимо такого типа вопросы включить в методологию про­ектирования систем на так называемом «нулевом уровне». Ответ на этот вопрос может дать только квалифицированный разра­ботчик, учитывающий множество неформальных факторов. M. Фаулер пишет, что «Том Хэдфилд удачно сформулировал эту проблему: объектные языки обладают преимуществами, но не предоставляют их автоматически».

Поддержка методов информационного моделирования осу­ществляется с помощью CASE-технологии (Computer Aided Software Engineering – компьютерная поддержка разработки программных средств).

 


[1] ER – Entity-Relationship – от англ. Entity – сущность, объект; Relationship – отношение, связь.