Реферат: Программа как формализованное описание процесса о бработки данных. Программное средство. Целью программирования является описание процессов обработки данных в дальнейшем просто
1. НАДЕЖНОЕ ПРОГРАММНОЕ СРЕДСТВО КАК ПРОДУКТ ТЕХНОЛОГИИ ПРОГРАММИРОВАНИЯ. ИСТОРИЧЕСКИЙ И СОЦИАЛЬНЫЙ КОНТЕКСТ ПРОГРАММИРОВАНИЯ 1.1. Программа как формализованное описание процесса обработки данных. Программное средство.Целью программирования является описание процессов обработки данных (в дальнейшем просто процессов). Данные (data) это представление фактов и идей в формализованном виде, пригодном для передачи и переработке в некоем процессе, а информация (information) это смысл, который придается данным при их представлении. Обработка данных (data processing) это выполнение систематической последовательности действий с данными. Данные представляются и хранятся на т.н. носителях данных. Совокупность носителей данных, используемых при какой-либо обработке данных, будем называть информационной средой (data medium). Набор данных, содержащихся в какой-либо момент в информационной среде, будем называть состоянием этой информационной среды. Процесс можно определить как последовательность сменяющих друг друга состояний некоторой информационной среды. Описать процесс это значит определить последовательность состояний заданной информационной среды. Если мы хотим, чтобы по заданному описанию требуемый процесс порождался автоматически на каком-либо компьютере, необходимо, чтобы это описание было формализованным. Такое описание называется программой. Программа составляется на удобном для человека формализованном языке программирования, с которого она автоматически переводится на язык соответствующего компьютера с помощью другой программы, называемой транслятором. Прежде чем написать программу, необходимо выполнить следующие стадии:
постановка задачи
выбор метода решения задачи
разработка алгоритмов
Программным средством (ПС) называется программа или логически связана группа программ, снабженная программной документацией.
^ 1.2. Ошибка программы.
Продуктом технологии программирования является ПС выполняющие требуемые функции программы без ошибок. Под ошибкой или дефектом понимается поведение программы, при котором выполняется действие, не ожидаемое пользователем или не описанной в программной документации.
^ 1.3. Надежность программного средства.
Надежность (reliability) ПС это его способность безотказно выполнять определенные функции при заданных условиях в течение заданного периода времени с достаточно большой вероятностью [1..5]. При этом под отказом в ПС понимают проявление в нем ошибки. Надежность ПС выясняется на этапе стадии тестирования, а также при практическом применении.
При оценке степени надежности ПС следует также учитывать последствия каждого отказа. Некоторые ошибки в ПС могут вызывать лишь некоторые неудобства при его применении, тогда как другие ошибки могут иметь катастрофические последствия, например потеря данных. Поэтому для оценки надежности ПС иногда используют дополнительные показатели, учитывающие стоимость (вред) для пользователя каждого отказа.
^ 1.4 Технология программирования как технология разработки надежных программных средств.
Технология программирования – совокупность и систематизирование знаний или наука об оптимальных способах, приемах проведения процесса программирования, обеспечивающая в заданных условиях получение программной продукции с заданными свойствами.
Имеются следующие подходы к проектированию программного обеспечения:
Проектирование исходя из выполняемых программным обеспечением функций.
Проектирование, основанное на исследовании потоков данных.
Проектирование, основанное на структуре данных.
Объектно-ориентированное проектирование ООП.
Задана выполняемая функция. Проектирование заключается в выполнении функциональной декомпозиции, то есть разделении заданной функции на ряд подфункций. Каждая подфункция рассматривается в свою очередь как функция и также подвергается функциональной декомпозиции. Этот процесс продолжается до тех пор, пока не получатся подфункции, которым соответствуют легко реализуемые программные модули. Каждой функции соответствует: перечень входных данных, описание выполняемых функций, перечень выходных данных. Этот подход нашел своё выражение в методике структурного программирования. Наиболее стройно идеи структурного программирования нашли своё выражение в технологиях HIPO (Hierarchical Input Processing Output). Процесс проектирования заключается в составлении IPO-диаграмм. Каждая диаграмма соответствует одной функции.
Пример диаграмм:
Диаграммы соединены между собой иерархической связью (структурой). Реализацию каждой IPO-диаграммы (т.е. написание конкретного программного модуля) может быть получено разными программистами, распараллеливая таким образом процесс создания ПО.
Номер
Имя
Вход In
Process
Выход Out
Описание исходных данных модуля
Описание процесса преобразования вход-выход, включая обращения к модулям более низкого уровня
Описание
выходных
данных
Этот подход применяется при решении алгоритмически сложных задач, не связанных с обработкой больших массивов сложноорганизованных данных (научно-технические задачи). Он подходит и для разработки простейших информационных систем. Для разработки систем реального времени и параллельных систем этот подход не применяется.
Первым этапом проектирования по этой методике является составление диаграмм потоков данных, которые задают движение данных, а не передачу управления как в обычных схемах алгоритмов. Затем определяется структура данных для каждого источника, потребителя и базы банных (файла). Для каждого источника и потребителя разрабатывается интерфейс пользователя. После уточнения входа-выхода и выполняемой функции для каждого процесса обработки осуществляется проектирование процесса. Целесообразно проектировать системы обработки данных. На схеме легко отобразить процесс передачи и обработки данных (например, между различными подразделениями предприятия) с дальнейшим уточнением состава передаваемых данных и содержанием обработки.
Пример:
Обозначение:
- процесс обработки
- источник данных и получатель данных
→ - поток данных
- файл (база данных)
Применяется в основном при проектировании баз данных. Проектирование начинается с определения структур данных всех источников. Должен соблюдаться принцип – каждый элемент данных вводится один раз от первоисточника. На основе всех структур данных источников проектируется глобальная структура данных – концептуальная модель данных (содержит все данные, хранимые в базе).
Потребителям может быть представлено определенное подмножество данных из концептуальной модели, соответствующее их информационным потребностям. Это подмножество – внешняя модель данных. Кроме непосредственного представления данных из базы, они могут быть использованы как исходные данные для прикладных программ, а результаты выполнения программ передаются пользователям информации. Существует методика Джексона конструирования программ: форма или структура подлежащих обработке данных определяет структуру программы.
При традиционном программировании программа состоит из описательно-исполнительных частей. В ООП вводится понятие объект, которое включает: 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 «Стадии разработки»)
постановка задачи (стадия «Техническое задание»);
анализ требований и разработка спецификаций (стадия «Эскизный проект»);
проектирование (стадия «Технический проект»);
реализация (стадия «Рабочий проект»);
сопровождение (стадия «Внедрение»);
Постановка задачи: На данном этапе формируют назначение программного обеспечения и определяют его основные требования. Каждое требование представляет собой описание необходимого свойства программного обеспечения. Различают функциональные и эксплутационные требования. В функциональных требованиях определяют функции выполняемые разрабатываемым продуктом, а в эксплутационных их функциональные особенности.
Требования к программному обеспечению, имеющие прототипы, определяют по аналогичным продуктам, учитывая структуру и характеристики уже существующего программного обеспечения. Если программный продукт не имеет аналогов, то проводят научно-исследовательскую работу (НИР), в которой определяют наиболее существенные характеристики разрабатываемого программного обеспечения и методы их реализации.
Постановка задачи заканчивается разработкой технического задания и принятием основных проектных решений.
^ Анализ требований и определение спецификаций: Спецификациями называют точное формализованное описание функций и ограничений разрабатываемого прог. обес..
Для получения спецификаций выполняют анализ требований технического задания, формируют постановку задачи и выбирают или разрабатывают методы их решения. На этом этапе также формируют тесты для поиска ошибок с указанием ожидаемых результатов.
Проектирование: на данном этапе определяют подробные спецификации разр. прогр. обесп. Процесс проектирования в себя включает:
проектирование общей структуры – определение основных компонентов и их связей;
декомпозицию компонентов и построение блочных диаграмм
проектирование компонентов
Результатом проектирования является детальная модель разрабатываемого программного обеспечения вместе со спецификациями его компонентов всех уровней.
Реализация: на данном этапе происходит написание программы, отладка и ее тестирование.
Сопровождение: Сопровождение – это процесс создания и внедрения новых версий программного продукта. Причинами обновления могут служить: расширение функциональных возможностей программы, нахождение ошибок, улучшение интерфейса и т.д.
^ Модели разработки программного обеспечения
Различают три вида модели жизненного цикла программного обеспечения.
Каскадная модель:
Данная модель предполагает, что переход на следующую стадию разработки осуществляется после того, как полностью завершены проектные операции предыдущей стадии и получены данные для следующей стадии.
Достоинства:
Простота планирования процесса разработки
Получение в конце каждой стадии входных и выходных параметров.
Быстрота написания программы.
Недостатки:
Сложность проработки каждой стадии создания программного продукта
Если на каком-либо этапе была допущена ошибка или заказчик изменил требования-условия, то необходимо пересматривать все стадии разработки.
Невозможность обновления программного продукта.
^ Модель с промежуточным контролем:
данная модель позволяет выполнять контроль выполнения предыдущего этапа и при необходимости вернуться на любой уровень и внести необходимые изменения.
Опасность использования такой схемы связана с тем, что разработка никогда не будет завершена, постоянно находясь в состоянии улучшения и усовершенствования.
^ Спиральная модель:
В соответствии с данной схемой программное обеспечение создается на основе использования прототипов.
Прототипом называют действующий программный продукт, реализующий отдельные функции и внешние интерфейсы разрабатываемого программного обеспечения.
На первом этапе специфицируют, проектируют, реализуют и тестируют интерфейс пользователя. На следующих этапах этот набор расширяют, наращивая возможности данного продукта.
Достоинства;
^ минимальное время до появления первой рабочей версии программы возможность заинтересовать большое количество пользователей, обеспечивая быстрое продвижение следующих версий продукта на рынке. Недостатки: ^ программное средство может быть никогда не закончено, так как будет находиться в постоянном усовершенствовании. Определения времени на новую стадию разработки.
2. Приемы обеспечения технологичности программных продуктов
2.1 понятие технологичности программного обеспечения
Под технологичностью программного обеспечения понимают проработанность моделей ПО, уровнем независимости его модулей, стилем программирования и степенью повторного использования кодов. Тщательность проработки модели создаваемого программного обеспечения позволяет сократить время на его разработку и уменьшает вероятность возникновения ошибок на этапе программирования. Независимость разрабатываемых модулей ПО обеспечивает легкость их понимая, назначения, реализации и нахождения в них ошибок. Стиль программирования или стиль оформления программ и их структурность, позволяет улучшить читаемость программного кода и уменьшить количество ошибок программирования. Увеличение степени повторного использования кодов предполагает как использование ранее разработанных библиотек подпрограмм или классов, так и унификацию кодов текущей разработки.
^ 2.2 Модули и их свойства
После определения общей структуры программного продукта на этапе проектирования, выполняется декомпозиция компонентов процедурным (структурным) или объектным подходом.
Результатом процедурной декомпозиции является получение отдельных частей программы или модулей, представляющих собой совокупность процедур или функций необходимых для решения определенной задачи. Главная особенность процедурного программирования заключается в том, что программа всегда имеет начальную процедуру (начальный блок) и окончание (конечный блок). При этом вся программа может быть представлена визуально в виде направленной последовательности графических примитивов или блоков.
Результатом объектной декомпозиции является совокупность объектов, которые реализуют как переменные некоторых специально разрабатываемых типов (классов), представляющих собой набор полей данных и методов, работающих с этими полями.
Итогом выполнения декомпозиции является получение набора связанных с соответствующими данными подпрограмм, которые в процессе реализации организуются в модули.
Модули.
Модуль – это отдельно компилируемая библиотека программных ресурсов, содержащая в себе константы, переменные, описания типов и классов, а также подпрограммы. Данные модули получают и возвращают через общие области памяти или переменные.
При создании модулей следуют придерживаться максимальной степени их независимости. Это дает следующие преимущества:
легкость разработки, как отдельного модуля, так и всей программы, ее тестирование, отладка и модификация
уменьшается вероятность появления ошибок при внесении изменений в программу
возможность распараллелить процесс создания программного обеспечения между группой программистов
Степень независимости модулей оценивают двумя критериями: сцеплением и связанностью
^ Сцепление модулей: Сцепление является мерой взаимозависимости модулей, которая определяет, насколько модули хорошо отделены друг от друга. Чем больше информации о других модулях хранит модуль, тем больше он с ним сцеплен.
Различают пять типов сцепления модулей:
по данным
по образцу
по управлению
по общей области данных
по содержимому
Сцепление по данным предполагает обмен данными между модулями целыми переменными.
Чем меньше предающих параметров, тем лучше.
<?
Function A($a,$b) {
If ($a == $b) { return $a;}
else {return $b;}
}
?>
Сцепление по образцу предполагает обмен данными между модулями объединенными структурами. В данном типе, значение переменных передаются в структурах (в массивах), что увеличивает сложность изменения модуля, так как необходимо модифицировать все использующие ее модули.
<?
Function b($myarray) {
$a=$myarray['key1'];
if ($a == 'value') { return true;}
else {return false;}
}
?>
Сцепление по управлению предполагает передачу в качестве параметра флага-состояния, который управляет внутренне логикой модуля. Использование данного типа допустимо, но снижает наглядность взаимодействие модулей.
<?
Function c($a,$b,$flag) {
if (($a > $b ) && ($flag)) { return true;}
else {return false;}
}
?>
Сцепление по общей области данных предполагают, что модули работают с общей областью данных. Считается не допустимым, так как
ошибка одного модуля использующий данный тип данных, может повлечь сбой в выполнения другого модуля, что усложняет локализацию ошибок
при доступе к общим данным используется уникальное имя переменной, при ее изменении возникает необходимость поиска и изменения имени переменной во всех модулях.
<?
Function d($index) {
global $massiv;
$massiv[$index]="world";
return $massiv['key'];
}
?>
В случаи сцепления по содержимому один модуль содержит внутренние обращения или переходы к внутренним данным другого модуля. Примером данного обращения могут служить переход по адресу ячейки памяти или ее чтения из памяти. Используется в основном на языках низкого уровня, такого как ассемблер.
При проектировании программного обеспечения следует передерживаться первых трех типов сцепления, так они обеспечивают наиболее простое проектирование модулей и технологичность разработки.
^ Связанность модулей
Связанность - мера прочности соединения функциональных и информационных объектов внутри одного модуля, характеризующая степень взаимосвязи элементов, реализуемых одним модулем. Иными словами. При создании модуля следует стараться проектировать его таким образом, чтобы в нем выполнялись схожие по своей функциональности действия и использующие при этом одни и те же переменные.
Различают следующие виды связанности:
Функциональную
Последовательную
Информационную
Процедурную
Временную
Логическую
Случайную
При функциональной связанности все объекты модуля предназначены для выполнения одной функции, имеют четко определенную цель и при его вызове выполняется одна задача. Например, сложение двух чисел.
При последовательной связанности результат выполнения первой функции является входным значением второй функции. Как правило, такой модуль имеет одну точку входа, выполняет несколько последовательных функции и имеет одну точку выхода. Например, первая функция выполняет сложение двух чисел, а вторая функция вычисляет корень из их суммы.
^ Информационно связанными считают функции, обрабатывающие одни и те же данные при использовании одной точки входа в модуль. Например, изменяется одно значение массива, а затем другого.
^ Временная связанность функций подразумевает, что эти функции выполняются параллельно или в течение некоторого периода времени. Особенностью данной связанности является то, что функции могут выполняться в любом порядке. Например, временную связанность имеют функции, выполняемые при инициализации некоторого процесса.
^ Логическая связанность базируется на объединении данных или функций в одну логическую группу. Например, обработка текстовой информации или одного и того же типа данных.
^ Случайную связанност^ Структурное программирование
Для повышения понимаемости логики работы модулей и простоты их тестирования принято изображать схемы алгоритмов как набор из нескольких типов управляющих базовых конструкций (структур) или блок схем Гост 19.701-90
следование – обозначает последовательность выполнения действий
ветвление – соответствует выбору одного из двух вариантов действий
цикл-пока – определяет повторение действий, пока не будет нарушает некоторое условие, выполнение которого проверяется в начале цикла
Программы, написанные с использованием только структурных операторов передачи управления, называют структурными. При программировании использованы только перечисленные конструкции (структуры). Существенно, что каждая из этих конструкций имеет по управлению только один вход и один выход. Тем самым, и обобщенный оператор имеет только один вход и один выход. Структурное программирование иногда называют еще "программированием без GO TO". Однако дело здесь не в операторе GO TO, а в его беспорядочном использовании. Очень часто при воплощении структурного программирования на некоторых языках программирования оператор перехода (GO TO) используется для реализации структурных конструкций, что не нарушает принципов структурного программирования. Запутывают программу как раз "неструктурные" операторы перехода, особенно переход к оператору, расположенному в тексте модуля выше (раньше) выполняемого оператора перехода. Тем не менее, попытка избежать оператора перехода в некоторых простых случаях может привести к слишком громоздким структурированным программам, что не улучшает их ясность и содержит опасность появления в тексте модуля дополнительных ошибок. Поэтому можно рекомендовать избегать употребления оператора перехода всюду, где это возможно, но не ценой ясности программы Одна из основных особенностей процедурного программирования заключается в том, что оно позволило создавать библиотеки подпрограмм (процедур), которые можно использовать повторно в различных проектах или в рамках одного проекта.
^ Стиль оформления программ
Стиль оформления программ облегчает ее восприятие как самими автором, так и другими программистами.
Стиль оформления программы включает:
правила именования объектов программы (переменных, функций, массивов и т.д.)
правила оформления модулей
стиль оформления текстов модулей
Правила именования объектов программы. Следует придерживаться следующих правил:
имя объекта должно соответствовать его содержанию
$Max_Length – максимальная длина элемента
$Min_Length – минимальная длина элемента
необходимо избегать близких по написанию имен
$user и $users
Правила оформления модулей. Каждый модуль должен начинаться с комментария который содержит:
Название модуля
Краткое описание его и назначение
Краткое описание входных и выходных параметров
Список используемых модулей
Краткое описание алгоритма
ФИО автора программы
Номер версии и дату его создания
<?
Функция get_user_info ($user_name)
Цель: получение данных о пользователе из базы данных
Исходные данные:
$user_name – имя пользователя
Выходные данные:
Массив данных содержащий ФИО и дату рождения
Описание алгоритма:
В зависимости от типа используемой базы данных, запрашиваются данные о пользователях из разных баз данных
Дата: 13.12.2001 Ver 1.01
Автор: Сидоров А.А.
?>
Стиль оформления текстов модулей. Стиль оформления текстов модулей определяет использование отступов, пропусков строк и комментариев. Отступы в основном используются при использовании циклических операторов или условий
for ($i=0;$i<13;) {
echo $i;
}
if ($i<0) {
$t=0;
} else {
$t=1;
}
Каждое условие выделяется отдельным выступом
if ($i=0) {
if ($t=0) {
$z=0;
}
}
Комментировать следует цели выполнения тех или иных действий, а также группы операторов, связанных общим действием
// проверка условия и выход, если условие не выполняется.
If (k<0) {
return false;
}
^ Основные эксплутационные требования к программным продуктам
К создаваемому программному обеспечению определяют следующие основные требования:
правильность - функционирование в соответствии с техническим заданием;
Правильность является обязательным требованием для любого программного обеспечения: все, что указано в техническом задании, непременно должно быть реализовано.
универсальность - обеспечение правильной работы при любых допустимых данных и защиты от неправильных данных;
надежность (помехозащищенность) - обеспечение полной повторяемости результатов, т. е. обеспечение их правильности при наличии различного рода сбоев;
проверяемость - возможность проверки получаемых результатов;
проверка вводимых данных от пользователей или каких-либо датчиков,
точность результатов - обеспечение погрешности результатов не выше заданной;
Точность или величина погрешности результатов зависит от точности исходных данных, точности выбранного метода и погрешности выполнения операций в компьютере.
защищенность - обеспечение конфиденциальности информации;
Шифрование данных при хранении или передачи данных.
Наиболее жесткие требования предъявляются к системам, в которых хранится информация, связанная с государственной и коммерческой тайной.
программная совместимость - возможность совместного функционирования с другим программным обеспечением;
Чаще всего приходится обеспечивать функционирование программного обеспечения под управлением заданной операционной системы или с использованием программ, написанных сторонними разработчиками. В этом случаи необходимо предусматривать совместимость их совместного функционирования или чтобы они друг другу не мешали.
аппаратная совместимость - возможность совместного функционирования с некоторым оборудованием;
Требование аппаратной совместимости в основном формулируют в виде минимально возможной конфигурации оборудования, на котором будет работать программное обеспечение и под какой операционной системой.
эффективность - использование минимально возможного количества
ресурсов технических средств, например, времени микропроцессора или
объема оперативной памяти;
Эффективность можно оценить по следующим критериям:
время ответа системы на вводимые данные
объем оперативной памяти - для продуктов, работающих в системах с
ограниченным объемом оперативной памяти, например MS DOS;
объем внешней памяти - для продуктов, интенсивно использующих
внешнюю память, например баз данных;
* количество обслуживаемых внешних устройств - для продуктов, осуществляющих интенсивное взаимодействие с внешними устройствами, например датчиками.
адаптируемость - возможность быстрой модификации с целью приспособления к изменяющимся условиям функционирования;
повторная входимость - возможность повторного выполнения без перезагрузки с диска;
Требование повторной входимости обычно предъявляется к программному обеспечению, резидентно загруженному в оперативную память, например драйверам.
^ 3.3. Предпроектные исследования предметной области
Препроектные исследования проводят с целью получения недостающей информации или знаний для формирования точных требований к создаваемому программному обеспечению.
Основные причины, из-за которых проводят подобные исследования - это неизвестны или сложные методы решения поставленной задачи. В таких случаях выделяют дополнительное время на проведение научных исследований или поиска необходимой информации.
^ 3.4. Разработка технического задания
Техническое задание представляет собой документ, в котором сформулированы основные цели разработки, требования к программному продукту, определены сроки и этапы разработки и регламентирован процесс приемно-сдаточных испытаний. В его разработке принимают участие, как заказчик, так и исполнители. В основой данного документа лежат исходные требования заказчика, результаты проведенных НИР, предпроектные исследования.
Разработка ТЗ начинается с определения набора выполняемых функций, перечень и характеристики исходных данных. Затем определяют перечень результатов, их характеристики и способы представления. Далее уточняют среду функционирования программного обеспечения.
В соответствии с ГОСТ 19.201-78 «Техническое задание. Требования к содержанию и оформлению», ТЗ содержит следующие разделы:
введение;
основания для разработки;
назначение разработки;
требования к программе или программному изделию;
требования к программной документации;
технико-экономические показатели;
стадии и этапы разработки;
порядок контроля и приемки.
Введение – краткая характеристика и область применения программного продукта, а также актуальность разработки.
Основания для разработки – содержит наименование документа, на основании которого ведется разработка. Таким документом может служить план, приказ, договор и т. п.
^ Раздел Назначение разработки содержит описание функционального и эксплуатационного назначения программного продукта с указанием категорий пользователей.
^ Раздел Требования к программе или программному изделию включает следующие разделы:
требования к функциональным характеристикам – описывается выполняемые функции, характеристики и формы представления исходных данных и результатов, указывают критерии эффективности.
требования к надежности - указывают уровень надежности, который должен быть обеспечен разрабатываемой системой и время восстановления системы после сбоя;
требования к составу и параметрам технических средств – в данном подразделе описывают минимальную и рекомендуемую конфигурацию, при которой программа работает, указывают тип процессора, сколько памяти и т.д.
требования к информационной и программной совместимости; - определяют среду и язык программирования, используемую операционную систему, какие дополнительные программные средства необходимо установить.
требования к маркировке и упаковке;
требования к транспортированию и хранению;
специальные требования.
Раздел Требования к программной документации указывают необходимость наличия руководства программиста, руководства пользователя, руководства системного программиста, пояснительной записки и т. п
^ В разделе Технико-экономические показатели рекомендуется указывать ориентировочную экономическую эффективность, предполагаемую годовую потребность и экономические преимущества по сравнению с существующими аналогами.
^ В разделе Стадии и этапы разработки указывают стадии разработки, этапы и содержание работ с указанием сроков разработки и исполнителей.
В разделе Порядок контроля и приемки указывают виды испытаний и общие требования к приемке работы.
^ Начальные этапы разработки
На начальных этапах принимаются ключевые решения, определяющие дальнейший ход выполнения разработки, к ним относят:
выбор архитектуры программного обеспечения;
выбор типа пользовательского интерфейса;
выбор подхода к разработке (структурного или объектного);
выбор языка и среды программирования.
Выбор архитектуры программного обеспечения. Архитектура программного обеспечения определяется сложностью решаемых задач, степенью универсальности разрабатываемого программного обеспечения и числом пользователей, одновременно работающих с одной его копией. Различают:
однопользовательскую архитектуру, при которой программное обеспечение рассчитано на одного пользователя, работающего за персональным компьютером;
многопользовательскую архитектуру, которая рассчитана на работу в
локальной или глобальной сети.
Многопользовательскую архитектуру реализуют системы, построенные по принципу «клиент-сервер»
^ Выбор типа пользовательского интерфейса. Можно разделить на три основных вида интерфейсов.
текстовые - реализуют единственный сценарий работы, например,
ввод данных - обработка - вывод результатов;
графические – в основном Windows-приложения, меню, ввод данных, выбор и т.д.
WEB-интерфейс. – разработка приложений, ориентированных на работу в сети Интернет или Интранет.
^ Выбор подхода к разработке.
Если выбран графический тип интерфейса, то предполагает использование событийного программирования и объектного подхода, так как современные среды визуального программирования, такие как Visual C++, Delphi, Builder C++ и им подобные, предоставляют интерфейсные компоненты именно в виде объектов библиотечных классов.
При текстовом интерфейсе и WEB-интерфейсе используется как структурный, так и объектный подходами к разработке.
^ Выбор языка программирования
Определяется исходя из следующих факторов.
доступности языка программирования. Какой есть язык программирования такой и используем.
программистом, который по возможности всегда будет использовать
хорошо знакомый язык;
возможностями языка программирования (работа с базами данных и т.д.)
скорость обработки данных (ассемблер, программирование на уровне машинных команд, быстрота выполнения команд, минимально занимаемое место в памяти машины)
от типа пользовательского интерфейса
условие, предъявляемое заказчиком
поддержка платформонезависимости
наличие доступных библиотек.
возможность программирования на низком (системном) уровне, написание драйверов.
Объектное программирование
В основе объектного программирования программного обеспечения лежит объектная декомпозиция, т.е представление разрабатываемого программного обеспечения в виде совокупности объектов, в процессе взаимодействия которых происходит выполнение требуемых функций. Сложность при объектном программировании заключается в полной декомпозиции создаваемого программного обеспечения, состоящий из более чем нескольких десятков или сотен объектов. Для решения подобной задачи существуют различные методы анализа и проектирования программного обеспечения, один из них это UML.
Унифицированный язык моделирования (Unified Modeling Language, UML 1994г.) является графическим языком для визуализации, специфицирования, конструирования и документирования систем. С помощью UML можно разработать детальный план создаваемой системы, отображающий не только ее концептуальные элементы, такие как системные функции и бизнес-процессы, но и конкретные особенности реализации, в том числе классы, написанные на специальных языках программирования, схемы баз данных и программные компоненты многократного использования.
Язык UML имеет сложную иерархическую 3-x уровневую структуру
Первый иерархический уровень языка UML составляют сущности, отношения между сущностями и наглядные диаграммы.
Язык UML имеет четыре вида сущностей, представленные на втором уровне: структурные, поведенческие, группирующие и аннотационные сущности:
еще рефераты
Еще работы по разное
Реферат по разное
Цель программы: осуществить переподготовку слушателей, направленную на достижение ими профессиональных знаний и навыков в области производства молочной продукции На кого рассчитана программа
17 Сентября 2013
Реферат по разное
Кросскультурные коммуникации в сфере социального управления государство и общественные организации в современной россии п рограмма повышения квалификации
17 Сентября 2013
Реферат по разное
В. П. Тараканов "26" января 2012 г. Программа
17 Сентября 2013
Реферат по разное
Исполнителем мероприятий Программы является Министерство внутренних дел Место нахождения и юридический адрес: г. Йошкар-Ола, пр. Ленина д. 21
17 Сентября 2013