Обшие принципы программных средств
Курсовая работа, 15 Апреля 2013, автор: пользователь скрыл имя
Краткое описание
Разработка программных средств очень трудный процесс, он состоит из многоуровневой системы, для этого надо знать какие программные средства существуют, понять их классификацию, принцип их взаимодействия, а главное как избавиться от барьера работы с ними.
В данной работе будут изложены следующие вопросы:
главные особенности современных операционных систем
специфические особенности разработки программных средств
основные подходы к организации процесса создания и использования ПС.
стадии и фазы жизненного цикла ПС.
критерии качества ПС
Содержание работы
Введение…………………………………………………………………….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. Каждый полис имеет фиксированную цену.