Системантика

Вид материалаМонография

Содержание


2. Проектирование информационного обеспечения
3. Проектирование программного обеспечения
1   ...   24   25   26   27   28   29   30   31   32

2. Проектирование информационного обеспечения



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

Информационное обеспечение включает в себя:

директивные документы (ДД);

внешнее информационное обеспечение (ВНИО);

внутреннее информационное обеспечение (ВИО).

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

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

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

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

Определенную на основе ДД и ВНИО условно-постоянную информацию (УПИ), выраженную на принятом информационном языке и закодированную, представляют в виде рукописных макетов таблиц (РМТ).

Проектирование изделий ИО заключается в переносе информации с РМТ на машинный носитель (МН). Для обеспечения необходимой достоверности информации на машинном носителе проводится неоднократная распечатка содержимого машинного носителя и визуальная проверка на соответствие РМТ.

В результате выполнения этого шага получают технологический машинный носитель (ТМН) с нанесенной на него УПИ в символьном виде.

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

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

Процесс изготовления изделий ИО заключается в переносе содержимого одной из копий на промежуточный машинный носитель в символьном виде, а затем в переписи информации с него на рабочий МН в загрузочном виде в соответствии с ранее выполненным комплектом конструкторской документации (КД), после чего изготовленное изделие ИО поставляется на объект эксплуатации.

В дальнейшем все необходимые изменения в изделии могут быть произведены по правилам, установленным нормативными документами (ЕСКД, ГОСТ, ОСТ, СТП и др.).

Как правило, процесс сопровождения изделий ИО при эксплуатации предусматривает:

доработку изделий в целях адаптации системы к изменяющимся условиям работы;

проектирование и изготовление изделий ИО по изменяющимся условиям работы;

повышение надежности эксплуатации изделий ИО в процессе решения задач.

3. Проектирование программного обеспечения



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

Изделие программного обеспечения представляет собой программную информацию на машинном носителе в совокупности с комплектом конструкторской и эксплуатационной документации на него.

Программное обеспечение систем включает в себя:

программы операционной системы;

пакеты прикладных программ;

программы решения функциональных задач;

сервисные программы.

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

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

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

Описанный процесс – итерационный, его результатом является получение документов (подлинника, контрольной копии и копии) на машинном носителе. Назначение этих документов аналогично определенному в предыдущем разделе.

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

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

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

* * *

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

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

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

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

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

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

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

Языки универсальных ЭВМ, обладая алгоритмической полнотой, т. е. представляя средства для описания произвольных мыслимых алгоритмов (с учетом конечной скорости и объема памяти), как правило, являются языками низкого уровня, в которых процесс программирования затруднен из-за чрезмерной детализации его отдельных шагов. В связи с этим уже на ранней стадии развития программирования возникла проблема его автоматизации – создания языков программирования, удобных для формализации задач и процессов их решений, а также методов построения соответствующих языковых процессоров – систем, составленных на этих языках. Классификация языков программирования показана на рис. 105.

На первом этапе для представления процедурных знаний использовались машинно-зависимые языки.

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




Рис. 105. Классификация языков программирования


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

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

Этот этап развития работ по программированию завершился созданием и реализацией серии языков программирования (Фортран, Алгол, Кобол, ПЛ/1, Паскаль и др.), ориентированных на различные сферы приложений и получивших название процедурно-ориентированных языков. Общей особенностью этих языков является наличие в них средств обработки, характерных для данной сферы приложений.

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

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

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

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

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

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