Основой проектирования программного обеспечения является системный подход.
Системный подход – это методология исследования объекта любой природы как системы.
Система – это совокупность взаимосвязанных частей, работающих совместно для достижения некоторого результата. Определяющий признак системы – поведение системы в целом не сводимо к совокупности поведения частей системы.
Проектирование ПО – это процесс создания спецификаций ПО на основе исходных требований к нему. Проект – текущий или окончательный результат проектирования. Проект ПО включает в себя модели и проектную документацию, описывающие архитектуру, подсистемы, интерфейсы, программные компоненты, структуры данных и алгоритмы.
Для успешной реализации проекта объект проектирования должен быть, прежде всего, адекватно описан, должны быть построены полные и непротиворечивые функциональные и информационные модели системы.
На начальном этапе развития программной инженерии проектирование ИС выполнялось в основном на интуитивном уровне с применением неформализованных методов, основанных на практическом опыте, экспертных оценках и экспериментальных проверках качества функционирования системы.
|
|
В процессе создания и функционирования ИС, информационные потребности пользователей могут изменяться или уточняться, что усложняет разработку и сопровождение таких систем.
Для решения этих проблем была предложена структурная методология, предоставляющая в распоряжение разработчиков строгие формализованные методы описания ИС и принимаемых технических решений. Она основана на наглядной графической технике, при которой для описания различного рода моделей ИС используются схемы и диаграммы. Однако широкое применение этой методологии и следование ее рекомендациям при разработке конкретных ИС встречалось достаточно редко, поскольку при неавтоматизированной (ручной) разработке очень трудно разработать и графически представить строгие формальные спецификации системы, проверить их на полноту и непротиворечивость, и тем более внести изменения.
Ручная разработка обычно порождала следующие проблемы:
- неадекватная спецификация требований;
- неспособность обнаруживать ошибки в проектных решениях;
- низкое качество документации, снижающее эксплуатационные качества;
- затяжной цикл и неудовлетворительные результаты тестирования.
Перечисленные факторы способствовали появлению программно-технологических средств специального класса - CASE-средств (Computer Aided Software Engineering), реализующих CASE-технологию создания и сопровождения ИС. В настоящее время под термином CASE-средства понимаются программные средства, поддерживающие процессы создания и сопровождения ИС, включая анализ и формулировку требований, проектирование прикладного ПО (приложений) и баз данных, генерацию кода, тестирование, документирование, обеспечение качества, конфигурационное управление и управление проектом, а также другие процессы. CASE-средства вместе с системным ПО и техническими средствами образуют полную среду разработки ИС. CASE-технология представляет собой методологию проектирования ИС, а также набор инструментальных средств, позволяющих в наглядной форме моделировать предметную область, анализировать эту модель на всех этапах разработки и сопровождения ИС и разрабатывать приложения в соответствии с информационными потребностями пользователей. Большинство существующих CASE-средств основано на методологиях структурного (в основном) или объектно-ориентированного анализа и проектирования, использующих спецификации в виде диаграмм или текстов для описания внешних требований, связей между моделями системы, динамики поведения системы и архитектуры программных средств.
|
|
CASE-средства можно классифицировать на типы:
- средства анализа (Upper CASE), предназначенные для построения и анализа моделей предметной области;
- средства анализа и проектирования (Middle CASE), поддерживающие наиболее распространенные методологии проектирования и использующиеся для создания проектных спецификаций;
- средства проектирования баз данных, обеспечивающие моделирование данных и генерацию схем баз данных (как правило, на языке SQL) для наиболее распространенных СУБД;
- средства разработки приложений;
- средства реинжиниринга, обеспечивающие анализ программных кодов и схем баз данных и формирование на их основе различных моделей и проектных спецификаций.
Особенности внедрения CASE-средств:
- CASE-средства не всегда дают незамедлительный эффект, он может быть получен спустя некоторое время;
- реальные затраты на внедрение CASE-средств обычно немного превышают затраты на их приобретение;
- CASE-средства обеспечивают возможности для получения существенной выгоды только после успешного завершения процесса их внедрения.
Успешное внедрение CASE-средств должно обеспечивать такие преимущества:
- высокий уровень технологической поддержки процессов разработки и сопровождения ПО;
- положительное воздействие на такие факторы: производительность, качество продукции, соблюдение стандартов, документирование;
- приемлемый уровень отдачи от инвесторов в CASE-средства.