Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Современные задачи многомерного анализа в энцефалографии

.pdf
Скачиваний:
68
Добавлен:
01.05.2014
Размер:
1.5 Mб
Скачать

где b - конечный размер сечения (или ширина) пучка.

В качестве лазерного источника выбран гелий-неоновый многомодовый лазер непрерывного действия, для которого были выбраны следующие рабочие характеристики:

1)длина волны лазерного излучения равна 0, 632,8х10-6 м

2)расходимость пучка лазерного источника излучения 2х10-3 рад

3)мощность лазерного излучения 25х10-3 Вт

При заданных граничных условиях рассматриваемого эксперимента и соответствующих преобразованиях [6] получим следующее выражение:

 

 

 

 

nl

 

 

 

sin(

2πl dn

 

 

x = x 0 b ) (20)

 

 

 

 

 

 

 

 

 

I =

I 0 {1

+ cos[ 2

π

( erf [ k ( x 0 + a / 2 )] erf [

k ( x 0

a / 2 )])]}

λ

 

 

 

dx

 

 

 

 

 

 

 

 

 

λ

 

2

πl

 

dn

 

 

 

x = x 0 b

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

λ

 

dx

 

 

 

 

 

 

 

 

 

 

 

 

 

Величины используемых в эксперименте параметров:

∆n = 1*10-5, X0 = 4,5*10-3м, b = 2*10-3м, λ = 6,326*10-6м, l = 4*10-3м.

Использование численных методов для решения задач эллипсометрии [7] позволяет оценить влияние величины лазерного излучения на измеряемую характеристику интенсивности лазерного излучения создана программа, алгоритм которой был реализован с использованием компилятора Borland C++ Builder под операционной системой

Windows:

График зависимости интенсивности излучения от размера лазерного источника строится по описанному алгоритму и имеет следующий вид на рисунке 1.

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

Рис.1

284

Список литературы 1.Порай-Кошиц А.Б., Симоненко З.Г., Фейгельс В.И. Устройство для определения ко-

эффициента молекулярной диффузии в жидкостях. – Авторское свидетельство СССР

No 1178132. Бюллетень ОИ ПОТЗ, 1985г.

2.Порай-Кошиц А.Б., Симоненко З.Г., Шмуйлович Г.А. // В сб.: VI Менделеевская дискуссия. Результаты экспериментов и их обсуждение на молекулярном уровне. Тезисы докладов, ч. II , Харьков, 1983г, с. 341.

3.Симоненко З.Г. Материалы IV Международной научной конференции “Проблемы пространства, времени и движения”, СПбГИТМО (ТУ), Санкт-Петербург, 25-29 сентября 2000г..

4.Плотников В.В., Ильина Л.П., Симоненко З.Г., Федоров В.Н. Теорема Остроградского и решение параболических уравнений. - Научная конференция “Петербургская математическая школа в период XIX века ”(24-28 сентября 2001г.) посвященная 200летию со дня рождения М.В. Остроградского С-Петербург.

5.Борн М., Вольф Э. В кн: Основы оптики.М.:Наука,1973г, с.640

6.Симоненко З.Г., Исследование параметров скорости массопереноса в жидких бинарных системах с границей раздела. // Материалы IV Международной научной конференции “Проблемы пространства, времени и движения”, СПбГИТМО (ТУ), СанктПетербург, 2000г., стр. 22.

7.Симоненко З.Г. Численные методы решения задач эллипсометрии при анализе системы подложка-плёнка. Оптические методы исследования дефектов и дефектообразования элементной базы микроэлектроники и микросенсорной техники. Сб. научных статей.С-Петербург.2002 г.,стр. 109-111.

285

ВАРИАНТ БАЗЫ ДАННЫХ ДЛЯ ЛОКАЛЬНОЙ СЕТИ УЧЕБНОЙ ЛАБОРАТОРИИ САПР ВУЗА.

С.С. Винницкий, А.Д. Иванов, М.С. Петрищев

