Ппп как сделать

Добавил пользователь Евгений Кузнецов
Обновлено: 06.10.2024

5.Конструирование управляющей программы пакета прикладных программ.

5.1 Модуль лексического разбора

5.2 Модуль синтаксического анализа

5.3 Модуль управления

5.5 Модуль помощи (HELP)

Литература

  1. Смирнов А.А. Прикладное программное обеспечение. Учебное пособие. М. ,МЭСИ, 2011.
  2. Гагарина Л. Г., Виснадул Б. Д., Кокорева Е. В. Технология разработки программного обеспечения. М. ИНФРА-М., 2013
  3. Голицына О. Л., Попов И. И., Партыка Т. Л. Программное обеспечение. М. ФОРУМ., 2010

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

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

Прикладные программы, входящие в пакет, имеют общую структуру управления и единые информационные массивы.

Можно выделить следующие общие свойства пакета прикладных программ:

во-первых, пакет состоит из нескольких программных единиц;

во-вторых, пакет предназначен для решения задач определенного класса;

в-третьих, в пределах своего класса пакет обладает определенной универсальностью, т.е. позволяет решать практически все задачи данного класса;

в-четвертых, в пакете предусмотрены средства управления, позволяющие выбирать конкретные возможности, из числа имеющихся в пакете. Пакет допускает настройку на конкретные условия применения;

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

в-шестых, пакет имеет специальные средства помощи и обучения.

ППП можно подразделить на методо-ориентированные пакеты, проблемно-ориентированные пакеты и интегрированные пакеты.

Методо-ориентированный пакет предназначен для решения задачи пользователя одним из нескольких методов, предусмотренных в пакете. Используемый метод может либо назначаться пользователем, либо выбираться автоматически на основе анализа данных. Примерами методо-ориентированных пакетов могут являться некоторые из пакетов математического программирования.

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

Интегрированные пакеты представляют собой пакеты широкого назначения, объединяющие: табличный процессор; систему управления базой данных; текстовый редактор; пакет графического отображения данных; средства обмена данными с удаленными абонентами и другие программные средства. Примерами интегрированных пакетов являются MICROSOFT OFFICE, FRAMEWORK, SYMPHONY.

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

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

во-первых, ведущего блока;

во-вторых, модуля лексического разбора;

в-третьих, модуля синтаксического анализа;

в-четвертых, модуля управления;

в-шестых, модуля помощи.

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

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

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

Модуль управления обеспечивает выполнение обращений к обрабатывающим программам.

Программные модули пакета, реализующие алгоритмы обработки данных, затребованные в ПВЯ, называются обрабатывающими модулями.

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

Область деятельности, к которой относятся задачи, решаемые ППП, называется предметной областью пакета.

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

Для разработки пакета прикладных программ предметная область представляется в виде модели.

Модель предметной области ППП, в общем виде, можно представить совокупностью данных, используемых в пакете и связей между этими данными.

Данное может характеризоваться: именем, типом и значением.

Имя (идентификатор) является уникальным для конкретного данного. Имя может быть дополнено пояснением или содержательным названием, отображающим его роль в предметной области. Содержательное название предназначено для разъяснения пользователю. Например, имя “PRICE” может обозначать реквизит с содержательным названием “ЦЕНА ИЗДЕЛИЯ”.

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

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

Данные связаны между собой и образуют единую структуру. Связи между данными можно подразделить на два вида:

во-первых, связи по определению;

во-вторых, функциональные связи.

Связи по определению представляют собой связи, устанавливаемые при построении модели предметной области пакета. Например, реквизиты в бухгалтерском документе, являются связанными по определению.

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

Следовательно, модель предметной области (МПО) может быть представлена как объединение множества данных, связей по определению и функциональных связей:

где X- множество данных;

R- множество связей по определению;

F- множество функциональных связей.

Если в процессе выполнения пакета множества X, R и F остаются неизменными, то такую модель предметной области можно назвать статической.

Если пользователь имеет возможность в процессе работы пакета менять, хотя бы одно из множеств: X, R или F, то модель предметной области называется динамической. Например, если пользователь имеет возможность определения новых данных или возможность изменения формул расчета, то ППП будет являться пакетом с динамической предметной областью. В качестве примера ППП с динамической предметной областью, можно привести бухгалтерский пакет “1.С Бухгалтерия”.

Каждое данное может относиться только к одному типу, следовательно, множество “X” является объединением непересекающихся подмножеств, содержащих однотипные данные. В подмножество объединяются данные одного типа, например, данные целого типа, данные вещественного типа, массивы некоторого базового типа и т.д.

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

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

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

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

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

Связи между данными, образующие множество связей по определению “R”, отражают взаимосвязь между данными в информационной базе пакета и устанавливаются при разработке информационной базы. В частности, в системе Delphi, данные, объединенные в единую запись, являются связанными по определению. Как правило, при обработке экономической информации, в единую запись объединяют реквизиты одного документа.

Для данных, входящих в модель предметной области, может быть установлена связь подчинения. Например, если в модели имеется одномерный массив “A” и целое данное “N”, определяющее размерность массива “A”, то можно считать, что данное “A” подчинено данному “N”. Действительно, если значение “N” не определено, то данное “A” также имеет неопределенное значение.

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

Функциональные связи реализуются в пакете обрабатывающими модулями. Отдельный обрабатывающий модуль можно рассматривать как функцию

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

Функциональная связь в модели предметной области представляется следующим образом:

Во-первых, набором входных данных;

Во-вторых, набором выходных данных;

В-третьих, обрабатывающим модулем, реализующим эту связь.

Модель предметной области может быть представлена различными вариантами, в частности:

Во-первых, с помощью таблиц;

Во-вторых, с помощью графа предметной области.

Использование табличного варианта предполагает формирование нескольких таблиц.

Номер

Вектор из N целых элементов

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

  1. Таблица связей по определению (связи подчинения).

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

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

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

Например, рассмотрим типичную задачу обработки экономической информации.

Вершинами могут быть обозначены следующие стадии обработки:

1 — начальная стадия;

2 — обеспечение ввода информации;

3 — проверка корректности введенной информации;

4 — получение выходных документов;

5 — завершение работы.

Дугами могут быть обозначены следующие алгоритмы:

1 — ввод с внешнего носителя;

2 — ввод с клавиатуры;

3 — тестирование информации;

4 — просмотр и редактирование информации;

5 — получение выходной формы;

6 — контрольная распечатка файла;

7 — сохранение информации на внешнем носителе.

В этом случае, граф предметной области будет иметь вид

Для представления графа предметной области в оперативной памяти может быть использован двухмерный массив. В рассматриваемом массиве номер строки определяется номером дуги. Поэтому, число строк соответствует числу дуг ГПО. В каждой строке массива содержится два элемента. Первый элемент определяет номер вершины, в которой начинается дуга. Второй элемент определяет номер вершины, где дуга завершается.

Для приведенного примера графа предметной области массив будет иметь вид:

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

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

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

:: = — по определению есть;

| — логическое сложение (или);

— скобка для обозначения нетерминального символа;

[ … ] — обозначение необязательного элемента.

Формальная грамматика G, задается четырьмя элементами

N — множество нетерминальных символов

Z — начальный символ (аксиома);

Т — множество терминальных символов

F — множество порождений, т.е. формул вида А ::= В .

Например, грамматика может иметь вид:

:: = ВВОДД | ВВОДК | ТЕСТ | ПРОСМ |

ВЕДОМ | РАСП | СОХР

:: = А | Б | В…Я | A| B| C … Z

В соответствии с приведенным примером формальной грамматики ПВЯ может иметь вид:

ВВОДД = A:\ISX; TECT = ЭКРАН; ВЕДОМ = ПРОМ_ИТ; СОХР = ДИСКЕТА;

