Материал: 4970

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

86

Этап №2. Выделение всех сущностей, свойств и операций

Таблица 1

 

Перечень сущностей

 

Перечень свойств

 

 

Перечень операций

1)

операционная система банкомата

1)

рабочее состояние

1)

проверяет тип карты

2)

банкомат

2)

тип карты

2)

проверяет введённый код

3)

удалённая связь

3)

PIN-код

3)

предоставляет клиенту

4)

банк

4)

типы операций

интерфейс

5)

состояние

5)

виды сообщений

3)4)

 

ввод данных

 

 

 

 

 

 

 

 

6)

запрос

6)

тип банкомата

 

посредством

7)

клиент

 

 

 

клавиатуры

8)

идентификационная пластиковая

 

 

4)5)

 

хранение учётной

 

 

 

 

 

 

 

 

 

карта

 

 

 

записи о клиенте

9)

приёмник банкомата

 

 

5)6)

 

 

ожи-

10)

идентификационный код (PIN-

 

 

 

дание ввода

 

 

код)

 

 

 

данных клиентом

11)

учётная запись о клиенте

 

 

6)7)

 

вывод сообщения

 

 

 

 

 

 

 

 

 

12)интерфейс

13)операция

14)счёт

Этап №3. Выделение сущностей предметной области задействованных в процессе идентификации клиента

Перечень сущностей, соответствующих поставленной цели:

1)операционная система (ОС) банкомата

2)идентификационная пластиковая карта (карта клиента)

3)клиент

4)банк

5)интерфейс

Этап №4. Выделение связей типа «сущность–свойства–операция»

Таблица 2

 

 

Наименование

Свойства

Выполняемые сущностью операции

сущности

сущности

 

Операционная си-

Тип банкомата

Проверяет тип карты

стема

 

Проверяет введённый код

банкомата

 

Предоставляет клиенту интерфейс

Карта клиента

Тип карты

Нет

Клиент

PIN-код

Ввод данных посредством клавиатуры

Банк

PIN-код

Хранит учётную запись

Интерфейс

Типы операций

Ожидает ввода данных клиента

 

Виды сообщений

Выводит сообщения

Отформатировано: Шрифт: 10 пт Отформатировано: Шрифт: 10 пт

Отформатировано: Шрифт: 10 пт

Отформатировано: Шрифт: 10 пт Отформатировано: Шрифт: 10 пт

Отформатировано: Шрифт: 11 пт

Отформатировано: Шрифт: 11 пт Отформатировано: Шрифт: 11 пт Отформатировано: Шрифт: 11 пт

Отформатировано: Шрифт: 11 пт

Отформатировано: Шрифт: 11 пт

Отформатировано: Шрифт: 11 пт

Отформатировано: Шрифт: 11 пт

87

Этап №5. Определение пост- и предусловий выполнения сценария

Таблица 3

Наименование

Свойства

Выполняемые

Условия выполнения

сущности

сущности

сущностью операции

сценария

 

 

 

 

 

 

Операционная

Тип банкомата

1.

Проверяет тип

1.

Банкомат в рабочем режиме.

система

 

 

карты.

2.

Карта находится в приёмни-

банкомата

 

2.

Проверяет код.

 

ке банкомата.

 

 

3. Предоставляет

3.

Тип карты должен

 

 

клиенту интерфейс.

соответствовать типу

 

 

 

 

банкомата.

 

 

 

 

4.

Код должен соответствовать

 

 

 

 

 

учётной записи клиента.

 

 

 

 

5.

Перечень функций

 

 

 

 

ограничен уровнем доступа

 

 

 

 

клиента.

 

 

 

 

Карта клиента

Тип карты в

Нет

Нет

 

виде кода

 

 

 

 

 

 

 

 

Клиент

PIN-код

Ввод данных по-

Нет

 

 

средством

 

 

 

 

клавиатуры

 

 

 

 

 

 

Банк

PIN-код

Хранит учётную

Соединён по каналу связи с

 

 

запись

банкоматом

 

 

 

 

 

Интерфейс

1. Типы

1.Ожидает ввода

1.

Время ожидания ограничено.

 

операций.

 

данных клиента.

2.

Сообщения адекватны

 

2. Виды

2.Выводит

доступным клиенту функциям.

 

сообщений.

сообщения.

3.

Сообщения на русском

 

 

 

 

языке.

 

 

 

 

 

 

Этап №5. Перечень объектов информационной системы

1)операционная система банкомата;

2)карта клиента;

3)клиент;

4)банк;

5)интерфейс.

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

88