Современные базы данных (БД) представляют собой универсальное, но довольно громоздкое средство хранения информации и потому требуют не менее сложной системы пользования ими (СУБД). Кроме того, они не учитывают специфику сведений, необходимых в повседневной работе конструктора. Как правило, для постоянного пользования требуется лишь часть БД, либо небольшая БД, которую проще создавать, использовать и проще дополнять.

Предлагаемый вариант локальной БД для небольших конструкторских бюро приборостроения, работающих в довольно узких областях, отличается следующими особенностями. Во-первых, данные хранятся в том же виде, как и в справочной литературе, в привычном виде; во-вторых, все данные об однотипных изделиях хранятся в виде отдельных текстовых файлов. Набор таких файлов образует БД. Наконец, предлагаемый алгоритм обращения к БД для выбора требуемой информации повторяет действия конструктора при выборе нужных данных в справочной литературе.

Файл с БД следует формировать по определенным правилам. В структуре файла можно условно выделить справочный раздел и раздел с данными. Необходимо их разделять метками специального вида. Вид меток одинаков для всех файлов БД и выбирается заранее. В справочной литературе таблицы по однотипным изделиям очень часто содержат несколько разделов. При формировании файла такие разделы следует разделять метками выбранного ранее вида. При отсутствии данных для одного из полей, для сохранения структуры БД в поле следует поместить маркер специального вида.

Пример файла БД: Содержание файла «metric.dat».

Размеры сбегов, недорезов, проточек и фасок (мм) для метрической резьбы

(по ГОСТ 10549-63).

Данные из:

Заплетохин В.А. Соединение деталей приборов. Л.: Изд-во Ленингр. ун-та, 1974.

-----------------------------------------------------------------------------

1

2

3

4

5

6

7

8

9

10

-----------------------------------------------------------------------------

 

1

- Шаг резьбы t

 

6

- Проточка b

 

 

 

2

- Сбег l1max

 

7

- Проточка r

 

 

 

 

3

- Сбег l1min

 

 

8

- Проточка r1

 

 

 

4

- Недорез l2max

 

9

- Проточка a

 

 

 

5

- Недорез l2min

 

10 - Фаска c

 

 

 

 

Примечания:

1.Максимальная величина сбега соответствует углу заборной части инструмента 20 градусов, минимальная - 45 градусов.

2.В размер недореза входят величина сбега и величина ненарезанной части

детали между концом сбега и опорной поверхностью детали (недовод).

-----------------------------------------------------------------------------

* - Данные отсутствуют либо не предусмотрены.

-----------------------------------------------------------------------------

286

-!-Начальное_место_считывания

 

 

 

 

 

-!-Наружная_резьба

 

 

 

 

 

 

 

0.2

0.4

0.2

0.5

0.4

*

*

*

*

0.2

0.25

0.5

0.2

0.6

0.5

*

*

*

*

0.2

0.3

0.5

0.2

0.7

0.5

*

*

*

*

0.2

0.35

0.6

0.3

0.8

0.6

*

*

*

*

0.3

 

 

 

 

 

 

 

 

 

0.75

1.5

0.5

2.0

1.6

2.0

0.5

0.3

1.2

1.0

0.8

1.5

0.6

3.0

1.6

3.0

1.0

0.5

1.2

1.0

1

1.8

0.7

3.0

2.0

3.0

1.0

0.5

1.5

1.0

1.25

2.2

0.9

4.0

2.5

4.0

1.0

0.5

1.8

1.6

1.5

2.8

1.0

4.0

2.5

4.0

1.0

0.5

2.2

1.6

1.75

3.2

1.2

4.0

2.5

4.0

1.0

0.5

2.5

1.6

2

3.5

1.4

5.0

3.0

5.0

1.5

0.5

3.0

2.0

2.5

4.5

1.6

6.0

4.0

6.0

1.5

1.0

3.5

2.5

3

5.2

2.0

6.0

4.0

6.0

1.5

1.0

4.5

2.5

3.5

6.3

2.2

8.0

5.0

8.0

2.0

1.0

5.0

2.5

4

7.1

