Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Программное обеспечение АИС. Структура ПО

Лекция №1

 

Назначение и состав программного обеспечения (ПО)

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

ПО включает в себя ОС (операционные системы), ППП (пакеты прикладных программ) и системы программирования (СП).

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

ПО тесно связано с математическим обеспечением (МО), так как составляется на базе МО, на основе алгоритмов.

Состав программного обеспечения показан на рис. 1.

Рис. 1. Состав программного обеспечения: УЧ — управляющая часть; ОЧ — обрабатывающая часть; ПОН — программы общего назначения; ПФН — программы функционального назначения; ОВП — организация выполняемого процесса; ВИБ — ведение информационной базы

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

В настоящее время широко распространены такие ОС как UNIX и разработанные под ее влиянием MS DOS, Windows 95/NT, OS/2. Для персональных компьютеров часто используют версии Windows 2000, Windows XP и другие.

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

ü индивидуальном (применяется для решения отдельных задач);

ü пакетной обработки (потребитель не имеет доступа к ЭВМ, собранные им в пакет программы последовательно обрабатывает ЭВМ);

ü многопрограммной работы (режим решения одновременно нескольких задач по различным программам);

ü распределением времени (наиболее развитая форма многопрограммной работы: абонентам одновременно предоставляют возможность общаться с ЭВМ и обращаться к общему информационному банку).

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

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

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

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

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

В некоторых ЭВМ супервизор + монитор образуют программу диспетчер.

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

Внутреннее ПО тесно связано со структурой ЭВМ и реализует возможности, заложенные в аппаратуре.

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

СП содержит средства автоматизированной разработки и отладки программ, организации выполняемого процесса (ОВП) и ведения информационной базы (ВИБ).

СП могут быть одноязычными (Visual Basic, Turbo С, Turbo Pascal) и многоязычными, т. е. когда отдельные части программных модулей написаны на разных языках (СП OS/360, СП UNIX и др.). После компиляции они объединяются в исполняемые модули. Каждый язык программирования в большей степени пригоден для определенного класса задач (информационных, оптимизации и т. д.), поэтому система программирования содержит целый набор языков, которые используют для решения задач разного типа.

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

Язык программирования (ЯП) — система формального описания различных задач с помощью ограниченного набора терми­нов по определенным правилам пользования ими.

Транслятор — программирующая программа для перевода программы, записанной на входном языке, в машинные коды.

Машинная (рабочая) программа — программа решения некоторой задачи, записанная в машинных кодах.

По виду трансляции системы делят на интерпретирующие (производится пошаговый перевод инструкций с ЯП на машин­ный язык) и компилирующие (выполняется перевод инструкций всего модуля с ЯП на машинный язык).

Пакеты прикладных программ (ППП) или Приложения.

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

ППП могут быть программы общего назначения (ПОН) и программы функционального назначения (ПФН).

К ПОН можно отнести системы программирования на языках высокого уровня, СУБД, программы-редакторы текстов, изображений, издательские системы. Первые реализуют типовые режимы работы вычислительной системы.

К ПФН относят пакеты программ, предназначенные для решения задач в определенной предметной области. Деление это достаточно условно.

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

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

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

При выборе ППП обычно следует учитывать следующие факторы:

  1. Состав функций управления, реализуемых с помощью ППП, можно ли его принять полностью или он должен быть доработан.
  2. Возможность применения входных и выходных форм документов, регламентированных ППП.
  3. Наличие исходных данных, регламентированных в ППП, возможность и трудоемкость их получения.
  4. Возможность адаптации ППП и периодичность обработки данных пользователей.
  5. Соответствие ППП необходимой структурной перестройке объекта управления и степени оперативности реорганизации базы данных.
  6. Надежность ППП с точки зрения защиты данных, наличие средств обнаружения и локализации ошибок.
  7. Наличие в пакете средств развития и его совершенствования.
  8. Минимизацию или максимизацию конфигураций ЭВМ и периферийных устройств, которые предусматривает ППП.
  9. Возможность использования различных носителей для формирования и хранения массивов.
  10. Затраты на адаптацию ППП к другой конфигурации технических средств.
  11. ОС для функционирования ППП.
  12. Язык и транслятор, на котором написан ППП. Наличие
    необходимого транслятора у пользователя.
  13. Состав стандартных вспомогательных программ, необходимых для применения пакета.
  14. Наличие и комплектность документации для пользователя в соответствии с существующими нормативно-техническими документами на ППП.
  15. Наличие документов по описанию применения ППП и обучению пользователей.
  16. Количество документации и полнота излагаемых вопросов с точки зрения привязки ППП к условиям пользователя.

