Структурное кодирование, критерии качества программных средств

 

Министерство образования и науки Российской Федерации

Челябинский Юридический Колледж

Отделение права и ИТ

Кафедра «Информатики и ВТ»











КУРСОВАЯ РАБОТА

По дисциплине: «Технология разработки программных продуктов»

По теме: Структурное кодирование, критерии качества ПС












Челябинск


Введение


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

Идеи структурного программирования появились в начале 70-годов в компании IBM, в их разработке участвовали известные ученые Э. Дейкстра, Х. Милс, Э. Кнут, С. Хоор.

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

Целью курсовой работы является: изучение структурного кодирования и выделение критериев качества ПС.

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

Изучение теоретических основ структурного кодирования,

Изучение и анализ методов структурирования программ и программных модулей,

Рассмотрение основных структурных блоков;

Определение качества программного обеспечения;

Рассмотрение факторов качества;

Рассмотрение процесса оценки качества ПС.

При написании работы автор опирался на труды отечественных и зарубежных ученых Ахо А., Ульман Дж., Братчиков И.Л., Гулидов А.И., Наберухин Ю.И., Дейкстра Э., Ершов А.П., Кнут Д., Майерс Г., Мендельсон Э., Рудаков А. В., Тыугу, Э.Х., Хьюз Дж., Мичтом Дж.

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



1. Структурное кодирование


.1 Сущность понятия


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

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


1.2 Общая характеристика структурного кодирования


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

В качестве методики структурного программирования Э. Дейкстра предложил пользоваться лишь конструкциями цикла и условного оператора, изгоняя go to как концептуально противоречащее этому стилю.

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

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

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

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

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

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

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

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

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

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

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

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

Призраки. Часто даже сама программа не может быть объяснена через понятия, которые используются внутри нее. Еще чаще это происходит для ее связей с внешним миром. Понимание программы возможно лишь после сопоставления реальных внутрипрограммных объектов с идеальными внепрограммными. Эти идеальные внепрограммные объекты (призраки) часто не просто не нужны, но даже вредны для исполнения программы5) <#"207" src="doc_zip1.jpg" />

Рисунок 1.1 - Сеть с тремя типами узлов


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

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

Такие сети и называются структурными блок-схемами. Приведенные элементарные блок-схемы представляют управляющие структуры алгоритма. Схема (а) называется композицией, (б) - ветвлением, (в) и (г) - циклом. Каждая из них имеет один вход и выход, а значит и у любой составленной из них блок-схемы также будет один выход и вход. Лингвистически элементарные блок-схемы записываются следующим образом - рисунок 1.2.

Рисунок 1.2 - Элементарные блок-схемы


Композиция (а): <Процедура 1>

<Процедура 2>

Ветвление (б): если <условие>

<Процедура 1>

иначе

<Процедура 2>

Цикл I (в):пока <условие> делать

<Процедура>

Цикл II (г): делать

<Процедура>

пока <условие>

Эта совокупность структур управления является достаточной для построения любого алгоритма, но не всегда удобной. Поэтому, на практике используются и другие элементарные блок-схемы с обязательным свойством "один вход и один выход". Например, вариант блок-схемы ветвления, где

<Процедура 2> пуста: если <условие> <Процедура>

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

2. Критерии качества ПС


.1 Качество программного обеспечения


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

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

Читаемость кода

Лёгкость поддержки, тестирования, отладки, исправления ошибок, изменения и портируемости

Низкая сложность кода

Низкое использование ресурсов: памяти и процессорного времени

Корректная обработка исключительных ситуаций

Малое число предупреждений при компиляции и линковке

Методы улучшения качества кода: рефакторинг.

2.2 Факторы качества


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

Некоторые из факторов качества - таблица 2.1.


Таблица 2.1 - Факторы качества ПС

