Билет 17 Проектирование информационных систем методика постепенной формализации. Алгоритм реализации метода постепенной формализации для разработки асу
Скачать 75.23 Kb.
|
Билет 17 Проектирование информационных систем: методика постепенной формализации. Алгоритм реализации метода постепенной формализации для разработки АСУ. Проектирование -это планирование информационной системы. На данном этапе разрабатывается общая структура будущей системы, строится каркас программы, разрабатываются структуры данных (в том числе схема базы данных). Формализация - это перевод информации с естественного языка в более четкий. Языки с разным уровнем формальности: естественный язык (русский, английский); графика, диаграммы, схемы; языки программирования; математика МПФ – это методика системного анализа, которая основывается на интуиции и опыте специалистов, а так же методах формализованного представления проекта с процедурами оценки решения (например, компьютерное моделирование). Процесс МПФ итерационный. Принципиальная особенность МПФ в том, что она ориентирована на развитие представлений разработчика об объекте на постепенное выращивание решения задачи в процессе проектирования Рассмотрим алгоритм метода: 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) Перегрузка унарных операций отличается только тем, что не принимает входных параметров. |