Часто ПО АС предназначено для решения задач управления, учета, отчетности, планирования, управления производством, рас­пределением ресурсов, кадрового учета, бухгалтерской финансовой деятельности и т. д. ППП получили широкое распространения как инструмент автоматизации проектирования АСУ, создания САПР АСУ (систем автоматизирования проектирования АСУ) проблеммно-ориентированных систем. Для этой цели разработано большое количество общесистемных и функциональных ППП.

Ниже приведены примеры ППП.

  1. АРИУС — реализует функции архитектурного проектирова­ния АСУ;
  2. ISDOS, ADS.TAG — предназначены для формализации и ав­томатизации анализа системы;
  3. СОД, ТИС, ТЕКОД, ИНЕС — средства проектирования алго­ритмов;
  4. СУБД — Clipper, Oracle и другие;
  5. Редакторы текстов;
  6. ППП реализация диалогов.

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

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

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

Рис. 2. Классификация ПО

Внешнее ПО решает конкретные задачи АС в соответствии с иерархическими уровнями системы управления.

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

Программы обеспечивают:

ü опрос датчиков и преобразований по заданным алгоритмам;

ü выработку управляющих воздействий на исполнителей: (устройства, персонал).

2-й уровень: выбор методов обработки результатов измерений и вычислений необходимых параметров.

3-й уровень: оптимизация производственного процесса и адаптивное управление.

4-й уровень (высший): информационное управление системы — административно-организационное управление.

Решаемые задачи планируются и управляются программами, написанными на основе метода исследования операций.

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

Проблемы создания ПО в сложных системах породили потребность в программно-технологических средствах специально­го класса — CASE-средствах.

Термин CASE (Computer Aided Software Engineering — разработка ПО с использованием компьютерной поддержки) означал вначале автоматизацию разработки ПО, а теперь — процесс разработки сложных программных систем, т. е. программную инженерию.

Жизненный цикл ПО — одно из базовых понятий программной инженерии.

Жизненный цикл ПО (ЖЦ ПО) определяют как период времени, который начинается с момента принятия решения о необходимости создания ПО и заканчивается в момент его полного изъятия из эксплуатации. ЖЦ ПО регламентирован международным стандартом ISO/IEC 12207:1995 «Information Technology Software Life Cycle Processes» (Процессы жизненного цикла программного обеспечения). В этом стандарте Международной организации по стандартизации ПО (или программный продукт) определяется как набор компьютерных программ, процедур и связанной с ними документации и данных. А процесс ЖЦ — совокупность взаимосвязанных действий, которые преобразуют входные данные в выходные.

В нашей стране создание ПО начиная с 1970-х гг. регламентировалось стандартами ГОСТ ЕСПД (Единой системы про­граммной документации) серия ГОСТ 19.ххх. Многие из этих стандартов устарели. В настоящее время процессы создания АС, в состав которых входит и ПО, регламентированы стандартами «Информационная технология. Комплекс стандартов на автоматизированные системы» (ГОСТ 34.601-90, 34.602-89, 34.603-92 и другие). Однако и в этих стандартах процессы создания сложных систем отражены недостаточно, поэтому для каждого проекта такой системы часто создают комплексы нормативных и методических документов, регламентирующих процессы создания конкретного прикладного ПО. Целесообразно использовать международные стандарты. Так, в указанном выше стандарте ISO/IEC 12207:1995 все процессы ЖЦ ПО разделены на три группы: основные, вспомогательные и организационные.

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

