ВВЕДЕНИЕ
Широкое применение современных информационных технологий в различных областях деятельности человека привело к интенсивному развитию программного обеспечения (ПО) – совокупности программных средств, предназначенных для создания, обслуживания и нормального функционирования систем обработки информации на основе вычислительной техники.
Производство ПО сегодня – крупнейшая отрасль мировой экономики, в которой занято около трех миллионов специалистов (программистов, разработчиков ПО и т.п.), причем, кроме непосредственной занятости в индустрии ПО (т.е. рабочих мест в области исследований, разработки, маркетинга, продаж) существует и косвенная занятость. К сфере косвенной занятости восходящего типа относятся рабочие места в производстве, которое обеспечивает все необходимое для оформления ПО как продукта (полиграфия, тиражирование, упаковка, логистика). Косвенная занятость нисходящего типа охватывает услуги, которые реализуются на стадии продвижения ПО (реселлинг, дистрибьюция, консультирование, тренинг, рекрутинг). Так что еще несколько миллионов человек напрямую зависят от благополучия корпоративных информационных подразделений, либо от производителей ПО, таких, как корпорации Microsoft, Oracle, SAP AG, Adobe и других рангом пониже.
Рынок ПО составляет пятую часть всего мирового рынка информационных технологий (табл.).
Таблица – Развитие рынка ИТ и ПО
Год
|
Рынок ИТ,
млрд. долл.
|
Рынок ПО, млрд. долл.
|
Доля ПО, %
|
1997
1999
2000
2003 (прогноз)
|
720,4
840
940
1200
|
115,3
155,4
183,3
268,8
|
16
18,5
19,5
22,4
|
Программное обеспечение можно разделить на два класса: системное ПО, предназначенное для управления процессом обработки информации в компьютере, и прикладное ПО, предназначенное для решения конкретных задач пользователя.
В предлагаемом учебном пособии рассмотрена основная составляющая прикладного ПО – пакеты прикладных программ (ППП): классификация, структура, этапы разработки, вопросы качества и надежности. В заключение приведено описание некоторых ППП, широко используемых в экономической сфере.
1 ПОНЯТИЕ И КЛАССИФИКАЦИЯ ПАКЕТОВ ПРИКЛАДНЫХ ПРОГРАММ
1.1 Определение ППП. Этапы развития ППП
Прикладной называют программу для решения конкретной задачи пользователя. С развитием компьютерных технологий были выделены наборы взаимосвязанных задач, которые требовалось решать в интересах определенных групп пользователей. Естественно было объединить прикладные программы связанных задач в комплекс программ, разработать такой комплекс централизованно и поставлять его отдельным пользователям и заинтересованным организациям. С конца 60-х годов многофункциональные комплексы взаимосвязанных программ стали называть пакетами прикладных программ (ППП).
Формальной границы между прикладной программой и ППП нет, поскольку любой ППП можно рассматривать как прикладную программу. По мере разработки все большего числа прикладных программ появлялись и новые определения того, что следует понимать под пакетом программ.
Вместе с тем концепция ППП, переход от отдельных программ к пакетам – это переход к новому качеству прикладного ПО.
Рассмотрим концепцию ППП на примере программ для решения расчетных задач (все многообразие прикладного ПО можно разделить на два больших класса: «расчетчики» и «анализаторы»). Расчетными будем называть задачи, в которых входные и выходные данные являются числовыми, количество этих данных сравнительно невелико, решение задачи получается в результате применения численных методов. К расчетным задачам можно отнести выполнение расчетов по формулам, решение систем линейных и нелинейных уравнений, численное дифференцирование и интегрирование, определение экстремумов функций и т.п.
Исходные данные для решения расчетной задачи могут задаваться или все сразу в начале выполнения программы, решающей задачу, или поступать порциями (записями, сообщениями).
Решение многих расчетных задач укладывается в типовую схему, включающую последовательные шаги ввода исходных данных, выполнения вычислений и вывода результатов. В ряде случаев решение расчетных задач сводится к последовательному применению нескольких алгоритмов (программ). Например, при решении систем обыкновенных дифференциальных уравнений, составляющих математическую модель рыночной экономики, может потребоваться сначала провести расчет начальных условий и коэффициентов уравнений, а после решения системы уравнений вычислить обобщенные характеристики исследуемого процесса по заданным формулам.
Можно выделить несколько типовых подходов к организации применения ЭВМ для решения расчетных задач. Эти подходы, рассматриваемые в историческом плане, можно считать этапами развития ППП:
1. При возникновении потребности в решении конкретной задачи оставляется и отлаживается программа или несколько последовательно выполняемых программ. Для программирования используется один из универсальных языков программирования (Basic, Pascal, Fortran, C, C++ , Assembler и т.д.).
2. Заранее составляются подпрограммы реализации типовых шагов алгоритмов, например, для реализации методов численного анализа, преобразования форм представления данных и т.п. Такие готовые подпрограммы накапливаются в форме исходных или объектных модулей в библиотеке, размещаемой на магнитном диске. При составлении прикладной программы в нее включаются обращения к библиотечным подпрограммам. Сами библиотечные подпрограммы присоединяются к прикладной программе в процессе трансляции (исходные модули) или при редактировании связей (объектные модули).
Библиотеку готовых подпрограмм уже можно рассматривать как ППП, используемый совместно с прикладной программой. Примерами таких ППП являются пакеты научных подпрограмм на языках ПЛ/1, Алгол и Фортран, которые использовались на БЭСМ-6 и ЕС ЭВМ в 70-е и 80-е годы..
3. Для совокупности родственных задач разрабатывается ППП, охватывающий некоторую предметную область. Здесь ППП – это совокупность программных модулей, между которыми установлены связи по управлению и по данным в соответствии с решаемой прикладной задачей. Модули пакета могут объединяться в программы, а программы – использовать общие файлы данных. Для запуска программ пакета в нужной последовательности могут использоваться средства операционной системы. Для решения новой прикладной задачи нужно готовить соответствующие исходные данные и разрабатывать последовательность обращений к операционной системе (ОС) для выполнения программ пакета в требуемой последовательности. Пользователь, применяющий такой пакет, должен знать назначение, входные и выходные данные программ пакета, а также команды ОС для запуска этих программ.
4. Дальнейшим развитием ППП стало построение пакетов с собственным языком управления – входным языком пакета (ВЯ). От пользователя требуется составление описания задачи, которую требуется решить, на ВЯ пакета и подготовка необходимых данных. Для запуска такого пакета обычно требуются минимальные сведения об используемой ОС.
Перечисленные выше четыре подхода к применению ЭВМ предполагают различную квалификацию пользователей.
Для реализации первого подхода требуется знание языка программирования, языка управления ОС и, разумеется, знание прикладной предметной области. Иначе говоря, первый подход типичен для специалиста в области прикладного программирования.
Это в полной мере относится и ко второму из рассматриваемых подходов, но применение библиотек подпрограмм обеспечивает повышение производительности труда прикладного программиста.
В третьем подходе функции прикладного программиста и пользователя пакета разделены. Прикладной программист разрабатывает пакет программ, для чего обычно требуется более высокий уровень квалификации, чем для разработки отдельных программ. От пользователя пакета требуются знание правил применения пакета и квалификация в той предметной области, к которой относятся задачи, решаемые с применением пакета, а также ограниченные сведения об используемой ОС.
Четвертый подход требует от пользователя пакета еще меньшей квалификации в области программирования, для него достаточно изучить сравнительно несложный входной язык пакета.
В настоящее время термин «пакет прикладных программ» применяется к комплексам программ различной сложности и назначения. Отметим, что наряду с этим термином сейчас все чаще используются понятия программного приложения или информационно-вычислительной системы.
Итак, назовем ППП совокупностью совместимых программ для решения задач определенного класса. ППП всегда ориентируется на пользователей определенной квалификации как в программировании, так и в той области, к которой относятся задачи решаемые с применением этого ППП.
Совместимость программ, составляющих ППП, означает возможность их взаимного использования, общность структуры управляющих данных и используемых информационных массивов. Кроме того, ППП следует рассматривать как самостоятельное программное изделие, как особый вид прикладного ПО.
Исходя из определения, можно выделить некоторые общие свойства ППП:
Пакет состоит из нескольких программных единиц.
Пакет предназначен для решения определенного класса задач и в пределах своего класса обладает определенной универсальностью, т.е. позволяет решать большинство задач этого класса.
Пакет допускает настройку на конкретные условия применения, т.е. в пакете предусмотрены средства управления, позволяющие выбирать конкретные возможности из числа предусмотренных.
Пакет разработан с учетом возможности его использования за пределами той организации, в которой он создан, и удовлетворяет общим требованиям к программному изделию:
соответствует существующим стандартам;
снабжается пользовательской документацией;
допускает возможность послепродажного обслуживания;
имеет установленную цену;
документация и способы применения пакета ориентированы на пользователя, имеющего определенный уровень квалификации в той области знаний, к которой относятся решаемые пакетом задачи.
Поскольку ППП предназначен для решения задач определенного класса, можно говорить о функциональном назначении пакета.
Рассмотрим классификацию ППП по их функциональному назначению (рис. 1).
|