Студопедия

Главная страница Случайная страница

КАТЕГОРИИ:

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






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






 

Критерии качества программного обеспечения. К критериям качества относят: правильность программы, надежность, эффективность, модифицируемость, возможность многократного использования, стиль программирования.Программа называется правильной в случае, если семантика программы соответствует предъявляемым к ней требования, изложенным в спецификации этой программы. Спецификацией программы называют точное описание того результата, который необходимо достичь с помощью программы. Это описание должно устанавливать, что должна делать программа, не указывая как должна делать. Надежность программного обеспечения - характеристика способности системы программного обеспечения выполнять возложенные на нее функции при поступлении требований на их выполнение. Понятие надежности программного обеспечения существенно отличается от понятия доказательства правильности если семантика программы соответствует предъявляемым требованиям изложенным в спецификации программы, т.е. правильность - некоторое статическое свойство, в котором в соответствии со спецификацией должна обладать программа.Надежность - динамические требования, предъявляемые к системе и способности системы удовлетворять этим требованиям. Программа, являющаяся правильной может считаться ненадежной, если спецификации, которым она удовлетворяет, не охватывает всех требований пользователя к этой системе. С другой стороны программа не являющаяся полностью правильной считается надежной, если допущенные в ней ошибки незначительные, либо если пользователь достаточно просто может их избежать. Эффективность программного обеспечения может характеризоваться двумя способами: 1. С учетом объема используемой памяти; 2. С учетом быстродействия программы.Скорость работы и расход памяти являются характеристиками, вступающими в противоречие. Быстрые алгоритмы обычно занимают большие объемы при реализации, а программы с экономией памяти выполняются более долго. Модифицируемость. Программа должна быть написана так, чтобы любые изменения в алгоритме требовали минимальных исправлений текста программы. Например, рекомендуется вместо численных и строковых констант использовать define. Или вместо явного задания числа определить константу. Также для повышения модифицируемости рекомендуется использовать принцип модульности, т.е. группировать операторы в блоки в соответствии с целью, достигаемой при их выполнении, после чего заменять их вызовом функции, а сам блок операторов переносить в определение функции. Возможность многократного использования. Программа должна быть универсальна, т.е. давать решение при различных входных данных. Стиль программирования. Программа написана хорошо, те. Легко читабельна, содержит необходимые комментарии, и оформлена так, что видны логические блоки. Рекомендуется использовать табуляцию.

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

 

Диалоговые программы. 1. Понятие интерфейса человек-компьютер; 2. Процессы ввода- вывода; 3. Структура диалога; 4. Поддержка пользователя.По способу общения программы с пользователем прикладные программы подразделяют на программы, функционирующие в автоматическом режиме (без участия человека) и диалоговые программы. Диалог с программой может осуществляться в пакетном и интерактивном режимах. В первом случае параметры работы программы определяются пользователем до начала работы программы и передается в нее, например, в виде файла. В интерактивном режиме программа функционирует в режиме вопрос- ответ. Способ взаимодействия определяется интерфейсом программы.Интерфейс - это система унифицированных связей, определяющих способ взаимодействия между компонентами аппаратного обеспечения, компонентами вычислительной системы, между человеком и вычислительной системой и т.д. Взаимодействие в интерактивном режиме обычно организуется по следующей схеме: 1. Режим командной строки (программа получает параметры работы из строки ввода с помощью команд). Например, ОС MS-DOS.2. Система меню (программа получает управляющий сигнал при выборе пользователя элементов из списков, в которых перечислены все возможные варианты функционирования программы). Также пользователь имеет возможность вводить различные числовые значения в поля ввода. Например, Norton Commander.3. Интерфейс, ориентированный на координатное устройство, типа мыши. Включает в себя все элементы из 2 пункта, и также позволяет осуществлять выбор в соответствии с положением элемента интерфейса относительно окна с помощью мыши. Например, Windows.При проектировании интерфейса человек-компьютер должны учитываться требования, призванные обеспечить эффективность взаимодействия пользователя и системы. 1. Интерфейс должен быть естественным, т.е. диалог с пользователем должен осуществляться на языке понятном для сферы решаемой задачи. Желательно, чтоб компьютер общался с пользователем с использованием терминологии, принятой пользователем до использования вычислительной системы.2. Интерфейс должен быть последовательным: необходимо, чтоб каждое текущее действие пользователя определялось результатом предыдущих действий. Реализуется с помощью системы иерархического меню.3. Интерфейс должен быть не избыточным. Реализация этого требования определяется правилом: количество воспринимаемой информации ограничено количеством знаков восприятия.4. Интерфейс должен обеспечивать поддержку пользователя. Достигается вызовом справочной информации по желанию пользователя, в которой указывается текущее состояние программы и варианты ее возможных действий.5. Интерфейс должен быть гибок - реализуется с помощью включения в систему функций настройки интерфейса.

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

Жизненный цикл программы включает в себя следующие этапы: 1. выработка требований к системе.. 2. разработка требований к программному обеспечению. 3. общее проектирование;.4. детальное проектирование; 5. создание отдельных модулей; 6. тестирование отдельных модулей; 7. объединение модулей в систему; 8. выпуск системы; 9. эксплуатация и сопровождение системы.Например при разработке АС было принято следующее разграничение фаз жизненного цикла программы: 1) Предпроектное исследование объекта.2) Оформление технического задания - документа, содержащео спецификациювсех информационных и управляющих функций с указанием входов/выходов, а также требования к видам обеспечения ОС: математическим, лингвистическим, техническим, организационным.3) Разработка технического проекта.4) Разработка рабочего проекта.5) Экспериментальное внедрение.6) Сдача в промышленную эксплуатацию.7) Помышленная эксплуатация системы.Все фазы жизненного цикла программы обладают свойством итеративности. После выполнения каждого этапа по его результатам принимается решение о возможности перехода к следующей фазе или о необходимости проведения дополнительных работ по предшествующим этапам.Например, после фазы тестирования отдельных модулей может возникнуть необходимость возврата к этапу разработки требований программного обеспечения. Если недостаточна точность, то требуется заменить среду разработки программ или, если это невозможно, возврат к разработке требований к системе, где необходимо пересмотреть перечень функций, решаемых системой.

7. Постановка задачи и спецификация программы (представление в виде спецификации ввода–вывода; особенности спецификации для завершающихся и циклических программ); способы записи алгоритма. 1 час

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

Теорема структуры и структурное программирование; анализ программ; утверждения о программах; корректность программ; правила вывода для основных структур программирования; инвариантные утверждения. 4 часа

Структурное программирование – метод разработки программ, предполагающий широкое использование абстрагирования с целью выделения составных частей проблемы и и повышении эффективности в првильности конечной программы. Первым шагом является рассмотрение программы применительно к решению на некоторйо идеальной ЭВМ, которое предусматривает необходимый набор структур данных и соотверствующее множество операций над ними. Т.о.исходная задача сокращается до задачи, реализуемой на идеальной машине. Затем полученная задача рассматривается подобным образомв расчете на реализацию на второй машине. Процесс повторяется до тех пор, пока не будут получены структуры данных и операции, реализуемые на ЯП. Структурным называют такой подход к программированию, при котором для передачи управления программами используется 3 конструкции, допускающие последовательную, условную, и итеративную передачу. Управления. Безусловная произвольная передача управления (goto) запрещается. В результате каждая сложная команда в программе имеет ровно одну точку выхода и 1 точку входа., вследствие чего облегчается восприятие программы. С и PASCAL м.б. отнесены к языкам структурого программирования. Однако в них присутствует оператор безусловного переход, рекомендуемый к использованию только в исключительных ситуациях, например для выхода из множества вложенных циклов.

Поделиться с друзьями:

mylektsii.su - Мои Лекции - 2015-2024 год. (0.011 сек.)Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав Пожаловаться на материал