Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Малый ШАД_Что такое программная инженерия_3.10.15

.pdf
Скачиваний:
19
Добавлен:
16.03.2016
Размер:
3.05 Mб
Скачать

...из подходящих

компонент...

1-Oct-15

Software Engineering

21

...но разные...

1-Oct-15

Software Engineering

22

...или разрабатывают

радиоприемники...

1-Oct-15

Software Engineering

23

...разные, но из стандартных компонент...

1-Oct-15

Software Engineering

24

...или всякие вычислительные устройства...

1-Oct-15

Software Engineering

25

Основное содержание Software Engineering Conference

Более 50 специалистов в области software из 11 стран;

Пользователи;

Производители;

Преподаватели университетов – в частности E.W. Dijkstra (чем он знаменит?) .

Основные темы обсуждений на конференции:

Взаимосвязь Software и Hardware;

Разработка Software (design);

Производство, или реализация Software (implementation);

Распространение Software (distribution);

Обслуживание (сопровождение) Software (service on software).

Обсуждались и более общие (менее технические) вопросы:

Пути достижения должной надежности систем обработки данных;

Проблемы управления большими программными проектами;

Обученние специалистов в области Software Engineering;

Надо ли оценивать Software отдельно от Hardware;

Это обсуждение происходило в 1968 году, сейчас этот вопрос уже решен

1-Oct-15

Software Engineering

26

Компонентно-Ориентированное Программирование ?

Компонентно-ориентированное программирование (англ. componentoriented programming, COP) — парадигма программирования, опирающаяся на понятие программного компонента — независимого модуля программного кода, предназначенного для повторного (многократного)

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

(например, классов в объектно-ориентированных языках), объединённых по общему признаку и организованных в соответствии с определёнными правилами и ограничениями.

Возникает необходимость в определении общих признаков, правил и ограничений:

Необходимо внедрение стандартных соглашений (производственных стандартов !), соблюдаемых при разработке программ;

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

Программные компоненты должны производиться и использоваться в соответствии с определенными стандартами, которые принято называть компонентными моделями. Они и определяют - что такое [программный] компонент и как его использовать...

1-Oct-15

Software Engineering

27

Любое программирование - компонентное

Не компонентного программирования – не бывает:

Все зависит от того, что считать компонентом (т.е. – от используемой при рассмотрении компонентной модели);

В философском смысле – от уровня детализации (что, в конечном счете,

связано с вопросами взаимоотношений дискретности и непрерывности...)...

А что такое программирование? Под программированием здесь мы понимаем «процесс принуждения вычислительной машины к выполненнию нужной нам работы» (но «боремся» мы сами с собой)...

Т.е., процесс программирования имеет целью процесс выполнения программы...

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

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

1-Oct-15

Software Engineering

28

Вычислительные машины бывают разные:

Аналоговые – АВМ (практически вышли из употребления)

Программирование (в сущности - моделирование) происходит путем физического соединения имеющихся экземпляров компонент между собой

(проводами!) ;

Цифровые – ЦВМ (цифровая техника повсюду вытесняет аналоговую –

какие можно привести примеры? Почему?)

Программирование изначально связано с элементарными компонентами программ – командами (машинными инструкциями) и ячейками памяти данных.

Программисты, используя эти элементарные компоненты, могут сами

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

Архитектура цифровой вычислительной машины (система команд) определяет такую компонентную модель, в которой компонентами являются отдельные инструкции;

программирование при этом – использование экземпляров инструкций по

определенным правилам.

А чем отличается в этом смысле аналоговая машина?

полезно помнить, что сама ЦВМ сделана из «аналоговых» физических компонент...

1-Oct-15

Software Engineering

29

АВМ (слева) и первая ЦВМ (справа)

IBM Automatic Sequence Controlled Calculator (ASCC) MARK-1, построен в IBM и установлен в Гарварде в 1944.

Марк-1 мог хранить 72 числа, каждое длиной до 23-х десятичных знаков. Мог выполнять до трех сложений или вычитаний в секунду. Умножение занимало 6 секунд, деление - 15,3 секунды, а вычисление логарифмической или тригонометрической функции требовало более минуты.

1-Oct-15

Software Engineering

30