Системы автоматизированного проектирования — это состоящая из персонала и комплекса технических, программных и других средств автоматизации организационно-техническая система, предназначенная для автоматизации процесса проектирования.
Введение
На текущий момент одной из самых крупных отраслей мировой экономики является создание программного обеспечения. По разным оценкам в этой сфере задействовано примерно три миллиона профессиональных сотрудников. А ещё миллионы людей прямо находятся в зависимости от качественных показателей корпоративных автоматизированных информационных систем (АИС). Это означает, состояние отрасли непосредственно предопределяет положение специалистов, которые занимаются разработкой программного обеспечения (ПО).
Процесс создания корпоративных АИС является логически сложной, трудоёмкой и длительной деятельностью, предполагающей высокую квалификацию специалистов, принимающих в ней участие. Тем не менее до сих пор проектирование АИС часто выполняется на уровне интуиции при помощи неформализованных методик, включающих компоненты искусства, практического опыта и дорогостоящих экспериментальных проверок качества работы системы. Помимо этого, при разработке и в процессе использования АИС потребности в информационных данных пользователя непрерывно корректируются или подвергаются уточнению, что способствует росту сложности проектирования и сопровождения подобных систем.
К концу двадцатого века в программной сфере сформировалась критическая ситуация, которая полностью не разрешена и по сей день. Кризис заключается в том, что объёмные проекты ПО начали реализовываться с большими отставаниями от намеченных графиков и с существенным увеличением запланированных финансовых вложений, а готовый продукт не имел требуемых функциональных возможностей или производительности, что не устраивало заказчиков. Среди причин кризиса следует выделить следующие:
- Неоднозначное и неполное формулирование требований к программному обеспечению.
- Отсутствие привлечения пользователей к работе над проектом.
- Недостаточное ресурсное обеспечение и плохое планирование.
- Постоянные коррекции требований к спецификациям.
- Внедряемые технологии являются новыми для организации.
- Недостаточно грамотное управление проектом.
К концу двадцатого века сформировалось понимание, что необходим переход от кустарных к промышленным технологиям реализации ПО, к формированию набора инженерных методик и средств по проектированию программных продуктов, которые объединены общим термином «программная инженерия» (software engineering). Базой программной инженерии является основополагающая идея о том, что проектирование ПО может считаться формальным процессом, и это означает, что он может быть автоматизирован.
Системы автоматизированного проектирования программного обеспечения
Как отмечают специалисты, основным свойством программных систем, к которым могут быть отнесены и АИС, считается их уровень сложности. Уникальность и несхожесть составляющих фрагментов АИС означает их принципиальное отличие от технических систем, где основой являются повторяющиеся компоненты.
Основными тенденциями развития АИС сегодня являются:
- Усложнённость описания.
- Присутствие набора плотно взаимосвязанных элементов, обладающих локальными задачами и целями работы.
- Не существует абсолютных аналогов корпоративных АИС, что ограничивает возможность применения стандартных проектных решений.
То есть, в конце двадцатого века появилась необходимость разработать программно-технические средства специализированного класса, которые способны реализовать CASE технологии формирования и сопровождения программного обеспечения АИС.
CASE технология является набором методик проектирования ПО, а также совокупностью инструментальных средств автоматизации, которые позволяют в удобном формате выполнять моделирование предметной области, осуществлять анализ модели на всех этапах проектирования и сопровождения ПО, а также реализовывать программные приложения согласно информационным пожеланиям потребителей.
Одним из основных понятий методики проектирования АИС считается понятие жизненного цикла её программного обеспечения. Жизненным циклом является постоянный процесс, начинающийся с момента выработки решения о создании ПО и оканчивающийся к моменту полного прекращения его использования.
Технологические и инструментальные средства проектирования являются основой разработки всех программных систем. Технологии могут быть реализованы согласно конкретным методам и поддерживающим их стандартам, методикам и инструментальным средствам, обеспечивающим процессы реализации разных этапов жизненного цикла программного обеспечения.
Методика проектирования программного обеспечения является организованной совокупностью информационных процессов формирования набора моделей, описывающих разные аспекты проектируемой системы с применением ясно заданных технологических операций. На формализованном уровне методикой считается набор составляющих языка моделирования, а именно:
- Концепции или теоретические основы. Такими основами могут быть структурные или объектно-ориентированные подходы программирования.
- Нотации, применяемые для формирования моделей спецификации статической структуры и динамического состояния процесса проектирования АИС. Такими нотациями могут быть диаграммы в графическом формате.
- Набор правил, которые определяют практическое использование метода. То есть, очерёдность и правила формирования моделей, критерии, применяемые для анализа итогов.
Практическое использование любых технологий проектирования, реализации и сопровождения АИС в определённой организации и определённом проекте нельзя осуществить без некоторых стандартов, которые обязаны соблюдать все участники проекта. В частности, это:
- Проектные стандарты.
- Стандарты формирования проектных документов.
- Стандарты интерфейса пользователя.