Программирование
<<  Разработка программных средств Архитектура программного обеспечения  >>
Шаблоны как средство автоматизации проектирования прикладных программ
Шаблоны как средство автоматизации проектирования прикладных программ
Успехи в развитии языков программирования в 60-70 годах прошлого века
Успехи в развитии языков программирования в 60-70 годах прошлого века
Кризис прикладного программирования
Кризис прикладного программирования
Принципиальная схема процесса разработки компьютерных программ
Принципиальная схема процесса разработки компьютерных программ
В перспективе разработкой будет заниматься не программист
В перспективе разработкой будет заниматься не программист
Достаточно близкое по идее направление
Достаточно близкое по идее направление
Возможность генерации эффективных прикладных программ
Возможность генерации эффективных прикладных программ
Концепция системы проектирования
Концепция системы проектирования
5-летний опыт (в 1971 - 1975 гг.) «ручного» проектирования
5-летний опыт (в 1971 - 1975 гг.) «ручного» проектирования
Проекты, предлагающие программирование на естественном языке
Проекты, предлагающие программирование на естественном языке
Концепции генерации прикладных программ
Концепции генерации прикладных программ
Практическое подтверждение
Практическое подтверждение

Демонстрации предложенного принципа
Демонстрации предложенного принципа
Количество возможных вариантов возводимых зданий
Количество возможных вариантов возводимых зданий
Условные обозначения параметров, управляющих процессом формирования
Условные обозначения параметров, управляющих процессом формирования



Алгоритмы формирования инструкций
Алгоритмы формирования инструкций



Подготовка
Подготовка
Задание на строительство здания
Задание на строительство здания
Строительство i-жилого этажа
Строительство i-жилого этажа
Перспективы применения предлагаемой технологии
Перспективы применения предлагаемой технологии
На этом мое сообщение заканчивается, благодарю за внимание
На этом мое сообщение заканчивается, благодарю за внимание
Презентация «Проектирование прикладных программ». Размер 2734 КБ. Автор: Л.В.Еремин.

Проектирование прикладных программ

содержание презентации «Проектирование прикладных программ.ppsx»
СлайдТекст
1 Шаблоны как средство автоматизации проектирования прикладных программ

Шаблоны как средство автоматизации проектирования прикладных программ

Шаблоны как средство автоматизации проектирования прикладных программ. «Спасение утопающих, дело рук самих утопающих» Автор: Еремин Леонид Васильевич, доцент кафедры Информационные технологии Финансового университета при Правительстве РФ.

2 Успехи в развитии языков программирования в 60-70 годах прошлого века

Успехи в развитии языков программирования в 60-70 годах прошлого века

Успехи в развитии языков программирования в 60-70 годах прошлого века в были настолько впечатляющими и обнадеживающими, что в 1974 году в Стокгольме на VI конгрессе IFIP (International Federation for Information Processing) был даже провозглашен лозунг: “Программирование без программистов в 1980 г.". Эпштейн В.Л. Проблемы автоматизации проектирования систем управления. В сб.: Автоматизация проектирования систем управления. Вып.1. Под ред. акад. В. А. Трапезникова, - М.: Статистика, 1978, стр. 12.

3 Кризис прикладного программирования

Кризис прикладного программирования

Однако «кризис прикладного программирования» до сих пор остается проблемой №1 в “computer science”, несмотря на успехи развития технологий и языков программирования. Стало очевидным, что решение этой проблемы лежит в плоскости создания принципиально новых непроцедурных языков программирования языков постановки задач (PSL - problem statement language ), характеризующих лишь специфику требований конечного пользователя к их компьютерной реализации и позволяющих автоматизировать весь процесс перехода: от анализа исходного описания постановки задачи непосредственно к соответствующей прикладной компьютерной программе. (Л. Еремин. Роль специалистов управления в разрешении кризиса прикладного программирования. М.: Финансовая газета. Региональный выпуск, № 35, август, 2010, с. 16). В качестве одного из возможных вариантов такого подхода можно рассмотреть традиционную схему процесса проектирования прикладных программ:

4 Принципиальная схема процесса разработки компьютерных программ

Принципиальная схема процесса разработки компьютерных программ

Принципиальная схема процесса разработки компьютерных программ для задач организационно-экономического управления: ЕЯ – естественный профессиональный язык (сленг) специалистов управления; ЯЭМО – язык экономико-математического описания вычислительной модели; ЯОА – язык описания алгоритма (алгоритмической схемы); ЯП – язык программирования; ЯЭВМ – внутренний язык вычислительной машины.

5 В перспективе разработкой будет заниматься не программист

В перспективе разработкой будет заниматься не программист

“… в перспективе разработкой будет заниматься не программист (человек, умеющий шаг за шагом объяснять машине, как решать задачу), а квалифицированный пользователь ?? человек, умеющий формулировать, что ему нужно “на выходе”. А. Евтюшкин. Рассуждения о технологической платформе. ж. Банковские технологии, февраль, 1998, стр. 14-16.

6 Достаточно близкое по идее направление

