II. Прикладное программное обеспечение.

Прикладное программное обеспечение (applications software) – это совокупность прикладных программ, предназначенных для решения определенных задач или для предоставления пользователю определенных услуг.

Эти услуги носят не общий, а специфический характер, отображающий особенности прикладной области.

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

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

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

Например, при проектировании заданий требуются средства поддержки графических операций, операций по синтезу, анализу и редактированию графических изображений и объектов (это графический процессор, например, AUTOCAD).

К типовым прикладным пакетам, имеющим широкий спрос в задачах передачи, сборы и обработки информации, относятся пакеты, обеспечивающие указанные операции в инвариантных спецификациях. Это пакеты и программные системы всемирной сети Internet, называемой “всемирной паутиной” (World wart web, www).

Целый класс проблемно-ориентированных пакетов в настоящее время представляют системы управления базами данных (СУБД).

Наиболее распространенные среди них – Fox Pro, Clipper, Paradox, среди сетевых СУБД – Oracle.

По мере развития средств проблемно-ориентированного программирования наблюдается тенденция к приобщению конкретного пользователя к глобальному информационному пространству.

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

1. Анализ требований, предъявляемых к программной системе;

2. Определение спецификаций;

3. Проектирование программ;

4. Кодирование;

5. Текстирование;

6. Документирование;

7. Эксплуатация и сопровождение.

I. При анализе требований, предъявляемых к программе, необходимо выделить следующие основные моменты и требования.

1. Цели и задачи издаваемого программного продукта;

2. Варианты реализации (поиск оптимального решения);

3. Форма выполнения;

4. Возможные изменения и коррекция и их особенности;

5. Ограничения на разработку;

6. Средства документирования и защиты от несанкционированного доступа;

7. Необходимость копирования и связи с другими программными системами;

8. Специфические особенности, связанные со взаимодействием с сетями и информационными системами.

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

II. На эти определения спецификаций осуществляется точное описание функций программной системы.

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

На этом этапе осуществляются следующие действия:

1. Определяются структуры входных и выходных данных;

2. разрабатываются описания условий и особенностей работы программного продукта;

3. определяются способы применения структур баз данных и их реорганизации, если это необходимо;

4. оценивается предполагаемое время выполнения, число специалистов, участвующих в разработке, компьютерные ресурсы, необходимые для реализации проекта;

5. разрабатываются условия тестирования продукта;

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

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

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

IV. Этап кодирования заключается в составлении описания алгоритма на выбранном языке программирования.

Этот этап является формально наиболее простым и его реализация целиком зависит от того, насколько хорошо разработаны программные алгоритмы и какой квалификацией обладает программист.

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

Этап тестирования не гарантирует полного исправления ошибок, но избавляет программу от наиболее очевидных ошибок.

Тестирование разделяется на три стадии:

- автономное тестирование;

- комплексное;

- системное.

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

После автономного выполняется комплексное тестирование.

Здесь тестируются все модули при их совместной работе и выявляются ошибки, пропущенные на стадии автономного тестирования.

Системное тестирование – это завершающий этап тестирования, при котором полный программный продукт проверяется системой программирования и операционной системой.

С этапом тестирования тесно связаны такие важные параметры программы как надежность и правильность.

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

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

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

VI. Этап документирования программы заключается в описании всего процесса проектирования в виде различных документов.

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

1. имя программы и общее функциональное описание;

2. описание спецификаций, включая описание структур данных, их особенностей, областей их хранения;

3. описания баз данных, словарей и библиотек и способов доступа к ним, описание способов модифицирования данных;

4. описание способов проектирования, нумерации программных модулей, порядок их разработки и характер связей между модулями;

5. описание особенностей интерфейса пользователей и инструкции для пользователя, описание применяемой среды программирования и операционной системы;

6. текстовые данные и результаты тестирования;

7. списки исправлений и ошибок;

8. справочный указатель для документации.

Указанные составляющие документации нужны в полном объеме при разработке общего программного продукта, состоящего из ряда модулей.

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

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

Этот этап часто является наиболее трудоемким с точки зрения временных затрат и составляет иногда да 60% от общих затрат на разработку.

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

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

В любом случае этот последний этап должен быть тщательно обсужден на предварительных этапах между заказчиком и исполнителем.

Интерфейс пользователя

Наши рекомендации