КАТЕГОРИИ: Архитектура-(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 — пакет научных прикладных программ, реализующих методы численного анализа и статистики. При выборе ППП обычно следует учитывать следующие факторы:
Часто ПО АС предназначено для решения задач управления, учета, отчетности, планирования, управления производством, распределением ресурсов, кадрового учета, бухгалтерской финансовой деятельности и т. д. ППП получили широкое распространения как инструмент автоматизации проектирования АСУ, создания САПР АСУ (систем автоматизирования проектирования АСУ) проблеммно-ориентированных систем. Для этой цели разработано большое количество общесистемных и функциональных ППП. Ниже приведены примеры ППП.
Следует обратить внимание на сетевые приложения. Это могут быть сетевые базы данных, почтовые системы, средства архивирования данных, системы автоматизации коллективной работы и т. д. Таким образом, ПО можно разделить на внутреннее, обеспечивающее нормальную работу ЭВМ, и внешнее, позволяющее потребителю решать на ЭВМ необходимые задачи ввода, обработки, анализа и вывода информации наиболее простым и удобным образом. Внутренне ПО состоит из эксплуатационных (тестовых и диагностических) программ, проверяющих исправность оборудования ЭВМ, системы программирования и операционной системы (рис. 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 позволяет использовать функции одной части ПО другой частью. На базе СОМ для разработки программного обеспечения были созданы компонентные технологии:
Технология CORBA (Common Object Request Broker Architecture — общая архитектура с посредником обработки запросов объектов) используется для создания распределенных приложений. Может работать на всех основных аппаратных и программных платформах. Для ускоренной разработки ПО применяют технологию RAD (Rapid Application Development). Она позволяет максимально быстро получить первые версии ПО. Эту технологию используют, в основном, для относительно небольших проектов, когда не требуется высокий уровень планирования и проектирования. Для больших систем, с большим количеством уникального кода эту технологию нельзя применять. Языки программирования для создания ПО могут быть выбраны, исходя из конкретных условий. Это связано со знанием программистом определенного языка, с наличием у организации-разработчика лицензионной версии системы программирования, решаемых задач и т. д. Современная тенденция заключается в стремлении приблизить язык программирования к человеческому языку, упростить его изучение и использование. Существующие языки программирования можно подразделить на четыре уровня:
В системах программирования (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. пользователя (профессиональные среды пользователя). Для эффективного применения ПО необходимо разрабатывать грамотную, понятную пользователям программную документацию: руководство программиста, руководство пользователя, руководство системного программиста, пояснительные записки и т. д. Правила составления документов приведены в указанных выше стандартах.
Дата добавления: 2014-01-05; Просмотров: 9741; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |