русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Методы проектирования программных систем


Дата добавления: 2014-10-02; просмотров: 3046; Нарушение авторских прав


 

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

Способ управления сложными системами был известен еще в древности: divide et impera (разделяй и властвуй). При проектировании сложной программной системы необходимо составлять ее из небольших подсистем, каждую из которых можно отладить независимо от других. В этом случае мы не выходим за пределы возможностей человека, отпущенных ему природой: при разработке любого уровня системы нам нужно будет одновременно держать в уме информацию лишь о немногих ее частях (отнюдь не о всех!).

Начиная с 60-70-х годов стали появляться компьютеры еще больших возможностей. Значение структурного подхода осталось прежним, но оказалось, что структурный подход не работает, если объем программы превышает приблизительно 100 000 строк. В последнее время появились десятки методов, в большинстве которых устранены очевидные недостатки структурного проектирования.



В настоящее время методы проектирования можно разделить на три основные группы:

¨ метод структурного проектирования “сверху-вниз”;

¨ метод организации потоков данных;

¨ объектно-ориентированное проектирование.

Примеры методов структурного проектирования приведены в работах Йордана и Константина (Yourdon E. and Constantine), Вирта (Wirth N.), Даля, Дейкстры и Хоара (Dahl O., Dijkstra E.W., and Hoare C. A. R.) и др. В каждом из этих подходов присутствует алгоритмическая декомпозиция. Следует отметить, что большинство существующих программ написано в соответствии с одним из этих методов. Тем не менее структурный подход не позволяет выделять абстракции и обеспечивать защиту доступа к данным, не представляет он также достаточных средств для организации параллелизма. Структурный подход не может обеспечить создание предельно сложных систем, и он, как правило, неэффективен при использовании объектно-ориен­тированных языков программирования.

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

В основе объектно-ориентированного проектирования (OOD) лежит представление о том, что программную систему необходимо проектировать как совокупность взаимодействующих друг с другом объектов, рассматривая каждый объект как экземпляр определенного класса, причем классы при этом образуют иерархию. Объектно-ориентированный подход отражает топологию новых языков высокого уровня, таких, как Smalltalk, Object Pascal, C++ и Ada.

 



<== предыдущая лекция | следующая лекция ==>
ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ САПР | Методы программирования ПО САПР


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

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