Достаточно близкое по идее направление

Достаточно близкое по идее направление рассматривалось и в передаче «Эволюция языков программирования» http://archive.svoboda.org/programs/sc/2004/sc.012004.asp. Александр Сергеев: «… Речь идет о том, чтобы разрабатывать специальные языки, уже не те, на которых мы пишем инструкции - сделай то, проверь это, перейди туда, выполни то, а делаются специальные языки, на которых мы описываем только требования к программам и модулям, которые мы собираемся создавать. … … По этим требованиям и заранее известным шаблонам создается некий скелет программы, который до того, как она заработает, уже можно протестировать на связность логики, охвата всех необходимых требований, проверки того, что все поставленные перед разработчиком условия были соблюдены. И после проверки, программистам более низкой квалификации будет выдан шаблон программы и сказано: сюда впишите реализацию такого метода, а сюда впишите реализацию такого-то метода. Такой подход, по-видимому, позволяет сделать еще один шаг вперед по сложности по сравнению с тем, что доступно сейчас, но не больше. А что там дальше, пока не видно.».

7 Возможность генерации эффективных прикладных программ

Возможность генерации эффективных прикладных программ

Вместе с тем, еще в мае 1980 года в МЭСИ (на ЭВМ ЕС-1020) была продемонстрирована возможность генерации эффективных прикладных программ по запросам, выполненным на языке, близком к естественному профессиональному языку специалистов управления. Разработка системы генерации прикладных программ осуществлялась в ПНИЛ МО АСУ МЭСИ в рамках проекта «Латорица 2МВО»: «Исследование и разработка многоуровневой системы программирования, обеспечивающей моделирование и машинное проектирование систем обработки данных различных уровней». Проект «Латорица 2МВО» выполнялся в 1976 - 1980 гг. в рамках тематики Министерства высшего образования по заказу НИИАА (Научно-исследовательского института автоматической аппаратуры). Научным руководителем проекта был ректор МЭСИ, проф. В.В. Шураков.

8 Концепция системы проектирования

Концепция системы проектирования

По инициативе ректора МЭСИ, в ноябре 1979 г. (в качестве демонстрации отечественных достижений в области “computer-science”) концепция системы проектирования прикладных программ по запросам на естественном языке обсуждалась на встрече с группой ведущих американских IT-специалистов, возглавляемой проф. Д.Тайкроу (D. Teichroew - один из авторов известного проекта ISDOS – Information System Design and Optimization System).

9 5-летний опыт (в 1971 - 1975 гг.) «ручного» проектирования

5-летний опыт (в 1971 - 1975 гг.) «ручного» проектирования

