Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Эксплуатационные требования к ПО

Классификация программных систем.

Тема 1.4. Определение требований к ПО

 

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

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

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

Оболочки (например, NORTON COMMANDER) в свое время появились Для организации более удобного интерфейса пользователя с файловой систе­мой MS DOS. Современные оболочки, такие, как FAR, используют для обес­печения пользователю привычной среды при работе с файловой системой.

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

Прикладные программы и системы ориентированы на решение конкретных «пользовательских задач.

Различают пользователей:

• разработчиков программ;

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

Разработчики программ используют специальные инструментальные средства, такие как компиляторы, компоновщики, отладчики, которые по­следнее время обычно интегрируют в системы; программирования и среды разработки. Современные среды программирования, например, Delphi, Visual C++, реализуют визуальную -технологию разработки программных продуктов и предоставляют программистам огромные библиотеки компо­нентов, которые; можно включать в свою разработку, К этой же группе отно­сят инструментальные комплексы создания,баз данных, такие как Access, FoxPro, Oracle, средства создания интеллектуальных систем, например, экспертных, обучающих, систем контроля знаний и т. д. Последнее достижение в этом направлении - CASE-средства разработки программного обеспече­ния, такие как ERwin, BPwin, Paradigm Plus, Rational Rose и др.

 

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

Продукты общего назначения используют разные группы пользовате­лей. К ним можно отнести текстовые редакторы, например, WinWord, элек­тронные таблицы типа Excel, графические редакторы, информационные си­стемы общего назначения, например, карта Москвы, программы-переводчи­ки, и т. п.

Профессиональные продукты предназначены для специалистов в раз­личных областях, например, к ним можно отнести:

• системы автоматизации проектирования, ориентированные на различ­ные технические области;

• системы-тренажеры, например, тренажер для отработки действий пилотов в аварийной ситуации;

• бухгалтерские системы, например, 1C;

• издательские системы, например, PageMaker, QuarkXpress;

• профессиональные графические системы, например, Adobe Illustrator, PhotoShop, CorelDraw и т. п.;

• экспертные системы и т. д.

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

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

К развлекающим относят игровые программы, музыкальные програм-опять же информационные системы, но с тестами развлекающего характера, например гороскопы и т. п.

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

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

• правильность - функционирование в соответствии с техническим за­данием;

• универсальность - обеспечение правильной работы при любых допустимых данных и защиты от неправильных данных;

• надежность (помехозащищенность) - обеспечение полной повторяе­мости результатов, т. е. обеспечение их правильности при наличии различ­ного рода сбоев;

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

• точность результатов - обеспечение погрешности результатов не выше
заданной;

• защищенность - обеспечение конфиденциальности информации;

• программная совместимость - возможность совместного функциони­рования с другим программным обеспечением;

• аппаратная совместимость - возможность совместного функционирования с некоторым оборудованием;

• эффективность - использование минимально возможного количества ресурсов технических средств, например, времени микропроцессора или
объема оперативной памяти;

• адаптируемость - возможность быстрой модификации с целью при­способления к изменяющимся условиям функционирования;

• повторная входимость - возможность повторного выполнения без пе­резагрузки с диска;

• реентерабельность - возможность «параллельного» использования не­сколькими процессами.

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

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

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

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

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

Часто самым «ненадежным элементом» современных систем являются люди. Уже хорошо известно, что в условиях монотонной работы за пультом вычислительной установки операторы допускают большое количество оши­бок. Известны и средства, позволяющие снизить количество ошибок в кон­кретных ситуациях. Так, там, где это возможно, используют ввод избыточной информации, позволяющий выполнять проверки правильности вводимых данных (ввод контрольных сумм и т. п., см. § 2.7). Кроме этого, широко ис­пользуют всякого рода подсказки, когда информацию необходимо не вво­дить, а выбирать из некоторого списка и т. п.

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

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

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

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

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

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

Эффективность системы обычно оценивается отдельно по каждому ре­сурсу вычислительной установки. Часто используют следующие критерии:

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

• объем оперативной памяти - для продуктов, работающих в системах с ограниченным объемом оперативной памяти, например MS DOS;

• объем внешней памяти - для продуктов, интенсивно использующих внешнюю память, например баз данных;

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

Требования эффективности могут противоречить друг другу. Напри­мер, чтобы уменьшить время выполнения некоторого фрагмента программы, может потребоваться дополнительный объем оперативной памяти.

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

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

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

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

 

 

<== предыдущая лекция | следующая лекция ==>
Эффективность и технологичность | Тема 1.5. Начальный этап проектирования
Поделиться с друзьями:


Дата добавления: 2014-01-07; Просмотров: 3795; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.01 сек.