Основные понятия проектирования ПО

Основой проектирования программного обеспечения является системный подход.

Системный подход – это методология исследования объекта любой природы как системы.

Система – это совокупность взаимосвязанных частей, работающих совместно для достижения некоторого результата. Определяющий признак системы – поведение системы в целом не сводимо к совокупности поведения частей системы.

Проектирование ПО – это процесс создания спецификаций ПО на основе исходных требований к нему. Проект – текущий или окончательный результат проектирования. Проект ПО включает в себя модели и проектную документацию, описывающие архитектуру, подсистемы, интерфейсы, программные компоненты, структуры данных и алгоритмы.

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

На начальном этапе развития программной инженерии проектирование ИС выполнялось в основном на интуитивном уровне с применением неформализованных методов, основанных на практическом опыте, экспертных оценках и экспериментальных проверках качества функционирования системы.

В процессе создания и функционирования ИС, информационные потребности пользователей могут изменяться или уточняться, что усложняет разработку и сопровождение таких систем.

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

Ручная разработка обычно порождала следующие проблемы:

- неадекватная спецификация требований;

- неспособность обнаруживать ошибки в проектных решениях;

- низкое качество документации, снижающее эксплуатационные качества;

- затяжной цикл и неудовлетворительные результаты тестирования.

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

CASE-средства можно классифицировать на типы:

- средства анализа (Upper CASE), предназначенные для построения и анализа моделей предметной области;

- средства анализа и проектирования (Middle CASE), поддерживающие наиболее распространенные методологии проектирования и использующиеся для создания проектных спецификаций;

- средства проектирования баз данных, обеспечивающие моделирование данных и генерацию схем баз данных (как правило, на языке SQL) для наиболее распространенных СУБД;

- средства разработки приложений;

- средства реинжиниринга, обеспечивающие анализ программных кодов и схем баз данных и формирование на их основе различных моделей и проектных спецификаций.

Особенности внедрения CASE-средств:

- CASE-средства не всегда дают незамедлительный эффект, он может быть получен спустя некоторое время;

- реальные затраты на внедрение CASE-средств обычно немного превышают затраты на их приобретение;

- CASE-средства обеспечивают возможности для получения существенной выгоды только после успешного завершения процесса их внедрения.

Успешное внедрение CASE-средств должно обеспечивать такие преимущества:

- высокий уровень технологической поддержки процессов разработки и сопровождения ПО;

- положительное воздействие на такие факторы: производительность, качество продукции, соблюдение стандартов, документирование;

- приемлемый уровень отдачи от инвесторов в CASE-средства.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: