Обшие принципы программных средств

Автор работы: Пользователь скрыл имя, 15 Апреля 2013 в 14:39, курсовая работа

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

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

Содержание работы

Введение…………………………………………………………………….3
1. Теоретическая часть
1.1 Классификация программных средств………………………...….......5
1.2 Специфика разработки программных средств……………………….8
1.3. Период разработки и эксплуатации программного средства….........9
1.4. Понятие качества ПС……………………………………………........13
1.5 Общие принципы обеспечения надежности ПС……………….........14
1.6 Методы борьбы со сложностью……………………………………....16
1.7 Обеспечение точности перевода……………………………………...16
1.8 Преодоление барьера между пользователем и
разработчиком……..……………………………………………................17
1.9 Контроль принимаемых решений……………………………………17
Заключение………………………………………………………………...18
2. Практическая часть
2.1 Общая характеристика задачи………………………………………..19
2.2 Описание алгоритма решения задачи………………………………..20
Список использованной литературы…………………………………….25

Содержимое работы - 1 файл

Курсовая работа.doc

— 262.50 Кб (Скачать файл)

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

В рамках водопадного  подхода различают следующие  стадии жизненного цикла ПС (см. рис.1): разработку ПС, производство программных  изделий (ПИ) и эксплуатацию ПС.

Рис. 1. Стадии и фазы жизненного цикла ПС.3

 

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

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

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

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

Программное изделие (ПИ) - экземпляр или копия разработанного ПС. Изготовление ПИ - это процесс  генерации  и/или воспроизведения (снятия копии) программ и программных документов ПС с целью их поставки пользователю для применения по назначению. Производство ПИ - это совокупность работ по обеспечению изготовления  требуемого  количества  ПИ  в установленные сроки.4 

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

Применение ПС - это использование ПС для решения практических задач на компьютере путем выполнения ее программ.

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

1.4. Понятие качества ПС.

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

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

  • функциональность,
  • надежность,
  • легкость применения,
  • эффективность,
  • сопровождаемость, 
  • мобильность.

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

Надежность - это характеристика ПС отвечать и полагаться заданным стандартам.

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

Эффективность - это отношение уровня услуг, предоставляемых ПС пользователю при заданных условиях, к объему используемых ресурсов.

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

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

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

 

1.5 Общие принципы обеспечения надежности ПС

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

  • предупреждение ошибок;
  • самообнаружение ошибок;
  • самоисправление ошибок;
  • обеспечение устойчивости к ошибкам.

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

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

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

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

 

1.6 Методы борьбы  со сложностью

Известны два общих  метода борьбы со сложностью систем:

  • обеспечения независимости компонент системы;
  • использование в системах иерархических структур.

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

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

 

1.7 Обеспечение  точности перевода

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

  • Понимание задачи;
  • Составление плана (включая цели и методы решения);
  • Выполнение плана (проверяя правильность каждого шага);
  • Анализ полученного решения.

1.8 Преодоление  барьера между пользователем и разработчиком.

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

 

1.9 Контроль  принимаемых решений

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

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

  • смежный контроль,
  • сочетание как статических, так и динамических методов контроля.

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

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

Заключение

Вычислительная техника  прошла те же исторические этапы эволюции, которые прошли и все прочие технические устройства: от ручных приспособлений к механическим устройствам и далее к более гибким автоматическим системам. Современный компьютер - это прибор. Его принцип действия - электронный, а назначение - автоматизация операций с данными. Гибкость автоматизации основана на том, что операции с данными выполняются по заранее заготовленным и легко сменяемым программам. Универсальность компьютеров основана  на том, что любые типы данных представляются в нем с помощью универсального двоичного кодирования. Работа компьютерной системы протекает в непрерывном взаимодействии аппаратных и программных средств. Работа компьютерных программ имеет многоуровневый характер. Программы низшего уровня занимаются только взаимодействием с базовыми аппаратными средствами и согласованием их работы. Ключевая роль программ базового уровня проявляется в момент первичного запуска компьютера. Программы системного уровня опираются на программы базового уровня и обеспечивают взаимодействие пользователя с оборудованием, взаимодействие дополнительного оборудования  с базовым, а также предоставляют возможность для установки и работы программ более высоких уровней. Программы служебного уровня выполняют обслуживание компьютерной системы, обеспечивают ее контроль и настройку. В своей работе они опираются на программы базового и системного уровней. Программы прикладного уровня используются человеком для исполнения практических заданий с помощью компьютера. Эти программы опираются на программы нижележащих уровней. Разработка программных средств не так проста, технологии постоянно усовершенствуются, а с ними должны развиваться и программные средства, и технологии их разработки.

 

2.Практическая часть

Вариант№11.

2.1. Общая характеристика  задачи.

Компания «Страховщик» осуществляет страховую деятельность на территории России по видам полисов, представленных на рис.1. Каждый полис имеет фиксированную цену.

Информация о работе Обшие принципы программных средств