40
3.3. Проектиране
3.3.1. Основни понятия
Проектирането на софтуерни системи обхваща всички дейности за прев-
ръщане на утвърдените изисквания в описание, определящо точно съдържани-
ето и функциите на програмите, които трябва да бъдат създадени.
Основен принцип на проектирането е изследване и разбиране на проблема
и последователното му декомпозиране на подпроблеми. На всяка стъпка се пов-
таря една и съща последователност от действия:
идентифициране на проблема;
съставяне на множество от възможни решения и сравняването им;
избор на оптимално (в някакъв смисъл) решение. Обикновено се избира
познато вече решение, за да може да се осъществи повторно използване на
софтуерни компоненти.
Декомпозирането е съществено, защото е ефективен начин за справяне
със сложността на създавания софтуер. Смята се за теоретично доказано и екс-
периментално проверено, че ако сложен проблем се декомпозира (по подхо-
дящ начин) на два подпроблема, то усилията за решаване на цялостния проблем
са по-големи от сумарните усилия за решаване на двата подпроблема.
Разграничават се два основни подхода към проектирането: функционален
и обектноориентиран.
При функционалното проектиране софтуерната система се разглежда като
съвкупност от компоненти, всяка от които реализира определена функция. Със-
тоянието на системата е централизирано и се разделя между функции, оперира-
щи върху това състояние.
При обектноориентираното проектиране системата се разглежда като съв-
купност от обекти. Състоянието на системата е децентрализирано и всеки обект
управлява собственото си състояние. Обектите имат множество от атрибу-
ти, определящи състоянието им, и операции върху тези атрибути. Обектите
комуникират помежду си чрез съобщения.
По-нататъшното ни изложение е свързано с функционалното проектиране.
41
СЪДЪРЖАНИЕ
© Аврам Моис Ескенази, Нели Милчева Манева, 2001
© Михаил Асенов Руев, корица, 2001
lSBN954-426-311-X
УВОД 7
Сподели с приятели: |