2.5

8.0

5.0

8.0

2.0

1.0

6.0

3.0

4.5

8.0

3.0

10.0

6.0

10.0

3.0

1.0

6.5

3.0

5

9.0

3.2

10.0

6.0

10.0

3.0

1.0

7.0

4.0

5.5

10.0

3.5

12.0

8.0

12.0

3.0

1.0

8.0

4.0

6

11.0

4.0

12.0

8.0

12.0

3.0

1.0

9.0

4.0

-!-Внутренняя_резьба

 

 

 

 

 

 

0.2

0.5

0.3

1.2

1.0

*

*

*

*

0.2

0.25

0.6

0.4

1.5

1.2

*

*

*

*

0.2

 

 

 

 

 

 

 

 

 

5

*

9.5

*

16.0

16.0

3.0

1.0

1.8

4.0

5.5

*

*

*

*

16.0

3.0

1.0

1.8

4.0

6

*

*

*

*

16.0

3.0

1.0

2.0

4.0

Файл содержит справочный раздел и два раздела данных – по наружной и внутренней метрической резьбе. Метка их разделения – «-!-». Маркер, позволяющий сохранять структуру БД при отсутствии данных – «*». В тексте комментария к разделам данных не должно быть пропусков. Пропуски рекомендуется заполнять символом подчеркивания. Например:

-!-Наружная_резьба Выборка данных из файла легко может осуществляться программными

средствами с помощью подпрограммы-функции с необходимым набором входных и выходных параметров. Алгоритм действий, реализованный в подпрограмме-функции, последовательно перебирает все записи в пределах БД. Выборка осуществляется в цикле с постусловием. Условием служит ненахождение метки конца файла. Выборка данных в пределах требуемого раздела осуществляется с помощью счетчика меток. Все встречающиеся метки считаются. При равенстве сосчитанного и требуемого значений счетчика меток осуществляется выборка в пределах раздела. Требуемое значение счетчика является одним из входных параметров.

Каждая запись проверяется на соответствие заданным критериям. Одним из критериев является поиск ближайшего большего. Запись, наилучшим образом удовлетворяющая критериям выборки, запоминается и передается в головную программу в виде одномерного массива данных, которые непосредственно используются для создания DXF-файла разрабатываемого чертежа и выпуска текста ПЗ.

287

Блок-схема подпрограммы-функции выборки данных в общем случае представляется следующим образом:

Начало

Получение значений входных параметров из головной программы

Описание локальных переменных

Обращение к БД

Считать очередное значение поля

нет

 

Считанное значение

да

 

 

является меткой

 

 

 

конца файла?

 

Увеличить

да

Считанное

нет

значение счетчика

 

значение

 

меток на 1

 

является меткой?

 

нет

Значение счетчика

да

меток равно

 

 

 

требуемому

 

 

значению?

 

 

Считать очередное значение поля

 

А

Б

В

Г

 

288

А

Б

В

Г

 

 

 

нет

Считанное значение

да

 

является меткой конца

 

 

файла?

 

 

 

Выйти из БД

нет

Встретился

да

 

символ «*»?

Конец

 

 

обращения к

 

 

БД

Запомнить значение

Запомнить значение

поля

 

поля как нулевое

нет

Считана

да

 

 

 

вся запись?

Возврат в

 

 

 

 

головную

 

 

программу

нет

Считанные значения

да

удовлетворяют условиям

 

выборки И этот вариант

 

 

лучше найденного ранее ?

 

 

Поместить запись в массив выборки

 

Данный алгоритм реализован на языке программирования Turbo C. Для иллюстрации его работы решим задачу определения параметров резьбы по заданному шагу.

В качестве входных параметров подпрограммы-функции выберем: baza – имя файла БД; stolb – количество столбцов в файле; N_ser – требуемое значение счетчика меток; Status_0 - статус 1-го столбца (1 – буквенно-цифровой, 0 – иначе); stolb_par - № столбца поиска; par_1 – значение параметра для поиска. Выходные параметры: Results[16] – массив выборки; name_podbor – если 1-ый по счету столбец букв.-цифр., то «заголовок» строки (например, обозначение двигателя).