Стимулом же к развертыванию работ по созданию системы генерации прикладных программ послужил 5-летний опыт (в 1971 - 1975 гг.) «ручного» проектирования прикладных программ с использованием шаблонов, управляющих процессом формирования алгоритмов компьютерной реализации учетно-статистических задач. Вместе с тем, следует отметить, что идея управления проектированием прикладных алгоритмов посредством моделей была высказана еще в 1963 году двумя математиками: А. Чарнсом и У. Купером на симпозиуме в Кейсовском технологическом институте (США). В своем докладе они отметили целесообразность такой организации процесса компьютерного моделирования, при котором "… сама модель становится «метапрограммой» в том смысле, что она устанавливает общие правила для составления вычислительных алгоритмов…" (стр. 118, Чарнс А., Купер У. Модели условной экстремизации и их использование для оценки качества систем. // В сб. Общая теория систем. – М.: Мир, 1966).

10 Проекты, предлагающие программирование на естественном языке

Проекты, предлагающие программирование на естественном языке

«Проекты, предлагающие программирование на естественном языке, гибельны по своей сути». (Дейкстра Эдсгер Вибе).

11 Концепции генерации прикладных программ

Концепции генерации прикладных программ

В основе реализованной в рамках проекта «Латорица 2МВО» концепции генерации прикладных программ по запросам специалистов управления лежала идея управления процессом проектирования с помощью вычислительной модели задачи и исходных заготовок - шаблонов как конструктивным элементов особой формы (виде «прообразов», или макетов). В принципе идея использования шаблонов не является новой для сложившейся практики проектирования (и широко используется, например, при изготовлении обуви и одежды, в автомобиле-, авиа- и судостроении, в гражданском и промышленном строительстве и т.п.). В этом плане характерно, что особый вклад в распространение этой идеи среди разработчиков прикладных программ принадлежит американскому архитектору Кристоферу Александру, который составил набор шаблонов (“patterns”) для проектирования зданий и предложил язык шаблонов (“pattern language”) в качестве средства описания архитектурных решений.

12 Практическое подтверждение

Практическое подтверждение

Разработанная в МЭСИ концепция получила свое практическое подтверждение – в мае 1980 года на ЭВМ ЕС-1020 была осуществлена экспериментальная апробация системы, обеспечивающей генерацию уникальных прикладных ПЛ-программ по запросам на языке, близком к естественному профессиональному языку специалистов управления . Еремин Л.В. «К проблеме проектирования шаблонов процедур обработки данных при создании АСП СОД». Программное обеспечение АСУ. Сб. научных трудов. Вып.4., М.: МЭСИ, 1977, стр. 113-124. Еремин Л.В. «Характеристика языков двухуровневой системы машинного проектирования программ обработки учетно-статистической информации - «СИНТЕЗ». / Материалы семинара «Автоматизация проектирования». – М.: МДНТП им. Ф.Э. Дзержинского, 1981, с. 17-22. Еремин Л.В. «Исследование и разработка системы автоматизированного проектирования программ обработки учетно-статистической информации». Автореферат диссертации на соискание ученой степени кандидата экономических наук, – М.: МЭСИ, 1981, 24 с.

13

14 Демонстрации предложенного принципа

Демонстрации предложенного принципа

Для демонстрации предложенного принципа проектирования уникальных алгоритмов прикладных программ (и в знак признания заслуг американского архитектора К. Александра в развитие технологий объектно-ориентированного программирования) воспользуемся следующим условным примером - генерацией Инструкций по возведению различных зданий в рамках следующих допущений: Здания могут: быть одно- или многоэтажными; иметь жилое, офисное или смешанное назначение (в последнем случае офисные помещения занимают нижние этажи здания, а последующие отводятся для жилья); иметь многоэтажные подземные паркинги; возводиться с использованием надземных опорных колонн (прозванных в народе – «курьи ножки»); завершаться стандартной крышей или крышей со смотровой, либо вертолетной площадкой.

15 Количество возможных вариантов возводимых зданий

Количество возможных вариантов возводимых зданий

Очевидно количество возможных вариантов возводимых зданий (даже в рамках представленных ограничений – приближается к бесконечному множеству). В принципе при данной постановке задачи возможно применение универсального алгоритма формирования Инструкций по управлению возведением уникальных зданий. Однако в каждом конкретном, частном случае такой алгоритм будет менее эффективным, по сравнению с алгоритмом, сгенерированным исключительно для каждого отдельно взятого частного случая. Недаром, как отмечают американские специалисты: «Если у вас есть пакет прикладных программ, и вы устанавливаете его в 16 различных организациях, то при этом вы создаете 16 различных пакетов» (стр. 169., Громов Г.Р. Очерки информационной технологии. - М.: ИнфоАрт, 1993).

16 Условные обозначения параметров, управляющих процессом формирования

Условные обозначения параметров, управляющих процессом формирования

Условные обозначения параметров, управляющих процессом формирования инструкций по возведению зданий. Характеристики строящихся зданий: N1. Количество этажей подземного паркинга. N2. Наличие несущих колонн-опор (да = 1, нет = 0). N3. Количество этажей офисного назначения. N4. Количество жилых этажей. N5. Стандартная крыша (0) Крыша с вертолетной площадкой (1) Крыша со смотровой площадкой (2).

17

18

19

20 Алгоритмы формирования инструкций

Алгоритмы формирования инструкций

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

21

22

23

24 Подготовка

Подготовка

N1=3; N2=1; N3=2; N4=24; N5=2. f (3; 1; 2; 24; 2). Подготовка Инструкция на строительство здания: - с 3-мя этажами подземного паркинга (N1 = 3); - на несущих колоннах-опорах (N2 = 1); - с 2-мя этажами офисного назначения (N3 =2); - с 24-мя этажами жилого назначения (N4 =24); - с крышей со смотровой площадкой (N5 =2);.

25 Задание на строительство здания

Задание на строительство здания

Задание на строительство здания. Характеристики строящихся зданий: N1. Количество этажей подземного паркинга. 3. N2. Наличие несущих колонн-опор (да = 1, нет = 0). 1. N3. Количество этажей офисного назначения. 2. N4. Количество жилых этажей. 24. N5. Стандартная крыша (0) Крыша с вертолетной площадкой (1) Крыша со смотровой площадкой (2). 2.

26 Строительство i-жилого этажа

Строительство i-жилого этажа

Да. Нет. Строительство i-жилого этажа. N1=3; N2=1; N3=2; N4=24; N5=2. Начало. N4=0 ? Возведение несущих колонн-опор. N4>3. N2=1. Бетонирование фундамента. N4>3. Строительство 1-офисного этажа. N3=2-1. Строительство 1-этажа паркинга. N1=3-1. N4=N4-1. Строительство 2-офисного этажа. N4>3. N3=2-2. Строительство 2-этажа паркинга. N1=3-2. Установки смотровой площадки. N5=2. Строительство 3-этажа паркинга. N1=3-3. Конец.

27 Перспективы применения предлагаемой технологии

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

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

28 На этом мое сообщение заканчивается, благодарю за внимание

На этом мое сообщение заканчивается, благодарю за внимание

На этом мое сообщение заканчивается, Благодарю за внимание!

«Проектирование прикладных программ»
Сайт

5informatika.net

115 тем
5informatika.net > Программирование > Проектирование прикладных программ.ppsx