Рис. 3. Каскадная модель жизненного цикла ПО

На сегодняшний день в программной инженерии существует два подхода к разработке ПО систем:

· функционально-модульный или структурный;

· объектно-ориентированный (объектная декомпозиция).

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

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

Технология программирования развивалась наряду с развитием ЭВМ и языков программирования. Она прошла этап «стихийного» программирования, когда программы состояли из ма­шинных кодов, или ассемблеров, и обрабатываемых данных.

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

Модульное программирование — выделение групп подпро­грамм, в которых используются одни и те же глобальные данные, в отдельно транслируемые модули (библиотеки подпрограмм). Связь между модулями осуществляется через интерфейс.

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

Процедурные языки структурного программирования: PL/1, ALGOL-68, Pascal, С.

Языки, поддерживающие модульное структурное программирование: Pascal, С, C++, Ada, Modula.

Для сложного программного обеспечения на этапе 80-90 гг. прошлого столетия стало применяться объектно-ориентированное программирование, когда программа представлена в виде совокупности объектов, каждый из которых является экземпляром определенного класса, а классы образуют иерархию с наследованием свойств. Для обеспечения взаимодействия программных объектов используются сообщения. Механизмы наследования, полиформизма, композиции, наполнения позволяют строить сложные объекты из простых. Были созданы среды, поддерживающие визуальное программирование: Delphi, C++ Builder, Visual C++ и другие.

Этап компонентного подхода и CASE-технологии начался с середины 90-х гг. прошлого столетия. Компонентное программирование — создание ПО путем сборки объектов-компонентов (физически отдельно существующих частей ПО), взаимодействующих между собой через стандартизованные двоичные интерфейсы, в библиотеки или исполняемые файлы. Компонентный подход лежит в основе технологий СОМ и CORBA. Элемент такой технологии обладает свойствами, методами и событиями, его можно использовать для построения приложений.

COM (Component Object Model) — компонентная модель объекта. Эта технология является развитием технологии связывания и внедрения объектов — OLE, используемая для создания сложных и составных документов в приложениях, работающих под управлением ОС Windows. COM позволяет использовать функции одной части ПО другой частью.

На базе СОМ для разработки программного обеспечения были созданы компонентные технологии:

  1. OLE-automation — технология создания программируемых приложений (ее поддерживает MS Excel);
  2. ActiveX — технология создания ПО как на одном компьютере, так и в распределенной сети. Создана на базе OLE-automation. ActiveX применяется для создания ПО в Интернете и написания программ в среде Delphi, C++ Builder, Visual C++ и т. п.;
  3. MTS (Microsoft Transaction Server — сервер управления транзакциями) — технология стабильной и безопасной работы распределенных приложений, работающих с большими объемами передаваемых данных;
  4. MIDAS (Multitier Distributed Application Server — сервер многозвенных распределенных приложений) — технология организации доступа к данным разных компьютеров с учетом сбалансированности нагрузки сети.

Технология CORBA (Common Object Request Broker Architecture — общая архитектура с посредником обработки запросов объектов) используется для создания распределенных приложе­ний. Может работать на всех основных аппаратных и программных платформах.

Для ускоренной разработки ПО применяют технологию RAD (Rapid Application Development). Она позволяет максимально быстро получить первые версии ПО. Эту технологию используют, в основном, для относительно небольших проектов, когда не требуется высокий уровень планирования и проектирования. Для больших систем, с большим количеством уникального кода эту технологию нельзя применять.

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

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