289

Листинг программы:

#include <stdio.h> #include <stdlib.h> #include <string.h>

void search_one (char baza[12], int stolb, int N_ser, int Status_0, float stolb_par, float par_1);

float Results[16]; char name_podbor[7], name_vrem[7];

void main(void)

{

float t, sbeg, faska;

printf ("\n\nВведите значение шага резьбы, мм: "); scanf ("%f", &t);

printf ("\nВ справочных данных значения величины сбега и фаски резьбы."); search_one ("metric.dat", 10, 1, 0, 1, t);

sbeg=Results[3]; faska=Results[10];

printf ("\nСбег равен %.3g мм, фаска %.2gx45.", sbeg, faska);

}

void search_one (char baza[12], int stolb, int N_ser, int Status_0, float stolb_par, float par_1)

{

FILE *bd;

char dan[7]; int schet=-1, i;

float vrem[16], float d_vel=10000; bd=fopen(baza, "r");

do

{

a1: fscanf (bd, "%s", name_podbor);

if (strncmp(name_podbor, "-!-", 3)==0) {schet=schet+1; goto a1;} if (schet == N_ser)

{

if (Status_0==0) {vrem[1]=atof(name_podbor);}

else {fscanf (bd, "%s", dan); vrem[1]=atof(dan);} for (i=2; i<stolb+1; i++)

{fscanf(bd, "%s", dan);

if (dan!="*") {vrem[i]=atof(dan);} else {vrem[i]=0.;}

}

if (vrem[stolb_par]>=par_1 && vrem[stolb_par]<d_vel) {d_vel=vrem[stolb_par]; strcpy (name_vrem, name_podbor); for (i=1; i<stolb+1; i++) {Results[i]=vrem[i];}

}

}

}

while (!feof(bd)); fclose (bd); return;

}

290

Подпрограмма-функция search_one считывает значение каждого поля в строковую переменную. Проверяются первые три символа на эквивалентность с меткой «-!-». В случае равенства значение счетчика меток увеличивается на 1. (в начале работы функции значение счетчика меток равно –1; начальному месту описания данных будет соответствовать – 0; первому разделу данных – 1 и т.д.) При равенстве требуемого и сосчитанного значения счетчика меток выборка данных производится в пределах требуемого подмножества.

Далее, последовательно считывается вся запись. В зависимости от условий, считанные значения либо переводятся в численный вид, либо остаются в строковом виде. Если встречается «*», то считанному значению поля присваивается значение 0.

Осуществляется проверка условия поиска наилучшего результата. Условием является поиск ближайшего большего, начальное значение которого задается переменной d_vel. При выполнении условия поиска наилучшего результата значение записи сохраняется в массиве выборки Results, а значение ближайшего большего заменяется текущим подобранным. Если 1-й столбец – буквенно-цифровой, то нумерация столбцов в массиве Results сдвигается на 1 (т.е., например, значение 2-го поля будет соответствовать первому элементу массива Results). Первый столбец таблицы при этом записывается в строковой переменной name_podbor.

В условиях малого количества АРМов в локальной сети вероятность одновременного редактирования одного и того же файла базы мала и потому вопрос одновременного доступа не рассматривался.

Вариант подобной БД реализован в лаборатории САПР кафедры ИТиКТ СПбГУИТМО. Вариант подлежит апробации в условиях учебного процесса.

ЛИТЕРАТУРА

1.Бойко В.В., Савинков В.М. Проектирование баз данных информационных систем. – М.: Финансы и статистика, 1989.

2.Ульман Дж. Базы данных на Паскале. – М.: Машиностроение, 1990.

291

ДОКУМЕНТИРОВАНИЕ ЖИЗНЕННОГО ЦИКЛА ИНФОРМАЦИОННЫХ СИСТЕМ.

А.А Зарафьянц

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

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

