Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

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




Тема 1.2. Организация процесса проектирования программного обеспечения (ПО)

 

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

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

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

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

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

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

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

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

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

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

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

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

 




Поделиться с друзьями:


Дата добавления: 2014-01-07; Просмотров: 636; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.012 сек.