Главная » Просмотр файлов » М.М. ГОРБУНОВ-ПОСАДОВ - Системное обеспечение пакетов прикладных программ

М.М. ГОРБУНОВ-ПОСАДОВ - Системное обеспечение пакетов прикладных программ (1184225), страница 6

Файл №1184225 М.М. ГОРБУНОВ-ПОСАДОВ - Системное обеспечение пакетов прикладных программ (М.М. ГОРБУНОВ-ПОСАДОВ - Системное обеспечение пакетов прикладных программ.pdf) 6 страницаМ.М. ГОРБУНОВ-ПОСАДОВ - Системное обеспечение пакетов прикладных программ (1184225) страница 62020-08-19СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 6)

Однако, ее ли учесть, что такимипользователями являются прикладные программисты, то эти требованияпредставляются вполне приемлемыми [18,56,62-66].Отметим, что уровень требований, предъявляемых к прикладнымпрограммистам, решающим задачи с помощью пакета, обычно все женесколько ниже уровня требований, которые предъявлялись бы к ним припроведении тех же самых работ средствами штатного программногообеспечения. Однако для пакетов с активной дисциплиной проведениярасчетов на первый план нередко выдвигается не столько снижениепрофессиональных требований к пользователям, сколько повышениепроизводительности их труда.

Повышение производительности достигаетсяздесь, в частности, за счет использования специализированных системныхсредств модификации и сборки программ, отсутствующих в средеуниверсального штатного программного обеспечения. Эти различия вуровнях требований и в производительности труда характеризуют то,насколько повышается тематическая квалификация вычислительнойсистемы в случае использования данного пакета программ при решениирассматриваемого класса задач.Главная цель разработчика языка заданий пакета, обеспечивающегорешение прикладных задач в режиме пассивнойдисциплины, заключена в том, чтобы «спрятать» от конечного пользователяосновную массу алгоритмических подробностей решения его задачи, или,другими словами, повысить уровень непроцедурности языка [б7].

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

Расширяемость языка можетподдерживаться соответствующей инструментально-базовой системой[49,50] или же достигается путем прямого расширения возможностейсистемного наполнения.Язык заданий пакета может быть реализован как в формесамостоятельного языка, так и в форме встроенного языка, т.е. расширениясуществующего языка программирования. Независимо от формыреализации разработчик языка стремится к тому, чтобы лексика, синтаксиси семантика языковых конструкций были бы как можно ближе кпользовательскому восприятию решаемых прикладных задач. Важно нетолько опираться на понятия и терминологию предметной области исвойственной ей дисциплины работы, но и наглядно отразить в языкеосновные рабочие акты автоматизируемой прикладной деятельности.1.3.

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

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

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

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

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

В любом крупном программном проекте приходится в той илииной степени сталкиваться с каждым из этих мотивов. Однако при анализепричин декомпозиции программ на модули на первый план обычновыдвигаются соображения систематизации и упрощения разработкисложных программ. Исходя из этих соображений, рекомендуется выделять вкачестве модулей функционально самостоятельные независимые частипрограммы.Как отмечает Дейкстра [68], в основе такой модуляризации лежитопределенная дисциплина мышления. Согласно этой дисциплине, решениесложной проблемы можно упростить, разложив ее на ряд относительнонезависимых аспектов, каждый из которых допускает изолированноеизучение. Упомянутое разложение естественным образом отражается вструктуре обслуживающей данную проблему программы: каждому извыделенных аспектов соответствует отдельный программный модуль.Технические мотивы модуляризации, как правило, неплохо согласуютсядруг с другом.

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

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

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

На первый взгляд отличие заключается в том, что в обоихслучаях создаются одни и те же части программы, но в выполняемуюуниверсальную программу включается весь накопленный программныйматериал, а в расчетную программу пакета - лишьнекоторые отобранные модули. Конечно же, суть дела не в этом. Если бытребовалось всего лишь сократить размер выполняемой программы, этогоможно было бы достичь, например, отсекая ненужные в конкретном расчетекуски посредством техники смешанных вычислений, т.е. «специализируя»(«конкретизируя») универсальную программу постановкой решаемой задачи.Главное достоинство пакетного подхода к модуляризации - возможностьбезболезненного развития программного фонда.

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

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

Характеристики

Список файлов книги

Свежие статьи
Популярно сейчас
Почему делать на заказ в разы дороже, чем купить готовую учебную работу на СтудИзбе? Наши учебные работы продаются каждый год, тогда как большинство заказов выполняются с нуля. Найдите подходящий учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6360
Авторов
на СтудИзбе
310
Средний доход
с одного платного файла
Обучение Подробнее