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

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

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

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

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

Tehnologiq_programmirovaniq2_lections.doc

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

В состав этой информации входят:

1) описание требований к ПО.

2) описание проекта ПО.

3) Тексты и загрузочные модули  программ.

4) Описание используемых текстов и тестовые данные.

5) Технологическая, техническая и  пользовательской документация.

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

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

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

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

 

Лекция 4

Анализ правильности проектной информации

 -это деятельность пронизывает все этапы жизненного цикла и выливается в этапы: тестирования и верификации программного обеспечения.

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

1) Проверка синтаксической правильности  согласованностей проектной информации (согласованность межмодульных интерфейсов.

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

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

Задачи анализа, которые состоят в верификации, тестировании, локализации ошибок. Задача верификации является доказательство отсутствия ошибок.

Задачи тестирования – обнаружение возможного максимального числа ошибок.

Задачи локализации ошибки – обеспечивать как правило специфическими методами анализа, применяемыми в процессе отладки.

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

 

Анализ качества разработки ПО

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

Единых методов оценки этих показателей также не существует

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

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

1) Определение необходимых потребностей в выполнении данной работы в части ресурсов.

2) Способы организации коллектива разработчиков и распределение работ между ними . 3) Методы объективной оценки разрабатываемого ПО.

4) Учет индивидуального вклада каждого разработчики.

 В этом контексте наиболее важное значение принимает - эффективность разработки ПО, которая определяется временем, трудозатратами, денежными ресурсами.

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

 Документируются как конечные  результаты, так и промежуточные разработки.

Выделяется 2 аспекта в этой деятельности:

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

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

1) фиксация результатов.

2) Процессы разработки ПО, в том числе принимаемые решения.

3) Создание компонент проектной  информации и технология их связи

Важным аспектом данной деятельности является модификация будущего ПО и всей сопутствующей ему документации.

 

Проблема автоматизации разработки

Проблема: важным аспектом разработки ПО в части автоматизации разработки являются работы в области декомпозиции или автоматического синтеза программ по их спецификациям, т.е по некоторым видам шаблонов.

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

 

Причины создания автоматиз систем

к таким работам относятся виды работ, носящие рутинный характер.

1) ведение проектной и программной документации в ходе разработки ПО, введение согласованности проектной документации и программ на всем протяжении разработки.

2) Проверка совместимости интерфейсов  программных модулей.

3) Подготовка исходных данных  для тестирования. Организация работы  тестов. и анализ результатов.

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

В США разработка таких программных инструментов более 600, которые отличаются своими методиками, реализованными методами, языками кодирования, средствами описания. более того даже для 1 класса задач данное ПО резко отличалось по способам реализации, ПО не позволяло оценить качество разработки, а одну и ту же задачу надо было решать 1 или 2-мя способами.

Причины обилия такого многообразия числа автоматизированных систем ПО состоят в следующем:

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

2) отсутствовал один метод разработки  на каждом этапе жизненного цикла. Структуризация ПО проводилась по разным методикам, использовались, как правило, разные подходы по анализу правильности проектной информации.

3) Ориентация большинства таких  инструментальных систем на отдельные этапы жизненного цикла ПО или на отдельные виды деятельности. Например, тестирование или документация.

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

Поэтому автоматизированная разработка сложных систем ПО как правило обеспечивается большими технологическими комплексами по разработке ПО или системами поддержки разработки ПО. Такие технологические комплексы позволяют автоматизировать выполнение различных видов деятельности разработки на всех этапах жизненного цикла или их части. Такие как RТS, SDS, SOFTING, суперформат, ритм и т.д.

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

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

1) Создание проектной информации и ввод ее в централизованную базу данных на различных этапах разработки жизненного цикла ПО.

2) Автоматическая генерация некоторых  компонентов ПО или проекта.

3) Анализ правильности и согласованности  проектной информации и ее замкнутости и полнота информации.

4) Оценка текущего состояния разработки и качества выполнения работ.

5) Планирование хода разработки и контроль за выполнением плана.

6) Общая организация работ в соответствии с  некоторой технической схемой.

7) Подготовка и выдача результатов  разработки. разработчиком ПО и  руководителям разработки. Определение  информ. …. разработок.

8) Оформление всей документации  в наглядном виде, оформленной в соответствии . со стандартами.

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

    1. Разнообразные процедуры статического анализа полноты, замкнутости и согласованности информации

2) Формальное доказательство правильности программы (верификация).

3)Символьное исполнение программ.

4) Тестирование.

5) Разнообразные способы пошагового прохождения программы и выдачи информации о всех  промежуточных результатах.

Инструменты технологического комплекса

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

 

Лекция 5

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

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

Под спецификацией будем понимать документ определенной структуры данных.

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

 

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

Известны 2 технологических комплекса ARGUS и РИТМ, в которых оценки качества разработки основана на простейшем математическом  аппарате. В ряде технологических комплексов есть технологические средства персонального контроля сроков работы(1) планирование сроков выполнения работы конкретными исполнителями. 2) Контроль за соблюдением сроков выполнения работы). Такие процедуры как правило имеются в большинстве технологических комплексах, в некоторых технологических комплексах в частности ARGUS и РТК имеются средства автоматизации и построения сетевых графиков, всех этапов выполнения разработки.

 

 

Разработка и модификация  проектной информации

 

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

 

Общие приемы разработки проектной инфы

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

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