ФакторХарактеристикаПонятность Назначение ПО должно быть понятным, из самой программы и документации.Полнота Все необходимые части программы должны быть представлены и полностью реализованы.Краткость Отсутствие лишней, дублирующейся информации. Повторяющиеся части кода должны быть преобразованы в вызов общей процедуры. То же касается и документации.Портируемость Лёгкость в адаптации программы к другому окружению: другой архитектуре, платформе, операционной системе или её версии.СогласованностьПо всей программе и в документации должны использоваться одни и те же соглашения, форматы и обозначения.СопровождаемостьНасколько сложно изменить программу для удовлетворения новых требований. Это требование также указывает, что программа должна быть хорошо документирована, не слишком запутана, и иметь резерв роста по использованию ресурсов (память, процессор).ТестируемостьПозволяет ли программа выполнить проверку приёмочных характеристик, поддерживается ли возможность измерения производительности.Удобство использованияПростота и удобство использования программы. Это требование относится прежде всего к интерфейсу пользователя.НадёжностьОтсутствие отказов и сбоев в работе программ, а также простота исправления дефектов и ошибокЭффективностьНасколько рационально программа относится к ресурсам (память, процессор) при выполнении своих задач.


2.3 Показатели качества ПО в ГОСТ 28195 и ГОСТ Р ИСО/МЭК 9126


Показатели качества ПО устанавливают ГОСТ 28195 Оценка качества программных средств. Общие положения и ГОСТ Р ИСО/МЭК 9126 Информационная технология. Оценка программной продукции. Характеристика качества и руководства по их применению. Одновременное существование двух действующих стандартов, нормирующих одни и те же показатели, ставит вопрос об их гармонизации. Ниже кратко рассмотрим каждый из перечисленных стандартов.

ГОСТ Р ИСО/МЭК 9126 устанавливает шесть характеристик качества ПО. Под характеристикой качества ПО, согласно этому стандарту, понимается набор свойств (атрибутов) программной продукции, по которым ее качество оценивается или описывается. Определение качества и определенные в этом стандарте характеристики отражают представление пользователя о качестве ПО. Ниже приводятся существенное для оценки качества ПО обсуждение этих характеристик.

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

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

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

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

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

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

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

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

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

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

Сопровождаемость - набор атрибутов, относящихся к объему работ, требуемых для проведения конкретных изменений (модификаций).

Мобильность - набор атрибутов, относящихся к способности ПО быть перенесенным из одного окружения в другое.

Все приведенные характеристики являются наборами атрибутов и, следовательно, должны уточняться на множестве соответствующих подхарактеристик. ГОСТ Р ИСО/МЭК 9126 не устанавливает соответствующих показателей, но в рекомендуемом приложении А к этому стандарту дается пример (качественная модель) таких подхарактеристик, называемых комплексными показателями. В качестве примера приведем комплексные показатели для некоторых характеристик.


2.4 Комплексные показатели для характеристик


Характеристика «Функциональные возможности»:

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

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

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

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

. Защищенность - атрибуты ПО, относящиеся к его способности предотвращать несанкционированный доступ, случайный или преднамеренный, к программам и данным.

Характеристика «Эффективность»:

. Характер изменения во времени - атрибуты ПО, относящиеся к временам отклика и обработки и к скорости выполнения его функций.

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

Приведенные комплексные показатели в свою очередь формируются на основе показателей нижележащего уровня. ГОСТ Р ИСО/МЭК 9126 не устанавливает этих показателей, так как современное состояние соответствующих моделей, терминов, определений не позволяет включить их в рассматриваемый международный стандарт.

В СССР действовал и продолжает действовать в РФ ГОСТ 28195-89. Этот стандарт устанавливает четырехуровневую модель оценки качества ПС. Характеристики верхних двух уровней (называемые фактор и критерий) устанавливаются в основном тексте документа. В таблице 2.1. показаны факторы и критерии качества ПО согласно ГОСТ 28195.

Таблица 2.2 - Факторы и критерии качества ПО согласно ГОСТ 28195