Центральным элементом управляющей программы является ведущий модуль. Ведущий модуль организует выполнение требуемой последовательности других модулей управляющей программы. Ведущий модуль обеспечивает выполнение следующих действий (но сам не выполняет):

во-первых, осуществление лексического разбора ПВЯ;

во-вторых, проверку синтаксической правильности ПВЯ;

в-третьих, определение множества модулей, подлежащих выполнению;

в-четвертых, реализацию обращения к модулям тела ППП.

При реализации ведущего модуля в среде DELPHI, файл, содержащий ведущий модуль, может иметь следующую структуру:

Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls;

Простой приёмник прямого преобразования "Lidia-80" на м/сх МС3361 для прослушивания SSB/CW радиолюбительских станций.

Этот простой и уникальный приёмник разработал Wlodzimierz Salwa польский радиолюбитель с позывным SP5DDJ . Приёмник был разработан им по просьбе начинающих радиолюбителей, желающих самостоятельно изготовить приёмник для знакомства с работой в эфире радиолюбительских станций. Было решено делать КВ приёмник на самый популярных диапазон 80м. Были выбраны самые дешёвые компоненты, включая пластиковый корпус, что очень упрощает монтаж. Наконец-то, после многих вечеров и ночей тщательного подбора компонентов, приёмник заработал так, как это было задумано! Автор назвал приёмник "LIDIA 80" в честь своей жены, которая помогала на каждом этапе создания приёмника. В первую очередь, этот проект предназначен для начинающих коротковолновиков, не имеющих большого опыта в конструировании аппаратуры. А так же для радиолюбителей, которые хотят на выходных отдохнуть и сделать радиоприёмник.

Много интересных фотографий, историю создания радиоприёмника "LIDIA 80", а также подробную информацию по данной конструкции можно увидеть на сайте автора SP5DDJ перейдя по ссылке >>>

В связи с полным отсутствием у нас в стране подобных проектов и конструкторов для самостоятельной сборки КВ радиоприёмников я решил повторить данную конструкцию и был приятно удивлён. Приемник заработал сразу! Я очень благодарен автору за разработку КВ приёмника доступного для повторения.

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


Приёмник собирается в пластиковом корпусе, что значительно упрощает монтаж. Приёмник без цифровой шкалы с возможностью её установки. Простая цифровая шкала на ПИК контроллере может быть изготовлена отдельно и установлена в приёмник. Приемник работает в диапазоне частот 3495 кГц - 3805 кГц. Главным элементом является микросхема MC3361C, которая используется в профессиональных ФМ приемниках с двойным преобразованием частоты. В приёмнике использованы внутренний генератор микросхемы, смеситель и активный фильтр. Генератор VFO (Variable Frequency Oscillator) работает в схеме с дросселем, конденсаторами, варикапом и линейным потенциометром. Стабильности генератора VFO достаточно для прослушивания станций. Через короткое время после включения и прогрева, частота приема изменяется на 100-200 Гц за 30 минут. Контур на входе приемника, не смотря на применение аксиальных дросселей, обеспечивает соответствующую полосу, чувствительность и согласование со смесителем. УНЧ работает на популярной микросхеме LM386N. Чувствительность входа приемника настраивается простым антенным аттенюатором на линейном потенциометре, выполняющим также функцию ручной регулировки усиления. Приемник смонтирован на печатной плате размером 130x65 мм. Приёмник собран в пластмассовом корпусе Z-III широко распространённом на наших радио рынках. Правильно собранный и настроенный приемник позволяет прослушивать CW и SSB радиолюбительские станции в диапазоне 80 метров с помощью антенны диполь или наклонный луч (Long-Wire). Самое сложное - это при настройке "вогнать" ГПД в диапазон при помощи частотомера, генератора или на слух по работающим станциям. В связи с отсутствием перестраиваемых контуров крутить отвёрткой придётся только подстроечные резисторы и конденсатор ;-)

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

