Мегаобучалка Главная | О нас | Обратная связь


Проблема сложности разработки ПО, декомпозиция.



2019-08-13 380 Обсуждений (0)
Проблема сложности разработки ПО, декомпозиция. 0.00 из 5.00 0 оценок




Проблемы разработки сложных программных систем

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

Пока вычислительных установок было мало, и их возможности были ограничены, ЭВМ применяли в очень узких областях науки и техники, причем, в первую очередь, там, где решаемые задачи были хорошо детерминированы и требовали значительных вычислений. В наше время, когда созданы мощные компьютерные сети, появилась возможность переложить на них решение сложных ресурсоемких задач, о компьютеризации которых раньше никто, и не думал. Сейчас в процесс компьютеризации вовлекаются совершенно новые предметные области, а для уже освоенных областей усложняются уже сложившиеся постановки задач.

Дополнительными факторами, увеличивающими сложность разработки программных систем, являются [10]:

•сложность формального определения требований к программным системам;

•отсутствие удовлетворительных средств описания поведения дискретных систем с большим числом состояний при недетерминированной последовательности входных воздействий;

•коллективная разработка;

•необходимость увеличения степени повторяемости кодов.

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

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

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

Коллективная разработка. Из-за больших объемов проектов разработка программного обеспечения ведется коллективом специалистов. Работая в коллективе, отдельные специалисты должны взаимодействовать друг с другом, обеспечивая целостность проекта, что при отсутствии удовлетворительных средств описания поведения сложных систем, упоминавшемся выше, достаточно сложно. Причем, чем больше коллектив разработчиков, тем сложнее организовать процесс работы [8].

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

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

Декомпозицией называется процесс разбиения программы на части. Легко понять, для чего необходимо проводить корректную декомпозицию: ведь к решению объемной и сложной задачи, привлекается большое количество людей, причем это количество возрастает пропорционально сложности решаемой задачи. Вполне может случиться, что регулярные контакты между этими людьми будут затруднены. Следовательно, основную задачу необходимо разбить на части, которые могут быть разработаны по отдельности, и которые впоследствии можно было бы легко объединить в одну систему.

Таким образом, при декомпозиции задачи мы разбиваем ее на ряд подзадач так, что 1)каждая подзадача имеет один и тот же уровень рас­смотрения; 2)каждая задача может быть решена независимо и 3)полученные решения могут быть объединены вместе, позволяя решить исходную проблему.

Декомпозиция является весьма полезным и экономящим время способом решения задач в самых различных областях. При этом очень важно соблюдать корректность декомпозиции. К числу наиболее распространенных проблем относится ситуация, при которой создание отдельных компонент, способных решить соответствующие подзадачи, не приводит к тому, что объединение этих компонент позволяет решить исходную задачу. Эта проблема является одной из причин, по которой интеграция системы часто оказы­вается затруднительной.

 

 

Основные понятия платформы . Net Framework .

Понятие платформы MS.NET Итак, под платформой Microsoft.NET следует понимать интегрированную систему (инфраструктуру) средств разработки, развертывания и выполнения сложных (как правило, распределенных) программных систем [1]. Платформа Microsoft.NET Платформа .NET состоит из нескольких основных компонентов (см. рис. 1): − операционные системы корпорации Microsoft (Windows 2000/XP/ME/CE), представляющие собой базовый уровень платформы MS.Net, − серверы MS.Net (.Net Enterprise Servers) являются программными продуктами корпорации Microsoft, использование которых позволяет снизить сложность разработки сложных программных систем. В числе готовых для применения серверы Application Center 2000, Exchange Server 2000, SQL Server и др., − сервисы MS.Net (.Net Building Block Services) представляют собой готовые "строительные блоки" сложных программных систем, которые могут быть использованы через Интернет как сервисные услуги. Набор таких сервисов MS.Net планируется последовательно расширять. Примером имеющегося сервиса платформы MS.Net является Microsoft Passport, позволяющий установить единое имя пользователя и пароль на всех сайтах, поддерживающих аутенфикацию через Passport, − интегрированная среда разработки приложений Visual Studio.NET (VS.Net) – верхний уровень MS.Net - обеспечивает возможность создания сложного ПО на основе платформы и продолжает в этом плане ряд разрабатываемых корпорацией Microsoft средств разработки профессионального программного обеспечения. Центральной частью платформы MS.Net, как можно заметить по рис. 1, является подсистема Microsoft.Net Framework.

 



2019-08-13 380 Обсуждений (0)
Проблема сложности разработки ПО, декомпозиция. 0.00 из 5.00 0 оценок









Обсуждение в статье: Проблема сложности разработки ПО, декомпозиция.

Обсуждений еще не было, будьте первым... ↓↓↓

Отправить сообщение

Популярное:



©2015-2024 megaobuchalka.ru Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. (380)

Почему 1285321 студент выбрали МегаОбучалку...

Система поиска информации

Мобильная версия сайта

Удобная навигация

Нет шокирующей рекламы



(0.007 сек.)