Наименование факторов и критериев качества ПО и их обозначениеХарактеризуемое свойство1. Надежность ПО (Н)Характеризует способность ПО в конкретных областях применения выполнять заданные функции в соответствии с программными документами в условиях возникновения отклонений в среде функционирования, вызванных сбоями технических средств, ошибками во входных данных, ошибками обслуживания и другими дестабилизирующими воздействиями.1.1. Устойчивость функционирования (Н1)Способность обеспечивать продолжение работы ПО после возникновения отклонений, вызванных сбоями технических средств, ошибками во входных данных и ошибками обслуживания.1.2. Работоспособность (Н2)Способность ПО функционировать в заданных режимах и объемах обрабатываемой информации в соответствии с программными документами при отсутствии сбоев технических средств.2. Сопровождаемость (С)Характеризует технологические аспекты, обеспечивающие простоту устранения ошибок в ПО и программных документах и поддержания ПО в актуальном состоянии.2.1. Структурность (С1)Организация всех взаимосвязанных частей ПО в единое целое с использованием логических структур последовательность, выбор, повторение.2.2. Простота конструкции (С2)Построение модульной структуры ПО наиболее рациональным образом с точки зрения восприятия и понимания.2.3. Наглядность (С3)Наличие и представление в наиболее легко воспринимаемом виде исходных модулей ПО, полное их описание в соответствующих программных документах.2.4. Повторяемость (С4)Степень использования типовых проектных решений или компонентов, входящих в ПО.3. Удобство применения (У)Характеризует свойства ПО, способствующие быстрому освоению, применению и эксплуатации ПО с минимальными трудозатратами с учетом характера решаемых задач и требований к квалификации обслуживающего персонала.3.1. Легкость освоения (У1)Представление программных документов и ПО в виде, способствующем пониманию логики функционирования ПО в целом и его частей.3.2. Доступность эксплуатационных программных документов (У2)Понятность, наглядность и полнота описания взаимодействия пользователя с ПО в эксплуатационных программных документах.3.3. Удобство эксплуатации и обслуживания (У3)Соответствие процесса обработки данных и форм представления результатов характеру решаемых задач.4. Эффективность (Э)Характеризует степень удовлетворения потребности пользователя в обработке данных с учетом экономических, вычислительных и людских ресурсов.4.1. Уровень автоматизации (Э1)Уровень автоматизации функций процесса обработки данных с учетом рациональности функциональной структуры ПО с точки зрения взаимодействия с ней пользователя и использования вычислительных ресурсов. 4.2. Временная эффективность (Э2)Способность ПО выполнять заданные действия в интервал времени, отвечающий заданным требованиям.4.3. Ресурсоемкость (Э3)Минимально необходимые вычислительные ресурсы и число обслуживающего персонала для эксплуатации ПО.5. Универсальность (Г)5.1. Гибкость (Г1)Возможность использования ПО в различных областях применения.5.2. Мобильность (Г2)Возможность применения ПО без существенных дополнительных трудозатрат на ЭВМ аналогичного класса.5.3. Модифицируемость (Г3)6. Корректность (К)Характеризует степень соответствия ПО требованиям, установленным в техническом задании, требованиям к обработке данных и общесистемным требованиям.6.1. Полнота реализации (К1)Обеспечение простоты внесения необходимых изменений и доработок в ПО в процессе эксплуатации.6.2. Согласованность (К2)Однозначное, непротиворечивое описание и использование тождественных объектов, функций, терминов, определений, идентификаторов и т.д. в различных частях программных документов и текста программы.6.3. Логическая корректность (К3)Функциональное и программное соответствие процесса обработки данных при выполнении задания общесистемным требованиям.6.4. Проверенность (К4)Полнота проверки возможных маршрутов выполнения программы в процессе тестирования.

2.5 Основные критерии


Программа является правильной, если она работает в соответствии с техническим заданием (ТЗ - документ, которым завершается постановка задачи).

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

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

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

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

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

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

Программа является эффективной, если объем требуемых для ее работы ресурсов ЭВМ не превышает допустимого предела.

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

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

2.6 Процесс оценки качества

кодирование программный обеспечение качество

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

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

Критерий и метрика характеризуется двумя числовыми параметрами - количественным значением и весовыми коэффициентами (Vij). Сумма весовых коэффициентов показателей уровня (l) относящихся к i-му показателю вышестоящего уровня (l-1), есть величина постоянная. Сумма весовых коэффициентов (Vij) принимается равной 1.

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

