Программа как формализованное описание процесса о бработки данных. Программное средство. Целью программирования является описание процессов обработки данных в дальнейшем  просто

Вид материалаПрограмма

Содержание


1.2. Ошибка программы.
1.3. Надежность программного средства.
1.4 Технология программирования как технология разработки надежных программных средств.
Жизненный цикл и этапы разработки программного обеспечения.
Анализ требований и определение спецификаций
Модели разработки программного обеспечения
Модель с промежуточным контролем
Спиральная модель
минимальное время до появления первой рабочей версии программы
программное средство может быть никогда не закончено, так как будет находиться в постоянном усовершенствовании.
2.2 Модули и их свойства
Сцепление модулей
Связанность модулей
Информационно связанными
Временная связанность
Логическая связанность
Случайную связанность
Библиотеки ресурсов
Нисходящая и восходящая разработка программного обеспечения
Восходящий подход
...
Полное содержание
Подобный материал:
  1   2   3   4   5   6   7   8

1. НАДЕЖНОЕ ПРОГРАММНОЕ СРЕДСТВО КАК ПРОДУКТ ТЕХНОЛОГИИ ПРОГРАММИРОВАНИЯ. ИСТОРИЧЕСКИЙ И СОЦИАЛЬНЫЙ КОНТЕКСТ ПРОГРАММИРОВАНИЯ

1.1. Программа как формализованное описание процесса обработки данных. Программное средство.


Целью программирования является описание процессов обработки данных (в дальнейшем  просто процессов). Данные (data)  это представление фактов и идей в формализованном виде, пригодном для передачи и переработке в некоем процессе, а информация (information)  это смысл, который придается данным при их представлении. Обработка данных (data processing)  это выполнение систематической последовательности действий с данными. Данные представляются и хранятся на т.н. носителях данных. Совокупность носителей данных, используемых при какой-либо обработке данных, будем называть информационной средой (data medium). Набор данных, содержащихся в какой-либо момент в информационной среде, будем называть состоянием этой информационной среды. Процесс можно определить как последовательность сменяющих друг друга состояний некоторой информационной среды. Описать процесс  это значит определить последовательность состояний заданной информационной среды. Если мы хотим, чтобы по заданному описанию требуемый процесс порождался автоматически на каком-либо компьютере, необходимо, чтобы это описание было формализованным. Такое описание называется программой. Программа составляется на удобном для человека формализованном языке программирования, с которого она автоматически переводится на язык соответствующего компьютера с помощью другой программы, называемой транслятором. Прежде чем написать программу, необходимо выполнить следующие стадии:
  • постановка задачи
  • выбор метода решения задачи
  • разработка алгоритмов

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

1.2. Ошибка программы.


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

1.3. Надежность программного средства.


Надежность (reliability) ПС  это его способность безотказно выполнять определенные функции при заданных условиях в течение заданного периода времени с достаточно большой вероятностью [1..5]. При этом под отказом в ПС понимают проявление в нем ошибки. Надежность ПС выясняется на этапе стадии тестирования, а также при практическом применении.

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

1.4 Технология программирования как технология разработки надежных программных средств.


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

Имеются следующие подходы к проектированию программного обеспечения:
  1. Проектирование исходя из выполняемых программным обеспечением функций.
  2. Проектирование, основанное на исследовании потоков данных.
  3. Проектирование, основанное на структуре данных.
  4. Объектно-ориентированное проектирование ООП.
  1. Задана выполняемая функция. Проектирование заключается в выполнении функциональной декомпозиции, то есть разделении заданной функции на ряд подфункций. Каждая подфункция рассматривается в свою очередь как функция и также подвергается функциональной декомпозиции. Этот процесс продолжается до тех пор, пока не получатся подфункции, которым соответствуют легко реализуемые программные модули. Каждой функции соответствует: перечень входных данных, описание выполняемых функций, перечень выходных данных. Этот подход нашел своё выражение в методике структурного программирования. Наиболее стройно идеи структурного программирования нашли своё выражение в технологиях HIPO (Hierarchical Input Processing Output). Процесс проектирования заключается в составлении IPO-диаграмм. Каждая диаграмма соответствует одной функции.

Пример диаграмм:



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

Номер

Имя

Вход In

Process

Выход Out

Описание исходных данных модуля

Описание процесса преобразования вход-выход, включая обращения к модулям более низкого уровня

Описание

выходных

данных

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

Пример:

Обозначение:

- процесс обработки

- источник данных и получатель данных

→ - поток данных

- файл (база данных)


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



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


Жизненный цикл и этапы разработки программного обеспечения.

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

∆t=tK-tH

Основной нормативный документ, определяющий состав процессов ЖЦ ПО – это международный стандарт ISO/IEC 1207: 1995 “Information technology – Software Life Cycle Processes (Информационные технологии-Процессы жизненного цикла программного обеспечения)”, International Organization for Standartization (Международная организация по стандартизации), IEC International Electrotechnical Commission –Международная комиссия по электротехнике.

Этот стандарт описывает структуру жизненного цикла программного обеспечения и его процессы. Процесс жизненного цикла определяется как совокупность взаимосвязанных действий, преобразующих некоторые входные данные в выходные. Каждый процесс характеризуется определенными задачами и методами их решения, а также данными и результатами. Модель конкретного ПО определяет характер процесса его создания. ЖЦ состоит из стадий. Стадии характеризуются определенным состоянием ПО, видом предусмотренных работ и результатом. Стадии ПО ограничены временем и заканчиваются выпуском конкретного продукта.

При создании ПО выделяют основные этапы разработки: (в скобках указаны соответствующие стадии разработки по ГОСТ 19.102-77 «Стадии разработки»)
  • постановка задачи (стадия «Техническое задание»);
  • анализ требований и разработка спецификаций (стадия «Эскизный проект»);
  • проектирование (стадия «Технический проект»);
  • реализация (стадия «Рабочий проект»);
  • сопровождение (стадия «Внедрение»);

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

Требования к программному обеспечению, имеющие прототипы, определяют по аналогичным продуктам, учитывая структуру и характеристики уже существующего программного обеспечения. Если программный продукт не имеет аналогов, то проводят научно-исследовательскую работу (НИР), в которой определяют наиболее существенные характеристики разрабатываемого программного обеспечения и методы их реализации.

Постановка задачи заканчивается разработкой технического задания и принятием основных проектных решений.

Анализ требований и определение спецификаций: Спецификациями называют точное формализованное описание функций и ограничений разрабатываемого прог. обес..

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

Проектирование: на данном этапе определяют подробные спецификации разр. прогр. обесп. Процесс проектирования в себя включает:
  • проектирование общей структуры – определение основных компонентов и их связей;
  • декомпозицию компонентов и построение блочных диаграмм
  • проектирование компонентов

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

Реализация: на данном этапе происходит написание программы, отладка и ее тестирование.

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