Главная Теоретический материал Лабораторные работы Задачи Тесты Контакты

Узбекское Агентство
Связи и Информатизации



Ташкентский Университет Информационных Технологий


Кафедра
«Программное обеспечение информационных технологий»

Направления:

5521900Информатика и
информационные технологии,
5523500Защита информации,
5523600Электронная коммерция,
5811200Сервис (информационный сервис),
5811300Сервис (электронные и
компьютерные технологии),
5320200Информатика и
библиотековедение,
5140900Профессиональное образование
(по направлению
информатика и
информационные технологии).


Преподаватель дисциплины



Доцент
Чернев Дмитрий Алексеевич

Проблемы проектирования больших программных средств

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

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

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

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

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

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

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

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

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

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

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

Необходимо стандартизировать структуру и формы предс­тавления документов на каждую разработанную и испытанную программу, на программное изделие. В настоящее время такой стандарт существует и носит название «Единая система прог­раммной документации».

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

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

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

В пределах каждого класса систем преимущественно исполь­зуются 2—3 языка программирования, причем практически всегда некоторая часть программ разрабатывается на автокодах.

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

Перечисленные задачи стандартизации должны объединяться единой технологической схемой и методологией создания боль­ших программных изделий.

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

Все виды поддержки процесса проектирования программных изделий имеют между собой глубокую связь и в совокупности прежде всего зависят от класса и объема объекта разработки — программного изделия.


Назад


Главная Теоретический материал Лабораторные работы Тесты Контакты