Лекции по "Технология программирования"

Автор работы: Пользователь скрыл имя, 17 Декабря 2014 в 02:02, курс лекций

Краткое описание

Введение в идеологию. В эпоху НТП объемы производства и использование средств вычислительной технологии во многом определял Н.Т.П. Резкое снижение средств вычислительной техники создало предпосылки для массового внедрения вычислительной техники в бытовом производстве. Это позволило провести широкую автоматизацию производственных процессов на базе встроенных микропроцессов вплоть до применения их в бытовой технике.

Прикрепленные файлы: 1 файл

Tehnologiq_programmirovaniq2_lections.doc

— 394.00 Кб (Скачать документ)

 

Лекция 10

 

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

 

Распространенные методы и средства разработки ПО

 

Вариантные сети, операционные маршруты и вертикальные слои.

1)Вариантные сети.

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

Вариантная фиксация выборных решений является необходимым атрибутом любой технологии программирования или любого  вида представления программ.

Среди полезных средств документальных фиксации выбранных решений отмечают следующие:

1) Возможность проверки руководителем  или специалистом правильность  выбранного решения.

2) В случае большого количества сравниваемых вариантов отсутствие фиксации вариантов приводит, как правило, разработчиков в тупик.

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

Фиксация представляется в виде вариантного сектора, который включает в себя:

1) Четкая постановка вопроса, требующего решения.

2) возможные варианты решения поставленного вопроса.

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

4) Матрица оценок вариантов.

5) Аргументация этих оценок, т.е. обоснование их.

6) Выбранный на основе этих  оценок вариант.

Матица оценок представляет. собой двумерную таблицу, в которой столбцы соответствуют свойствам, а строки вариантам. На пересечении i строки и j столбца располагаются целые числа от 0 до 10, которые характеризуют относительную оценку проявления j -го свойства в i -ом варианте. Кроме того, с каждым свойством поставляется величина значимости этого свойства (весовой параметр), характеризующий важность этого свойства, с точки зрения целей проекта, в рамках которого и должен функционировать наш проект.

 

 

С1

С2

С3

С4

С5

С6

Полная оценка

 

10

4

1

4

3

2

 

1

10

10

0

10

3

10

219

2

10

0

10

10

10

0

180

3

10

0

10

10

8

0

174

4

0

10

10(1)

5

5

0

85

5

0

10

0(2)

0

4

2

56


 

 

Зависимый вариантный сектор граф вариантной сети вар-ая сеть

 

…….

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

1) ввод информации.

2) Хранение и пополнение сети.

3) Контроль правильности и полноты  сети.

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

 

Операционные маршруты – одно из направлений по оценки и проектированию. Представляет собой программу деятельности человеко-машинного комплекса в процессе информационного обмена, т.е. операционный маршрут является результатом программирования деятельности результатом которого выступают не только вычислительные машины, но и участвующий  в информационном обмене пользователи заказчики. люди. Необходимость полного программирования деятельность человеко-машинной систем никем не оспаривается, программа этой деятельности представленная виде операционных маршрутов является полным и точным документом, описывающим систему. На основе операционных маршрутов целесообразно, осуществлять: 1) внедрение. эксплуатацию и модернизацию человеко-машинных. систем, т.е. операционный маршрут является исчерпывающим документом на систему. Этот документ можно также использовать на этапе формирования требований к будущему программному продукту (техническое задание).

Операционные маршруты пишутся на языке АКТ в одноименном технологическом комплексе АКТ.

 

2.Вертикальное слоение программ

 

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

 Для начальной систематизации используются следующие принципы:

1) это членение или разделение  проекта на составные части.

2) Обеспечение функциональности  и независимости этих  частей.

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

Технология вертикального слоения в наиболее полной форме соответствует указанным способам описания. Разделение программного изделия на функциональные части в этой технологии производится на основе расширяющихся функций. Эти расширяющиеся функции характеризуются отношением, состоят из фрагментов программ, т.е. вы выбираете функции и определяете их. Программный текст, реализующий расширяющие функции называется вертикальным слоением. Реализующие функции, построенных по принципу «Реализуются с помощью».

Горизонтальный слой, обеспечивает определенный уровень, реализующих функций.

 

 

График…..

 

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

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

 

 

 

 

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

 

Основа:

Задача:

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

Необходимо ввести расширяющие функции:

1) Учет и печать полного набора  сведений о сотрудниках.

2) Частота изменение требований к сотрудникам,

3) отбор анкет по значению атрибутов.

4) Печать части требования от  сотрудниках.

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

6) Контроль ошибок входной информации.

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

1) Для реализации учета полного  набора сведений о сотрудниках.

2) Для печати.

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

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

Сравнивая между собой расширяющую функцию и реализующую функцию следует отметить, что первая функция обладает некоторым приоритетом перед реализующей. функцией. Расширяющая функция в первую очередь отвечает на вопрос что делает программное изделие?.  И уж потом, как? А для реализующей функции справедливо обратное. Представление программы в виде основы и расширяющей функции можно использовать для ее создания, освоения и модернизации, что  и приводит нас к идеологии технологии вертикального слоения. Технология вертикального слоения имеет ряд достоинств:

1) Относительно быстрое создание некоторого полностью работоспособного  документированного варианта программной системы.

2) Легкость освоения системы, которая может производиться в той же последовательности в которой происходит разработка программной системы.

3) Легкость модернизации системы, которая вытекает из того, что модернизации подвергается только  удалением  и восстановление функций.

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

 

Лекция 11

Технология вертикального слоения имеет ряд недостатков:

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

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

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

Технология низвосходящего проектирования состоит в следующем:

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

Как только создан каркас системы и созданы базисные элементы, применяется технология низходящего моделирования.

Технология низходящего проектирования лишена недостатков.

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

  1. начальная загрузка программной системы, т.е. ввод в архив всей технологической информации, как-то документация, программы и тесты.
  2. Коррекция ситемы, которая производится обнаружением ошибок. Коррекции могут подвергаться любые документы.(документы, программы и тесты)
  3. Фиксация версии, создаваемой системы, т.е. передача ее в эксплуатацию.
  4. Добавление вертикальных слоев, при этом инструментальный комплекс слоения вносит изменения в фоновую программу, осуществляется трансляция и запуск на выполнение.

Информация о работе Лекции по "Технология программирования"