ПРИЛОЖЕНИЕ Б Примеры инкапсуляции и создания экземпляров классов

Пример №1

Таблица 1 − Инкапсуляция класса без конструкторов с открытыми данными и функциями

Операторы на языке С++ (мо-

Комментарии

дуль ABCopen.h)

 

 

 

class ABCopen

Объявление прототипа класса АВСopen

 

 

{

Открытие описания прототипа класса

 

 

public:

Описатель уровня доступа к элементам

 

класса АВСopen

 

 

int x,y;

Переменные класса

 

 

putPart();

Интерфейс функции "задать значения

 

переменным класса АВСopen"

 

 

getPart();

Интерфейс функции "выдать значения

 

переменных класса АВСopen"

 

 

};

Закрытие описание прототипа класса

 

 

ABCopen::putPart()

Реализация функции "задать значения

 

переменным класса АВСopen"

 

 

{cout<<"Input the value of

Операторы реализации функции

ABCopen.x:"<<endl;cin>>x;

 

 

 

Cout<<"Input the value of

Операторы реализации функции

ABCopen.y:"<<endl;cin>>y;}

 

 

 

ABCopen::getPart()

Реализация функции "выдать значения

 

переменных класса АВСopen"

 

 

{cout<<"this is value of

Операторы реализации функции

ABCopen.x="<<x<<endl;

 

 

 

Cout<<"this is value of

Операторы реализации функции

ABCopen.y="<<y<<endl;}

 

 

 

89

Пример №2

Таблица 2 − Инкапсуляция и использование класса без конструкторов с закрытыми данными и открытыми функциями

Операторы на языке С++(модуль

Комментарии

ABCclose.h)

 

 

 

class ABCclose

Объявление прототипа класса

 

 

{

Открываем описание класса

 

 

private:

Уровень доступа к элементам класса

 

(закрыт)

 

 

int x,y;

Переменные класса

 

 

public:

Уровень доступа к функциям класса

 

(открыт)

 

 

putPart();

Интерфейс функции "задать значения

 

переменным класса АВСclose"

 

 

getPart();

Интерфейс функции "выдать значения

 

переменных класса АВСclose"

 

 

};

Закрываем описание класса

 

 

ABCclose::putPart()

Реализация функции "задать значения

 

переменным класса АВС"

 

 

{cout<<"Input the value of

Операторы реализации функции

ABCclose.x:"<<endl;cin>>x;

 

 

 

cout<<"Input the value of

Операторы реализации функции

ABCclose.y:"<<endl;cin>>y;}

 

 

 

ABCclose::getPart()

Реализация функции "выдать значения

 

переменных класса АВС"

 

 

{cout<<"this is value of

Операторы реализации функции

ABCclose.x="<<x<<endl;

 

 

 

cout<<"this is value of

Операторы реализации функции

ABCclose.y="<<y<<endl;}

 

 

 

90

Пример №3

Таблица 3 − Инкапсуляция с конструктором и закрытыми данными без функций

Операторы на языке С++ (мо-

Комментарии

дуль ABC.h)

 

 

 

class ABC

Объявление прототипа класса

 

 

{

Открываем описание класса

 

 

Private: int x,y;

Уровень доступа к элементам класса

 

(закрыт)

 

 

Public:

Уровень доступа к функциям класса

 

(открыт)

 

 

ABC();

Метод класса (объявление прототипа

 

конструктора класса ABC)

 

 

};

Закрываем описание класса

 

 

ABC::ABC()

Реализация конструктора вне тела класса

 

посредством оператора расширения

 

видимости «::»

 

 

{cout<<"Input the value of ABC.x"

Реализация конструктора: "выдать

<<endl; cin>>x;

значения переменных класса АВС"

cout<<"Input the value of ABC.y"

 

<<endl; cin>>y;

 

 

 

cout<<"This is value of

Операторы реализации конструктора

ABC.х"<<x<<endl;

 

 

 

cout<<"This is value of

Операторы реализации конструктора

ABC.y"<<y<<endl;}

 

 

 

Пример №4

Таблица 4 − Инкапсуляция класса с конструктором инициализации посредством списка и закрытыми данными

Операторы на языке С++ (модуль ABC1.h)

Комментарии

 

 

class ABC1

 

 

 

{Private: int x,y;

 

 

 

Public: ABC1(int a, int b); };

Метод-конструктор

 

 

ABC1::ABC1(int a,int b):x(a),y(b)

Реализация конструктора

{cout<<"x="<<x<<endl;cout<<"y="<<y

инициализации списком вне

<<endl;}

тела класса

 

 

Источник: https://studfile.net/preview/16710630/