Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
17-19.docx
Скачиваний:
39
Добавлен:
04.05.2019
Размер:
77.03 Кб
Скачать

Билет 17

  1. Проектирование информационных систем: методика постепенной формализации. Алгоритм реализации метода постепенной формализации для разработки асу.

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

Языки с разным уровнем формальности: естественный язык (русский, английский); графика, диаграммы, схемы; языки программирования; математика

МПФ – это методика системного анализа, которая основывается на интуиции и опыте специалистов, а так же методах формализованного представления проекта с процедурами оценки решения (например, компьютерное моделирование). Процесс МПФ итерационный.

Принципиальная особенность МПФ в том, что она ориентирована на развитие представлений разработчика об объекте на постепенное выращивание решения задачи в процессе проектирования Рассмотрим алгоритм метода:

1.в начале проектирования мы представляем систему сбора информации, обработки информации и формирования отчётов. При этом система представляется нам как “чёрный ящик”, т.е. определяют начальные пункты сбора информации и конечные пункты формирования отчётов. Затем происходит отделение системы от внешней среды и деление её на компоненты, т.е. из каких подсистем она состоит;

2.определяем связи, деля их на внешние и внутренние. Связываем компоненты, вводим типы связи (сильная, слабая), количественную меру связи (близость компонентов);

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

4.разработка формального языка моделирования процессов (язык моделирования путей прохождения информации);

5.системно-структурное представление должно быть представлено в формально-лингвистическом представлении. Результатом должна стать формально многоуровневая модель, описывающая пути и следования информации;

6.выбор критериев оценки варианта;

7.оценка;

8.возврат на этап активизации лица, принимающего решения. Процесс завершается, когда степень удовлетворённости заказчика достаточна.

2. Составные части языка sql.

SQL является примером языка предназначенного для работы с таблицами с целью преобразования входных данных к требуемому выходному виду. Язык SQL имеет два основных компонента:

язык DDL (Data Definition Language) - предназначенный для определения БД:

CREATE – создание таблицы;

CREATE TABLE [<имя базы данных>.[<имя владельца>] <имя таблицы>

({<имя столбца> <тип данных> (<размер>) [<ограничение для столбца>]}

[,…n])

[,<ограничение для таблицы>];

CREATE VIEW <имя представления>

[(<имя столбца> [,…n ])

[WITH {ENCRYPTION | SCHEMABINDING | VIEW_METADATA}]

AS

< команда SELECT>

[WITH CHECK OPTION];

DROP – удаление таблицы;

ALTER – внесение изменений в описание таблицы, в т.ч.: добавление и изменение столбцов; добавление, разрешение, запрет и удаление ограничений.

ALTER TABLE <имя таблицы>

[WITH CHECK| WITH NOCHECK]

ALTER| ADD| DROP {CONSTRAINT <имя ограничения>}

FOREIGN KEY [REFERENCES<имя таблицы> (<имя столбца> [,…n])] | PRIMARY KEY | UNIQUE | CHECK (<имя столбца> [,…n])}

[ON DELETE CASCADE]

язык DML (Data Manipulation Language) - для выборки и обновления данных:

INSERT – ввод новых строк в таблицу;

INSERT INTO {<имя таблицы>[(<имя столбца> [псевдоним] [, …n]] |[<подзапрос>]}

VALUES (<значение>[,…n]);

DELETE – удаление строк из таблицы;

DELETE FROM{<имя таблицы>

WHERE <условие>};

UPDATE – редактирование данных в таблице;

UPDATE {<имя таблицы>

[SET (<имя столбца>)] = <выражение> [,…n]|<подзапрос>]

WHERE <условие>};

SELECT – оператор выбора - спорный оператор (можно выделить в отдельную группу).

3. Статический полиморфизм в языке C++. Перегрузка функций и операторов.

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

Функции С++, которые не являются частью протокола описания класса, могут быть перегружены. Такие функции должны иметь различные списки параметров. Различаться должны количество параметров или их типы (или и то, и другое). При этом переменные со статусом const отличаются от прочих (т.е void f(char * c) и void f(const char * c) различаются). Возможность перегрузки определяется только сигнатурой функции (набором параметров), а не возвращаемым результатом.

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

возвращаемый тип имя класса :: operator знак операции (список аргументов)

{ тело функции }

Возвращаемый тип может быть любым. Знак операции – знак перегружаемой операции. Список аргументов зависит от реализуемой операции. Ограничения:

  • во время перегрузки операторов нельзя менять приоритет операций.

  • во время перегрузки операторов нельзя менять число операндов.

  • нельзя перегрузить операции: . :: ?

  • нельзя перегружать операторы препроцессора.

Перегрузка бинарных операций:

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

MyClass MyClass::operator + (MyClass * Src)

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

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