Студопедия

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

Разделы сайта

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






Абстракция






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

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

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

 


 

24. Разграничение свойств ПО(устойчивость и надежность)

В) Надежность

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

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

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

С) Устойчивость

Программа устойчива, если она продолжает вести себя «правильно» даже в обстоятельствах, которые не были предусмотрены спецификацией требований к ней, например, когда она сталкивается с некорректностью входных данных или сбоем оборудования (скажем, вышел из строя диск). Программа, которая предполагает ввод только идеальных данных и генерирует неустранимую ошибку, как только пользователь случайно наберет неправильную команду, не может считаться устойчивой. При этом программа вполне может быть корректной, если спецификация требований не предусматривает, что именно она должна делать в ситуации ошибочного ввода. Ясно, что устойчивость — это трудно определяемое качество. Если все-таки удастся точно установить, что следует сделать, чтобы приложение стало устойчивым, тогда можно будет полностью описать его «правильное» поведение. Так устойчивость становится синонимом корректности или надежности.

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

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

 

25. Моделирование случайных величин и событий






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.