1.2. ПРОГРАММНАЯ ИНЖЕНЕРИЯ И CASE-СРЕДСТВА
КАК СОВОКУПНОСТЬ МЕТОДОВ И СРЕДСТВ СОЗДАНИЯ ИС
Программная инженерия (Software Engineering, SE) – новое направление проектирования и реализации ИС.
По мнению ряда специалистов, программная инженерия должна содержать аспекты программной разработки, управления программным обеспечением, организации и использования проектов. Другие включают в её состав вопросы разработки программного обеспечения, проектирования, кодирования и тестирования вместе с использованием наилучших практических решений. Будем придерживаться мнения, что “программная инженерия” включает совокупность современных методов проектирования и реализации ИС.
Разработка информационных систем в последние годы является распространённой и важной задачей. Очевидно, что программные инженеры должны быть способными разрабатывать ПО с помощью наилучших практических решений с долговременной перспективой.
Наиболее адекватной представляется разработка архитектуры сложных прикладных информационных систем на основе эффективного объединения разных видов оборудования и программного обеспечения, применения стандартизованных интерфейсов между компонентами системы и т.п. Такой подход позволяет повторно использовать программные средства на разных вычислительных платформах без перепрограммирования и тем самым экономить значительные финансовые средства, а также поэтапно наращивать вычислительную мощность прикладной системы в соответствии с потребностями пользователя и его финансовыми возможностями.
Проекты средней, высокой сложности и уникальные рекомендуется создавать с помощью CASE-средств, целесообразность применения которых определяется возможностью точного учёта требований конечного пользователя к проектируемой ИС, значительным снижением уровня системных ошибок в проекте до начала программирования и тем самым снижением общей трудоемкости разработки и особенно отладки программ.
Термин CASE (Computer Aided Software Engineering) первоначально означал решение вопросов автоматизации разработки программного обеспечения. В настоящее время это понятие охватывает процессы разработки сложных ИС в целом.
Термин CASE-средства означает программные средства, поддерживающие процессы создания и сопровождения ИС, включая анализ и формулировку требований, проектирование прикладного ПО (приложений) и БД, генерацию кода, тестирование, документирование, обеспечение качества, конфигурационное управление и управление проектом, а также другие процессы.
CASE-средства вместе с системным ПО и техническими средствами образуют полную среду разработки ИС.
Классификация CASE-средств
Современные CASE-средства можно классифицировать по типам и категориям. Классификация по типам отражает функциональную ориентацию CASE-средств на процессы жизненного цикла ИС. Классификация по категориям определяет степень интегрированности по выполняемым функциям и включает отдельные локальные средства, решающие небольшие автономные задачи, набор частично интегрированных средств, охватывающих большинство этапов жизненного цикла ИС (ЖЦ ИС) и полностью интегрированные средства, поддерживающие весь ЖЦ ИС и связанные общим репозитарием (англ. “repository” – объектно-ориентированное хранилище).
Современные реализации CASE-средств направлены на создание интегрированной среды комплексной автоматизации процессов проектирования, разработки и сопровождения, реализующих некоторую методологию проектирования ИС. Как правило, они ориентированы на решение задач комплексной автоматизации процесса разработки и сопровождения ИС.
Обычно результат проектирования с помощью CASE – проектная документация, а в некоторых случаях и прототип интерфейса с конечным пользователем.
Интегрированные CASE-средства обычно поддерживают стандарт, регламентирующий состав и содержание проектной документации на программное средство или ИС (глава 5). Одновременно этот стандарт фактически регламентирует и модель жизненного цикла ИС (глава 2).
Основой реализации CASE-технологий является репозитарий, доступ к которому имеют все подсистемы. Хранилище содержит сведения о каждом элементе проекта отдельно вне зависимости от способа их получения: из графического редактора или таблиц.
Внедрение CASE-средств
Потребность внедрения CASE-средств определяется достижением понимания нужд организации и технологических процессов. Оно должно привести к выделению тех областей деятельности организации, в которых применение CASE-средств принесет реальную пользу.
Результатом исследования возможностей применения CASE-средств для создания ИС является документ, определяющий стратегию внедрения CASE-средств.
Процесс внедрения CASE-средств состоит из следующих этапов:
Внедрение CASE-средств не ограничивается только их использованием. Оно охватывает планирование и реализацию множества технических, организационных, структурных процессов, изменений в общей культуре организации, и основано на четком понимании возможностей CASE-средств.
Направления развития CASE-средств
Направления развития CASE-средств определяются потребностями практики. Обычно они ориентированы на:
Несмотря на высокие потенциальные возможности CASE-технологии (увеличение производительности труда, улучшение качества программных продуктов, поддержка унифицированного и согласованного стиля работы) не все разработчики информационных систем достигают ожидаемых результатов. Основной причиной неудач является недопонимание сути программирования ИС с применением CASE-средств.