Существующие языки программирования можно подразделить на четыре уровня:

  1. Машинные коды — внутренний язык команд конкретной ЭВМ. Он содержит полный перечень отдельных операций, которые может выполнять данная ЭВМ, и присвоенные этим операциям числовые коды;
  2. Машинно-ориентированные автокоды, в которых некоторые простейшие и часто используемые последовательности машинных команд объединены в макрокоманды, что несколько укрупняет и упрощает процесс программирования. Для автокодов характерно применение мнемоники системы символической адресации. Языки этого уровня называют также ассемблерами. Языки 1-го и 2-го уровней называются машинно-ориентиро­ванными языками или языками низкого уровня. Программирование задач на них занимает много времени, однако они лучше приспособлены для использования в ЭВМ.
  3. Языки, предназначенные для решения определенного класса задач и не зависящие от конкретного типа ЭВМ. Эти языки называются проблемно-ориентированными. Они содержат перечень типовых операций, используемых при решении данного класса задач и их условные наименования в терминах, привычных для специалистов в данной области. Например: Фортран и Алгол созданы для решения математических задач, Кобол — для решения экономических задач, Алгол-68 — для научных задач и моделирования, ПЛ /I (использует многие свойства языков Фортран, Алгол, Кобол, Паскаль) — для обработки больших массивов данных. Язык Simula используется для имитационного моделирования сложных систем, Basic — много­целевой, символический, обучающий, Lisp — для работы со списочными структурами, Java, С и C++ — универсальные языки. Для перевода этих языков на внутренний язык ЭВМ необходимо иметь специальные переводящие программы — трансляторы. Хотя время написания и отладки программы сокращается, но уменьшается эффективность использования характеристик конкретной ЭВМ при решении транслируемой программы.
  4. Высший на сегодняшний день уровень языков — языки описания сценариев, по существу уже системы программирования. Например, система Delphi, в основе которой лежит язык Object Pascal. Такие языки предназначены для связи между собой различных приложений и компонентов, повышения производительности труда. Это уже целые системы программирования, которые позволяют осуществлять прямое общение человека с минимальной подготовкой с машиной. Языки описания сценариев в системе связи обеспечивают легкий доступ к множеству существующих объектов, позволяют манипулировать тысячью объектами, облегчая труд программиста.

В системах программирования (Delphi, C++Builder фирмы Borland, Visual Basic, Visual C++ фирмы Microsoft) и в средах про­граммирования (Turbo Pascal и других) хорошо представлен визуальный интерфейс, позволяющий пользователям легко общаться с системой. Визуальная среда программирования включает средства разработки программ — компилятор, текстовый редактор, компо­новщик, отладчик, справочную систему и библиотеку программ.

Использование машинных языков еще сохраняется в АСУ ТП, но при решении типовых задач обработки данных в АИС применяются языки высокого уровня и системы программирования. Автоматическое программирование — методы перевода с входного языка на машинный язык для работы по подготовке и программированию задач на ЭВМ — находит все большее распространение. Выполняется мультипрограммирование, которое обеспечивает возможность использования для решения разных задач одних и тех же ресурсов ЭВМ, а также параллельной работы нескольких программ.

На сегодняшний день универсальными языками программирования, для которых характерны многоплатформенность, реализация всех основных структурных алгоритмических конструкций (условия, циклы), большие накопленные библиотеки подпрограмм и классов являются Pascal, С, C++, Basic, Modula, Ada, Java и др. Объектное представление программы использовано в новых версиях универсальных языков программирования: Object Pascal, C++, Java и др.

Кроме универсальных выделяют группы специализированных языков:

1. баз данных (например, FoxPro, Oracle);

2. создания сетевых приложений (например, MySQL, SQL Server и др);

3. создания систем искусственного интеллекта (например, MYZIN и др.);

4. пользователя (профессиональные среды пользователя).

Для эффективного применения ПО необходимо разрабатывать грамотную, понятную пользователям программную документацию: руководство программиста, руководство пользователя, руководство системного программиста, пояснительные записки и т. д. Правила составления документов приведены в указанных выше стандартах.

<== предыдущая лекция | следующая лекция ==>
Теплопроводность. Тепловой поток. Закон Фурье | Лекция №2. Основные понятия ПДС
Поделиться с друзьями:


Дата добавления: 2014-01-05; Просмотров: 9741; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.011 сек.