Если у кого-нибудь из Ваших знакомых есть желание послушать радиоэфир, то это будет самый лучший и недорогой подарок.

Блок-схема радиоприёмника:


Схема принципиальная:


Если изменить номиналы нескольких радиокомпонентов, то лёгким движением руки приёмник "LIDIA 80" превращается в приёмник "LIDIA 40" :-) и можно вести приём CW/SSB радиолюбительских станций на диапазоне 40 метров. Ну чем не прелесть?!


Кстати! При изготовлении приёмника с цифровой шкалой, переменный резистор настройки можно применить многооборотный, что очень облегчает настройку на радиостанции (нужно только рассверлить отверстие в ручке с 6 мм до 6,35 мм)


Стоимость резистора на 10 кОм - 105 грн.
Печатная плата с маской и маркировкой:


Стоимость печатной платы с маской и маркировкой: 150 грн.

НАБОР MINI-KIT для сборки приёмника В КОМПЛЕКТЕ ВСЁ! Стоимость набора деталей с печатными платами, пластмассовым корпусом, переменными резисторами, ручками резисторов, светодиодом с держателем, тумблером, гнёздами для динамика и наушников, антенным гнездом, винтовыми зажимами "барашек" для подключения питания для сборки приёмника "LIDIA 80": 650 грн.

Перечень деталей набора, краткая инструкция по сборке и настройке радиоприёмника здесь >>>

Полезные доработки приёмника :) здесь >>>

Чертежи передней и задней панелей приёмника в формате *.dwg (Autocad) здесь >>> можно распечатать при помощи бесплатной программы Dwg TrueViev


Несколько фотографий поэтапной сборки радиоприёмника:







Видео работы приёмника на "Mini-Whip", канал "Обо всём понемножку":

Видео работы приёмника (генератор в диапазон не "вгонял") собрал за два свободных вечера и без всяких настроек включил:

Видео работы приёмника собранного на макетной плате:

Видео работы и сборки приёмника от покупателей:

Очень часто спрашивают об антеннах и интересуются почему днём слышны станции на одних диапазонах, ночью на других. Для тех, кому это интересно, нужно просмотреть серию видеороликов Александра Щербина

На канале Александра очень много полезной информации.
Обо всём рассказано просто - на пальцах :) Для перехода на канал жмите сюда >>>

Желающие могут оборудовать свой радиоприёмник НУ очень простой в сборке и практически не требующей наладки 4-х или 5-ти разрядной цифровой шкалой - частотомером! Всё просто, наглядно и удобно ;-)



Четырёхразрядная цифровая шкала:







Переключение поддиапазонов и времени измерения происходит автоматически, результат измерения отображается следующим образом:

1. 0. 9,999 кГц (формат Х.ХХХ), время счёта 1с (десятичная точка мигает)

2. 10. 99,99 кГц (формат ХХ.ХХ), время счёта 1/2с (десятичная точка мигает)

3. 100. 999,9 кГц (формат ХХХ.Х), время счёта 1/4с (десятичная точка мигает)

4. 1. 9,999 МГц (формат Х.ХХХ), время счёта 1/4с (десятичная точка не мигает)


Есть и с зелёными индикаторами :)


Схема электрическая принципиальная частотомера/цифровой шкалы:


Описание конструкции, схема частотомера и перечень деталей набора здесь >>>


Стоимость полного набора деталей для сборки (с прошитым контроллером): 270 грн.

Стоимость собранной и проверенной платы: 330 грн.

Пятиразрядная цифровая шкала:



Информация по такой же самой, но пятиразрядной цифровой шкале выложена здесь >>>

P.S.: Бывает и такое! Купил транзисторы BF199, а у них ноги наоборот! Смотрите фото:



Для покупки печатных плат и наборов обращайтесь сюда >>> или сюда >>>

Читайте также: