Информационные технологииStfw.Ru 🔍

Основные понятия программного обеспечения

Возможности компьютера как технической основы системы обработки данных связаны с используемым программным обеспечением (программами).
🕛 10.03.2009, 00:48
Программа (program, routine) - упорядоченная последовательность ко­манд (инструкций) компьютера для решения задачи. Программное обеспечение (sowtware) - совокупность программ обработ­ки данных и необходимых для их эксплуатации документов.

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

Задача (problem, task) - проблема, подлежащая решению. Приложение (application) - программная реализация на компьютере ре­шения задачи.

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

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

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

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

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

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

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

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

Схема процесса создания программ

Постановка задачи (problem definition) - это точная формулировка реше­ния задачи на компьютере с описанием входной и выходной информации.

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

К основным характеристикам функциональных задач, уточняемым в процессе ее фор­мализованной постановки, относятся:

цель или назначение задачи, ее место и связи с другими задачами;

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

содержание функций обработки входной информации при решении задачи;

требования к периодичности решения задачи;

ограничения по срокам и точности выходной информации;

состав и форма представления выходной информации;

источники входной информации для решения задачи;

пользователи задачи (кто осуществляет ее решение и пользуется результатами реше­ния).

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

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

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

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

Схема взаимосвязи входной и выходной информации для решения задачи

Алгоритм решения задачи имеет ряд обязательных свойств:

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

определенность алгоритма - однозначность выполнения каждого отдельного шага преобразования информации;

выполнимость - конечность действий алгоритма решения задач, позволяющая полу­чить желаемый результат при допустимых исходных данных за конечное число шагов;

массовость - пригодность алгоритма для решения определенного класса задач.

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

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

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

Программирование (programming) - теоретическая и практическая дея­тельность, связанная с созданием программ.

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

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

программиста. Вместе с тем программирование предполагает и рутинные работы, которые могут и должны иметь строгий регламент выполнения и соответствовать стандартам.

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

Программирование - это развитая отрасль хозяйственной деятельности, связанная со значительными затратами материальных, трудовых и финансовых ресурсов. По данным за­рубежных источников, в середине 90-х годов в мире было занято программированием до 2% трудоспособного населения. Совокупный оборот в сфере создания программных средств достигает нескольких сот миллиардов долларов в год.

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

Категории специалистов, занятых разработкой и эксплуатацией программ

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

Системный программист (system /software programmer, toolsmith) занимает-ся разработкой, эксплуатацией и сопровождением системного программного обеспечения, поддерживающего работоспособность компьютера и создающего среду для выполнения программ, обеспечивающих реализацию функциональных задач.

Прикладной программист (application programmer) осуществляет разработ­ку и отладку программ для решения функциональных задач.

В условиях создания больших по масштабам и функциям обработки программ появля­ется новая квалификация- программист-аналитик (programmer-analyst), кото­рый анализирует и проектирует комплекс взаимосвязанных программ для реализации функций предметной области.

В процессе создания программ на начальной стадии работ участвуют и специалис­ты- постановщики задач.

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

Основным потребителем программ служит конечный пользователь (end user), который, как правило, относится к категории пользователей-непрограммистов. Конеч­ный пользователь не является специалистом в области программирования, т. е. не владеет методами и технологией проектирования и создания программ, но имеет элементарные зна­ния и навыки работы с вычислительной техникой. Такая квалификационная характеристика пользователя программного обеспечения в значительной степени влияет на спецификацию требований к создаваемым программам, интерфейсам, формам машинных документов, тех­нологии решения задач на ЭВМ.

Возможна эксплуатация программ квалифицированными программистами или специ­ально обученными техническими работниками - операторами ЭВМ.

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

Программное обеспечение   Теги: По

Читать IT-новости в Telegram
Информационные технологии
Мы в соцсетях ✉