Главная страница
Навигация по странице:

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

  • MyClass

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


    Скачать 75.23 Kb.
    НазваниеБилет 17 Проектирование информационных систем методика постепенной формализации. Алгоритм реализации метода постепенной формализации для разработки асу
    Дата20.02.2023
    Размер75.23 Kb.
    Формат файлаdocx
    Имя файла17-19.docx
    ТипДокументы
    #946272
    страница1 из 5
      1   2   3   4   5

    Билет 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):

    MyClassMyClass::operator + (MyClass * Src)

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

      1   2   3   4   5


    написать администратору сайта