При сопоставление характеристик стандартов ГОСТ Р ИСО/МЭК 9126 и ГОСТ 28195 следует учесть несоответствие используемой терминологии. Например, подхарактеристика 1.4 ГОСТ Р ИСО/МЭК 9126 называется также, как критерий 6.2 ГОСТ 28195 - согласованность. Однако в первом документе имеется в виду согласованность ПО со стандартами и другими нормативными документами, а во втором - однозначное, непротиворечивое описание и использование тождественных объектов, функций, терминов, определений, идентификаторов и т.д. в различных частях программных документов и текста программы. Точное сопоставление характеристик и подхарактеристик первого из обсуждаемых стандартов с факторами и критериями второго оказывается, как правило, невозможным.

Таким образом, на сегодняшний день действуют два нормативных документа по оценке качества ПО - ГОСТ 28195 и ГОСТ Р ИСО/МЭК 9126. Первый содержит рекомендуемый (и возможно - неполный) перечень метрик, однако ориентирован на представление разработчика. Второй - более соответствует взглядам пользователя, но для его применения требуется разработка модели качества ПС, включающая метрики и методы оценивания и ранжирования с указанием применимости на стадиях ЖЦ продукта.

Заключение


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

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

Достоинства структурного кодирования:

повышается надежность программ (благодаря хорошему структурированию при проектировании, программа легко поддается тестированию и не создает проблем при отладке);

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

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

улучшается читабельность программ.

Также при выполнении курсовой работы были рассмотрены критерии качества ПС.

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

Программа является правильной, если она работает в соответствии с техническим заданием (ТЗ - документ, которым завершается постановка задачи).

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

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

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

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



Список литературы


1.Ахо А., Ульман Дж. «Теория синтаксического анализа, перевода и компиляции» в 2 тт., том 1., М., Мир, 1978.

2.Гринфилд Д., Шорт К., Кук С. Фабрики разработки программ (Software Factories): потоковая сборка типовых приложений, моделирование, структуры и инструменты. - М.: «Диалектика», 2006. - С. 592.

.Дейкстра Э. Заметки по структурному программированию.- М.:Дрофа, 2006, - 455 с.

.Ершов А.П. Введение в теоретическое программирование.- М.:РОСТО, 2008, - 288 с.

.Захарова И.Г. Информационные технологии в образовании: Учеб. пособие для студ. высш. пед. учеб. заведений. - М.: Издательский центр «Академия», 2003. - 192 с.

.Кнут Д. Искусство программирования для ЭВМ, т.1. М.: 2006, 735 с.

.Коган Д.И., Бабкина Т.С. «Основы теории конечных автоматов и регулярных языков. Учебное пособие» Издательство ННГУ, 2002. - 97 с.

.Майерс Г. Надежность программного обеспечения.- М.: Дрофа, 2008, - 360 с.

.Мендельсон Э. Введение в математическую логику, М.: Инси, 2001, - 320 с.

.Рудаков А. В. Технология разработки программных продуктов. М.: Издательский центр "Академия", 2006. - 306 с.

.Свешникова Е.Ю. Анализ режимов детерминированного хаоса в переходных процессах электроэнергетических систем. М.: Издательство «Агат», 2008. - 181 с.

.Соммервилл И. Инженерия программного обеспечения.- 6-е изд. - М.: «Вильямс», 2002. - С. 642.

.Тыугу, Э.Х. Концептуальное программирование. - М., 2001 - 256 с.

.Хопкрофт Дж., Мотвани Р., Ульман Дж. «Введение в теорию автоматов, языков и вычислений» - М.: Издательство ВИЛЬЯМС, 2002. - 527 с.

.Хьюз Дж., Мичтом Дж. Структурный подход к программированию. - М.: Мир, 2000, - 278 с.



Министерство образования и науки Российской Федерации Челябинский Юридический Колледж Отделение права и ИТ Кафедра «Информатики и ВТ»

Больше работ по теме:

КОНТАКТНЫЙ EMAIL: [email protected]

Скачать реферат © 2017 | Пользовательское соглашение

Скачать      Реферат

ПРОФЕССИОНАЛЬНАЯ ПОМОЩЬ СТУДЕНТАМ