Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
бИЛЕТЫ_GOSam.doc
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
1.46 Mб
Скачать

4)Надежность программного обеспечения.

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

Безотказность ПО – это свойство сохранять работоспособность при использовании его для обработки информации в ИС. Безотказностью ПО оценивается вероятность его работы без отказов при определённых условиях внешней среды в течение заданного периода наблюдения. В приведённом определении под отказом ПО понимается недопустимое отклонение характеристик функционирования этого обеспечения от предъявляемых требований. Определённые условия внешней среды – это совокупность входных данных и состояние самой ИС. Заданный период наблюдения соответствует времени, необходимому для выполнения на ЭВМ решаемой задачи.

Безотказность ПО может характеризоваться средним временем возникновения отказов при функционировании программы. При этом предполагается, что аппаратные средства ЭВМ находятся в исправном состоянии. С точки зрения надёжности, принципиальное отличие ПО от аппаратных средств состоит в том, что программы не изнашиваются и их выход из строя из-за поломки невозможен. Следовательно, характеристики функционирования ПО зависят только от его качества,

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

Билет №2.

1)Языковые средства описания классов и объектов, уровни видимости и их использование. Примеры на языке С++.

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

Тип_класса имя_класса [ : базовые классы ] { список членов класса

} [ объекты ] ;

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

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

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

Пример создания экземпляра лампочки и запроса на включение:

Light lt = new Light(); lt.on();

В этом промере имя типа/класса - Light, имя этого обычного объекта Light - lt, а запросы, которые вы можете сделать для объекта Light - это включить его, выключить, сделать ярче или темнее. Вы создаете объект Light, определяя “ссылку” (lt) для объекта и вызываете new для запроса нового объекта этого типа. Для отправки сообщения объекту вы объявляете имя объекта и присоединяете его к сообщению запроса, разделив их (точкой).

В качестве типа класса могут быть использованы ключевые слова class, struct и union. Базовые классы - это список имен классов, разделяемых запятыми, элементы которых наследуются вновь определяемым классом. Доступ производного класса к наследуемым элементам родительского может указываться модификатором доступа - public, protected и private.

Пример описания класса:

class example { int value;public: example(){ value=1; } protected: int get_value(void){ return value; } private: int last_value(void);};

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

Атрибут доступа

Значение

public

Можно использовать как внутри класса, так и вне. Доступ извне осуществляется через имя объекта и оператор расширения области видимости.

private

Доступ только в пределах данного класса и классов друзей.

protected

Доступ внутри класса, его друзей, а также внутри классов наследников и их друзей.

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

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

При связывании данных сначала XML-документ соединяется с HTML-страницей, а затем встраиваются стандартные HTML-элементы, такие как SPAN или TABLE, в отдельные XML-элементы.

Основные шаги при связывании данных

1. Установка связи XML-документа с HTML-страницей, на которой необходимо отобразить данные XML. Этот шаг обычно реализуется включением HTML-элемента с именем XML в HTML-страницу.

2. Сцепление HTML элементов с XML-элементами. При сцеп-лении HTML-элементов с XML-элементом, HTML-элемент автоматически отображает содержимое XML-элемента.

Табличное сцепление данных

Если данные XML-документа организованы в виде простого набора записей, т.е. если корневой элемент содержит множество элементов ("записей"), каждый из которых содержит одинаковый набор элементов ("полей"), а каждое "поле" содержит уже только символьные данные, вы можете использовать один единственный HTML-элемент TABLE для отображения XML-документа. В нашем случае такой документ и получиться.

<Cars>

<Car>

<Brand>VAZ</Brand>

<Model>2107</Model>

<Photo>vaz2107.jpg</Photo>

</Car>

<Car>

<Brand>Subaru</Brand>

<Model>Impreza</Model>

<Photo>subaruImpreza.jpg</Photo>

</Car>

<Car>

<Brand>YAZ</Brand>

<Model>Hunter</Model>

<Photo>yazHunter.jpg</Photo>

</Car>

</Cars>

<html>

<body>

<xml id="dsoCars" src="Cars.xml"></xml>

<TABLE datasrc="#dsoCars" border="1">

<THEAD>

<TH>Марка</TH>

<TH>Модель</TH>

<TH>Фото</TH>

</THEAD>

<TR>

<TD><SPAN datafld="Brand"></SPAN></TD>

<TD><SPAN datafld="Model"></SPAN></TD>

<TD><IMG datafld="Photo"></IMG></TD>

</TR>

</TABLE>

</body>

</html>

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]