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

Поделись знанием:
Перейти к: навигация, поиск

Паке́т прикладны́х програ́мм (аббр. ППП, англ. application package[1]) или паке́т програ́мм — набор взаимосвязанных модулей, предназначенных для решения задач определённого класса некоторой предметной области. По смыслу ППП было бы правильнее назвать пакетом модулей вместо устоявшегося термина пакет программ. Отличается от библиотеки тем, что создание библиотеки не ставит целью полностью покрыть нужды предметной области, так как приложение может использовать модули нескольких библиотек. Требования же к пакету программ жёстче: приложение для решения задачи должно использовать только модули пакета, а создание конкретного приложения может быть доступно непрограммистам[2].

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





Цепочечный подход

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

В следующем примере данные об объёмах хранящихся в текущем каталоге подкаталогов вычисляются (команда du), сортируются (sort), выбираются 10 занимающих наибольший объём (tail), отбрасывается первое поле с числом (cut) и результат печатается на принтере (lpr):

du . | sort -n | tail -n 10 | cut -f 2- | lpr

Цепочечный подход в ряде случаев можно автоматизировать, поручив построение цепочки системным средствам пакета[3]. Помимо перечислительного механизма к созданию цепочки (явное задание входящих в цепочку модулей), возможен ассоциативный механизм, при котором модуль включается системными средствами в формируемую программу на основании некоторого атрибута. В случае, когда пользователь задаёт известные и искомые величины, восстановление цепочки средствами системы называется автоматическим планированием вычислений. Несмотря на некоторые достоинства и отдельные успехи (системы ПРИЗ и СПОРА), автоматическое планирование вычислений не получило массового развития по причине бедности цепочки как конфигурационного ориентира[4].

Каркасный подход

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

Задание конкретной конфигурации для пользователя упрощается. Гнёзда каркаса — отражение характеристик решаемой задачи, в сменные модули — допустимые значения этих характеристик[5].

Например, в каркасе с двумя вариантными гнёздами может описать конфигурацию расчёта, не касаясь алгоритма задачи: Материал ← Алюминий, Точность ← Двойная.

В отличие от цепочечного, каркасный подход даёт больше свободы в проектировании структуры формируемой программы, что является предпочтительным для большинства предметных областей[5].

Виды пакетов

Можно выделить следующие виды ППП[6]:

Напишите отзыв о статье "Пакет прикладных программ"

Примечания

  1. Кочергин В. И. Введение // Англо-русский толковый научно-технический словарь по системному анализу, программированию, электронике и электроприводу. — Томск, 2008. — Т. 1. — С. 31. — 652 с. — ISBN 5751119371.
  2. 1 2 Горбунов-Посадов, 1999.
  3. 1 2 Горбунов-Посадов, 1999, 3.2. Цепочечный подход.
  4. Горбунов-Посадов, 1999, 3.3. Автоматическое составление цепочки.
  5. 1 2 3 Горбунов-Посадов, 1999, 3.6. Каркасный подход.
  6. [www.klgtu.ru/students/literature/inf_asu/590.html Топоркова О. М. Учебное пособие по информатике. Пакеты прикладных программ, Калининградский государственный технический университет]

Литература и ссылки

  • Горбунов-Посадов М.М. [keldysh.ru/gorbunov/p301.htm Глава 3. Пакет программ] // Расширяемые программы. — М.: Полиптих, 1999. — 336 с.
  • [systech.miem.edu.ru/2004/n2/Litvinenko.htm Литвиненко А. Н., Кручинин А. Н. Метод модификации программного кода на основе компонентного подхода.] Ростовский государственный университет
  • [www.4stud.info/ppp/ Анатольев А. Г., АСОИУ ОмГТУ, Учебно-методический комплекс по дисциплине «Пакеты прикладных программ»]
  • [www.maksakov-sa.ru/ProgrProd/klasProgProd/PaketProgrObes/index.html Пакеты прикладных программ и их классификация на сайте www.maksakov-sa.ru/]


Отрывок, характеризующий Пакет прикладных программ

– Так вы думаете, что завтрашнее сражение будет выиграно? – сказал Пьер.
– Да, да, – рассеянно сказал князь Андрей. – Одно, что бы я сделал, ежели бы имел власть, – начал он опять, – я не брал бы пленных. Что такое пленные? Это рыцарство. Французы разорили мой дом и идут разорить Москву, и оскорбили и оскорбляют меня всякую секунду. Они враги мои, они преступники все, по моим понятиям. И так же думает Тимохин и вся армия. Надо их казнить. Ежели они враги мои, то не могут быть друзьями, как бы они там ни разговаривали в Тильзите.
– Да, да, – проговорил Пьер, блестящими глазами глядя на князя Андрея, – я совершенно, совершенно согласен с вами!
Тот вопрос, который с Можайской горы и во весь этот день тревожил Пьера, теперь представился ему совершенно ясным и вполне разрешенным. Он понял теперь весь смысл и все значение этой войны и предстоящего сражения. Все, что он видел в этот день, все значительные, строгие выражения лиц, которые он мельком видел, осветились для него новым светом. Он понял ту скрытую (latente), как говорится в физике, теплоту патриотизма, которая была во всех тех людях, которых он видел, и которая объясняла ему то, зачем все эти люди спокойно и как будто легкомысленно готовились к смерти.
– Не брать пленных, – продолжал князь Андрей. – Это одно изменило бы всю войну и сделало бы ее менее жестокой. А то мы играли в войну – вот что скверно, мы великодушничаем и тому подобное. Это великодушничанье и чувствительность – вроде великодушия и чувствительности барыни, с которой делается дурнота, когда она видит убиваемого теленка; она так добра, что не может видеть кровь, но она с аппетитом кушает этого теленка под соусом. Нам толкуют о правах войны, о рыцарстве, о парламентерстве, щадить несчастных и так далее. Все вздор. Я видел в 1805 году рыцарство, парламентерство: нас надули, мы надули. Грабят чужие дома, пускают фальшивые ассигнации, да хуже всего – убивают моих детей, моего отца и говорят о правилах войны и великодушии к врагам. Не брать пленных, а убивать и идти на смерть! Кто дошел до этого так, как я, теми же страданиями…
Князь Андрей, думавший, что ему было все равно, возьмут ли или не возьмут Москву так, как взяли Смоленск, внезапно остановился в своей речи от неожиданной судороги, схватившей его за горло. Он прошелся несколько раз молча, но тлаза его лихорадочно блестели, и губа дрожала, когда он опять стал говорить:
– Ежели бы не было великодушничанья на войне, то мы шли бы только тогда, когда стоит того идти на верную смерть, как теперь. Тогда не было бы войны за то, что Павел Иваныч обидел Михаила Иваныча. А ежели война как теперь, так война. И тогда интенсивность войск была бы не та, как теперь. Тогда бы все эти вестфальцы и гессенцы, которых ведет Наполеон, не пошли бы за ним в Россию, и мы бы не ходили драться в Австрию и в Пруссию, сами не зная зачем. Война не любезность, а самое гадкое дело в жизни, и надо понимать это и не играть в войну. Надо принимать строго и серьезно эту страшную необходимость. Всё в этом: откинуть ложь, и война так война, а не игрушка. А то война – это любимая забава праздных и легкомысленных людей… Военное сословие самое почетное. А что такое война, что нужно для успеха в военном деле, какие нравы военного общества? Цель войны – убийство, орудия войны – шпионство, измена и поощрение ее, разорение жителей, ограбление их или воровство для продовольствия армии; обман и ложь, называемые военными хитростями; нравы военного сословия – отсутствие свободы, то есть дисциплина, праздность, невежество, жестокость, разврат, пьянство. И несмотря на то – это высшее сословие, почитаемое всеми. Все цари, кроме китайского, носят военный мундир, и тому, кто больше убил народа, дают большую награду… Сойдутся, как завтра, на убийство друг друга, перебьют, перекалечат десятки тысяч людей, а потом будут служить благодарственные молебны за то, что побили много люден (которых число еще прибавляют), и провозглашают победу, полагая, что чем больше побито людей, тем больше заслуга. Как бог оттуда смотрит и слушает их! – тонким, пискливым голосом прокричал князь Андрей. – Ах, душа моя, последнее время мне стало тяжело жить. Я вижу, что стал понимать слишком много. А не годится человеку вкушать от древа познания добра и зла… Ну, да не надолго! – прибавил он. – Однако ты спишь, да и мне пера, поезжай в Горки, – вдруг сказал князь Андрей.
– О нет! – отвечал Пьер, испуганно соболезнующими глазами глядя на князя Андрея.
– Поезжай, поезжай: перед сраженьем нужно выспаться, – повторил князь Андрей. Он быстро подошел к Пьеру, обнял его и поцеловал. – Прощай, ступай, – прокричал он. – Увидимся ли, нет… – и он, поспешно повернувшись, ушел в сарай.
Было уже темно, и Пьер не мог разобрать того выражения, которое было на лице князя Андрея, было ли оно злобно или нежно.
Пьер постоял несколько времени молча, раздумывая, пойти ли за ним или ехать домой. «Нет, ему не нужно! – решил сам собой Пьер, – и я знаю, что это наше последнее свидание». Он тяжело вздохнул и поехал назад в Горки.
Князь Андрей, вернувшись в сарай, лег на ковер, но не мог спать.
Он закрыл глаза. Одни образы сменялись другими. На одном он долго, радостно остановился. Он живо вспомнил один вечер в Петербурге. Наташа с оживленным, взволнованным лицом рассказывала ему, как она в прошлое лето, ходя за грибами, заблудилась в большом лесу. Она несвязно описывала ему и глушь леса, и свои чувства, и разговоры с пчельником, которого она встретила, и, всякую минуту прерываясь в своем рассказе, говорила: «Нет, не могу, я не так рассказываю; нет, вы не понимаете», – несмотря на то, что князь Андрей успокоивал ее, говоря, что он понимает, и действительно понимал все, что она хотела сказать. Наташа была недовольна своими словами, – она чувствовала, что не выходило то страстно поэтическое ощущение, которое она испытала в этот день и которое она хотела выворотить наружу. «Это такая прелесть был этот старик, и темно так в лесу… и такие добрые у него… нет, я не умею рассказать», – говорила она, краснея и волнуясь. Князь Андрей улыбнулся теперь той же радостной улыбкой, которой он улыбался тогда, глядя ей в глаза. «Я понимал ее, – думал князь Андрей. – Не только понимал, но эту то душевную силу, эту искренность, эту открытость душевную, эту то душу ее, которую как будто связывало тело, эту то душу я и любил в ней… так сильно, так счастливо любил…» И вдруг он вспомнил о том, чем кончилась его любовь. «Ему ничего этого не нужно было. Он ничего этого не видел и не понимал. Он видел в ней хорошенькую и свеженькую девочку, с которой он не удостоил связать свою судьбу. А я? И до сих пор он жив и весел».