У каждого проекта можно выделить начальную (прединвестиционную) стадию, стадию реализации проекта и стадию завершения работ по проекту. Это может показаться очевидным, но понятие жизненного цикла проекта является одним из важнейших для руководителя (менеджера) проекта, поскольку именно текущая стадия определяет задачи и виды деятельности, используемые методики и инструментальные средства.

Для любого проекта, жизненный цикл сильно зависит от производимого продукта. Системаэто комплекс, состоящий из процессов, технических и программных средств, устройств и персонала, обладающий возможностью удовлетворять установленным потребностям или целям. Информационная система [6] – это система, предназначенная для сбора, передачи, обработки, хранения и выдачи информации потребителям и состоящая из следующих основных компонентов:

-программное обеспечение,

-информационное обеспечение,

-технические средства,

-обслуживающий персонал

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

Более сложная модель жизненного цикла программной системы - спиралевидная модель Боэма, приведенная на рисунке 1. Модель Боэма [2] итеративна - разработка ведется в несколько этапов, и на каждом новом этапе используются сделанные ранее наработки. На первом этапе определяются цели задачи проекта, формулируются требования. Концепции оцениваются, формулируется план по требованиям и жизненному циклу. На втором витке проектирования составляются и проверяются детальные спецификации, создается прототип и проводится анализ рисков, проект проверяется, утверждается и разрабатывается детальный план. Анализ рисков и построение прототипа на следующем витке предвосхищают процесс непосредственной реализации системы.

В ходе разработки ведется работа над рядом документов. В первую очередь создается общее описание проекта, концепции разработки. Далее появляются спецификации и детальное техническое задание. Спецификации - один из наиболее важных документов [3]. Он представляет собой пронумерованный список требований, минимально зависимых друг от друга. Качество реализации каждого из сформулированных пунктов-требований к системе будет проверяться на завершающих стадиях проекта. Спецификациипродукт переговоров заказчика и разработчика, это документ должен быть понят и заверен обеими сторонами.

292

Определить цели,

 

Оценить

 

 

альтернативы,

 

альтернативы,

ограничения

Анализ рисков

 

 

 

выявить и решить

 

Анализ

 

 

 

 

рисков

 

 

 

 

Анализ

Прототип 3Рабочий

 

рисков

 

П2

 

прототип

 

 

 

 

 

Планы

Концеп Треб.

Проек

Детальн.

по

к ПО

треб и

т

проект

План

Проверка

 

Коди-

Сборк

треб

 

ров.

Планированиетестировани

Проверка

Мод.

 

 

проекта

тестир.

Разработка и

следующих

Сборка

проверка

фаз

Внедр

 

след.

 

 

Рисунок 1. Спиральная модель Боэма

Дизайн системы должен быть подробно задокументирован и понят разработчиками. Обычно он создается с помощью CASEсредств разработки. Он может содержать диаграммы Entityrelationship логической структуры базы данных, различные UML диаграммы, например диаграммы основных классов, диаграммы взаимосвязи объектов, модульные диаграммы. Обязательный этап при завершении дизайна системы – его презентация, проверка и утверждение.

Существуют и другие модели жизненного цикла, более подробно рассмотренные в [4]. Например, V- образная модель, отображенная на рисунке 2, часто важна для понимания сути процесса разработки ПО. Этапы расположены на теле английской буквы «V», и каждый последующий этап находится правее предыдущего, но в V- образной модели возможно горизонтальное возвращение – возврат к предыдущим стадиям соответствующего уровня. Так, если на этапе интеграции модулей найдена какая-либо ошибка, то происходит возврат к рассмотрению общего дизайна системы, после чего происходит последовательный спуск по V- модели, изменяется дизайн и реализация каждого из модулей, затем модули тестируются в отдельности, и затем происходит общая интеграция модулей.

анализ

 

 

 

 

 

внедрение

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Общий дизайн

 

 

 

Сборка и тестирование

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Дизайн модулей

 

Тестирование модулей

 

 

 

 

 

 

 

 

 

 

 

 

 

Реализация модулей

Рисунок 2. V- образная модель

293