Проблемно-ориентированное ПО




Это самый представительный класс прикладного ПО. Внутри него проводится классификация по:

· типам предметных областей;

· информационным системам;

· функциям и комплексам задач и др.

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

· автоматизированный бухгалтерский учет;

· финансовая деятельность;

· управление персоналом (кадровый учет);

· управление материальными запасами;

· управление производством;

· банковские информационные системы и т.п.

Основные тенденции в области развития проблемно-ориентированных программ:

· создание автоматизированных рабочих мест (АРМ) управленческого персонала;

· создание интегрированных систем управления предметной областью;

· организация больших распределенных баз данных

· наличие простых языковых средств пользователя для запросов к базе данных;

· настройка программной системы силами пользователей без участия программистов;

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

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

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

Методо-ориентированное ПО

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

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

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

25. Прикладное ПО: классификация, сервисное системное ПО.

Прикладное ПО

Прикладное ПО предназначено для решения функциональных задач конкретной предметной области.

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

Примерная классификация прикладного ПО представлена на рис 12.4.


Рис 12.4. Виды прикладного ПО

Сервисное системное ПО

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

· антивирусные программы, обеспечивающие защиту компьютера, обнаружение и восстановление зараженных файлов;

· программы диагностики работоспособности компьютера;

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

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

· программы обслуживания сети.

Эти программы часто называют утилитами.

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

Примеры комплектов утилит: Norton Utilities фирмs Symantec, Checkit PRO Deliuxe фирмs Touch Stone, Dr Hardware.

Наиболее известные антивирусные программы: AVP лаборатории Касперского, DrWeb компании Доктор Веб, Norton Antivirus фирмы Symantec, NOD32фирмыEset Software, Panda фирмыPanda Software, McAfee VirusScan, Ad-Aware.

26. Базовое системное ПО.

В базовое ПО входят:

· операционная система,

· операционные оболочки,

· сетевые средства.

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

Ведущее положение на ПК занимает ОС Windows разных версий фирмы Microsoft. На ПК Macintosh используется ОС MacOS. Фирма IBM разработала ОС OS/2, которая сейчас на ПК не используется. ОС Unix разработала и поддерживает фирма Bell Laboratory. Развивается ОС Linux.

Все ОС сейчас являются:

· многопоточными – способны чередовать несколько цепочек команд,

· многозадачными – одновременно выполняют несколько программ (процессов),

· графическими – управляют каждой точкой на экране,

· 32-64 разрядными – используют для хранения адреса памяти 32-64 двоичных разряда,

Имеются многопроцессорные ОС, которые способны управлять десятками и сотнями процессоров. Различают два вида многопроцессорности: асимметричную и симметричную. При асимметричной обработке один или несколько процессоров обслуживают только ОС. При симметричной обработке любой поток или задача могут быть поручены любому свободному процессору. Разрабатываются средства кластерных вычислений, в которых выполнение одной задачи производится сразу на нескольких компьютерах в сети.

Сравнение ОС осуществляется по следующим характеристикам процесса обработки информации:

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

· функциональные возможности вспомогательных программ в составе операционной системы;

· возможность архивирования файлов;

· поддержка многозадачного режима работы;

· поддержка сетевого программного обеспечения;

· наличие компрессии диска;

· наличие качественной документации,

· условия и сложность процесса инсталляции.

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

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

Наиболее популярны следующие виды текстовых оболочек операционной системы: Проводник, Total Commander.

Сетевые средства - комплекс программ, обеспечивающий обработку, передачу и хранение данных в сети. Сетевая ОС предоставляет пользователям сетевые службы: паролирование, управление файлами, электронная почта, процессы управления сетью и др., поддерживает работу в абонентских системах. Сетевые операционные системы используют архитектуру с выделенным сервером или одноранговую архитектуру. Вначале сетевые операционные системы поддерживали лишь локальные вычислительные сети, сейчас они распространяются на ассоциации локальных сетей. Наибольшее распространение имеют LAN Server, Novell NetWare, Windows Server, Unix.

27. Общего назначения, офисное.

Офисное ПО

Данный класс программных продуктов обеспечивает деятельность офиса:

1. 0рганайзеры (планировщики)

Планирование рабочего времени, составление протоколов встреч, расписаний, ведения записной и телефонной книжки.

2. Программы - переводчики, средства проверки орфографии, программы визуального и звукового распознавания текста.

К ним относятся: CuneiForm, Lingvo, Magic Goody, Promt, FineReader.

3. Коммуникационные программы.

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

28. Системное ПО: классификация, сервисное системное ПО.

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

Без системного ПО аппаратура компьютера и компьютерной сети не сможет работать.

Системное ПО состоит из базового и сервисного системного ПО (рис 12.5). Базовое ПО поставляется вместе с компьютером. Сервисное ПО приобретается дополнительно.

 
 

Рис 12.5. Виды системного ПО

Платформа – сочетание аппаратуры компьютера и операционной системы.

Сервисное системное ПО

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

· антивирусные программы, обеспечивающие защиту компьютера, обнаружение и восстановление зараженных файлов;

· программы диагностики работоспособности компьютера;

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

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

· программы обслуживания сети.

Эти программы часто называют утилитами.

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

Примеры комплектов утилит: Norton Utilities фирмs Symantec, Checkit PRO Deliuxe фирмs Touch Stone, Dr Hardware.

Наиболее известные антивирусные программы: AVP лаборатории Касперского, DrWeb компании Доктор Веб, Norton Antivirus фирмы Symantec, NOD32фирмыEset Software, Panda фирмыPanda Software, McAfee VirusScan, Ad-Aware.

29. Базовое системное ПО.

В базовое ПО входят:

· операционная система,

· операционные оболочки,

· сетевые средства.

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

Ведущее положение на ПК занимает ОС Windows разных версий фирмы Microsoft. На ПК Macintosh используется ОС MacOS. Фирма IBM разработала ОС OS/2, которая сейчас на ПК не используется. ОС Unix разработала и поддерживает фирма Bell Laboratory. Развивается ОС Linux.

Все ОС сейчас являются:

· многопоточными – способны чередовать несколько цепочек команд,

· многозадачными – одновременно выполняют несколько программ (процессов),

· графическими – управляют каждой точкой на экране,

· 32-64 разрядными – используют для хранения адреса памяти 32-64 двоичных разряда,

Имеются многопроцессорные ОС, которые способны управлять десятками и сотнями процессоров. Различают два вида многопроцессорности: асимметричную и симметричную. При асимметричной обработке один или несколько процессоров обслуживают только ОС. При симметричной обработке любой поток или задача могут быть поручены любому свободному процессору. Разрабатываются средства кластерных вычислений, в которых выполнение одной задачи производится сразу на нескольких компьютерах в сети.

Сравнение ОС осуществляется по следующим характеристикам процесса обработки информации:

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

· функциональные возможности вспомогательных программ в составе операционной системы;

· возможность архивирования файлов;

· поддержка многозадачного режима работы;

· поддержка сетевого программного обеспечения;

· наличие компрессии диска;

· наличие качественной документации,

· условия и сложность процесса инсталляции.

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

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

Наиболее популярны следующие виды текстовых оболочек операционной системы: Проводник, Total Commander.

Сетевые средства - комплекс программ, обеспечивающий обработку, передачу и хранение данных в сети. Сетевая ОС предоставляет пользователям сетевые службы: паролирование, управление файлами, электронная почта, процессы управления сетью и др., поддерживает работу в абонентских системах. Сетевые операционные системы используют архитектуру с выделенным сервером или одноранговую архитектуру. Вначале сетевые операционные системы поддерживали лишь локальные вычислительные сети, сейчас они распространяются на ассоциации локальных сетей. Наибольшее распространение имеют LAN Server, Novell NetWare, Windows Server, Unix.

30. Локальные средства разработки программ.

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

Языки программирования можно исторически разделить на классы:

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

Последние, в свою очередь, подразделяются на поколения:

1. структурно-ориентированные - языки программирования, в которых алгоритм реализуется структурами последовательности, выбора и цикла,

2. процедурно-ориентированные - языки программирования, где имеется возможность описания программы как совокупности подпрограмм,

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

4. объектно-ориентированные - языки программирования, где имеется возможность представления программы как совокупности объектов, поведение которых управляется внешними событиями.


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

Рис 12.6. Этапы преобразования программы

Исходный код – текст отдельной программы на алгоритмическом языке.

Объектный код - текст отдельной программы на машинном языке или на языке ассемблера.

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

На этапе трансляции происходит преобразование исходного кода программы в объектный код. Трансляцию выполняет специальная программа под названием транслятор или компилятор.

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

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

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

Средства поддержки проектов предназначены для:

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

31. CASE-технология: общие положения.

САSЕ - технология сформировалась в 80-х годах ХХ века. САSЕ расшифровывается как Computer-Aided System Engineering – проектирование систем с помощью компьютера.

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

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

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

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

Устойчивое положение они занимают в следующих областях:

· бизнес-анализ (фактически, модели деятельности предприятий "как есть" и «как должно быть" строятся с применением методов структурного системного анализа и поддерживающих их CASE-средств);

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

Некоторые САSЕ-средства ориентированы только на системных проектировщиков и предоставляют специальные графические инструменты для изображения различного вида моделей:

· диаграмма/ потоков данных (DFD - data flow diagrams) совместно со словарями данных и спецификациями процессов;

· диаграмма "сущность-связь" (ERD - entity relationship diagrams), являющуюся инфологической моделью предметной области;

· диаграмма переходов состояний (STD - state transition diagrams), учитывающую события и реакцию на них системы обработки данных.

Диаграмма DFD устанавливает связь источников информации с потребителями, выделяет логические функции (процессы) преобразования информации, определяет группы элементов данных и их хранилища (базы данных).

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

Выполняются автоматизированное проектирование спецификаций программ (задание основных характеристик для разработки программ) и ведение словаря данных.

Другой класс САSЕ-технологий поддерживает только разработку программ, включая:

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

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

· документирование программ согласно принятым стандартам и актуальному состоянию проекта;

· тестирование и отладку программ.

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

Большинство САSЕ-технологий использует также метод "прототипов" для быстрого создания программ на ранних этапах разработки. Кодогенерация программ осуществляется автоматически - до 85 - 90% текстов на языках высокого уровня.

К CASE – средствам, например, относятся BPWin, ERWin, Rational Rose, Embarcadero, xCase.

32. CASE-технология: классификация по типам.

Классификация по типам отражает функциональную ориентацию CASE-средств в технологическом процессе создания информационной системы.

1) АНАЛИЗ И ПРОЕКТИРОВАНИЕ. Средства данной группы используются для создания спецификаций системы и для ее проектирования. Их целью является определение системных требований и свойств, которыми система должна обладать, а также создание проекта системы, удовлетворяющей этим требованиям и обладающей соответствующими свойствами. На выходе продуцируются спецификации компонент системы и интерфейсов, связывающих эти компоненты, а также "калька" архитектуры системы и детальная "калька" проекта, включающая алгоритмы и определения структур данных. К таким средствам относятся: CASE.Аналитик (Эйтэкс), The Developer (ASYST Technologies), POSE (Computer Systems Advisers), ProKit*Workbench (McDonnell Douglas), Excelerator (Index Technology), Design-Aid (Nastec), Design Machine (Optima), MicroStep (Meta Systems), vsDesigner (Visual Software), Analist/Designer (Yourdon), Design/IDEF (Meta Software), BPWin (Logic Works), SELECT (Select Software Tools), System Architect (Popkin Software & Systems), Westmount I-CASE Yourdon (Westmount Technology B.V. & CADRE Technologies), CASE/4/0 (microTOOL GmbH).

2) ПРОЕКТИРОВАНИЕ БАЗ ДАННЫХ И ФАЙЛОВ. Средства данной группы обеспечивают логическое моделирование данных, автоматическое преобразование моделей данных в Третью Нормальную Форму, автоматическую генерацию схем БД и описаний форматов файлов на уровне программного кода: ERWin (Logic Works), Chen Toolkit (Chen & Asssociates), S-Designor (SDP), Designer2000 (Oracle), Silverrun (Computer Systems Advisers).

3) ПРОГРАММИРОВАНИЕ. Средства этой группы поддерживают этапы программирования и тестирования, а также автоматическую кодогенерацию из спецификаций, получая полностью документированную выполняемую программу: COBOL 2/Workbench (Mikro Focus), DECASE (DEC), NETRON/CAP (Netron), APS (Sage Software). Помимо диаграммеров различного назначения и средств поддержки работы с репозитарием, в эту группу средств включены и традиционные генераторы кодов, анализаторы кодов, генераторы наборов тестов, анализаторы покрытия тестами, отладчики.

4) СОПРОВОЖДЕНИЕ И РЕИНЖИНИРИНГ. К таким средствам относятся документаторы, анализаторы программ, средства реструктурирования и реинжениринга: Adpac CASE Tools (Adpac), Scan/COBOL u Superstructure (Computer Data Systems), Jnspector/Recoder (Language Technology). Их целью является корректировка, изменение, анализ, преобразование и реинжениринг существующей системы. Средства позволяют осуществлять поддержку всей системной документации, включая коды, спецификации, наборы тестов; контролировать покрытие тестами для оценки полноты тестируемости; управлять функционированием системы и т.п. Особый интерес представляют средства обеспечения мобильности и реинжиниринга. К средствам миграции относятся трансляторы, конверторы, макрогенераторы и др., позволяющие обеспечить перенос существующей системы в но­вое операционное или аппаратурное окружение. Средства реинжиниринга включают:

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

o динамические анализаторы (обычно, компиляторы и интерпретаторы с встроенными отладочными возможностями);

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

o редакторы кодов, автоматически изменяющие при редактировании и все предшествующие коду структуры (например, спецификации);

o средства доступа к спецификациям, их модификации и генерации нового (модифицированного) кода;

o средства реверсного инжиниринга, транслирующие коды в спецификации.

5) ОКРУЖЕНИЕ. Средства поддержки платформ для интеграции, создания и придания товарного вида CASE-средствам: Multi/Cam (AGS Management Systems), Design/OA (Meta Software).

6) УПРАВЛЕНИЕ ПРОЕКТОМ. Средства, поддерживающие планирование, контроль, руководство, взаимодействие, т.е. функции, необходимые в процессе разработки и сопровождения проектов: Project Workbench (Applied Business Technology).

33. Программирование: этапы, постановка задачи.

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

Программирование включает в себя следующие этапы:

1. постановка задачи,

2. структуризация системы,

3. организация данных,

4. алгоритмизация,

5. кодирование,

6. отладка,

7. внедрение.

Постановка задачи

Нулевым этапом постановки задачи должно быть задание окружения программы. Окружение программы состоит из:

o Среды пользователей,

o Среды заказчиков.

o Вычислительной среды,

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

Вовлекайте пользователей в процесс проектирования системы

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

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

МАКСИМАЛЬНО ИСПОЛЬЗУЙТЕ СЕРВИСНЫЕ СРЕДСТВА АВТОМАТИЗАЦИИ ПРОЕКТИРОВАНИЯ

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

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

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

ВСЕ ДОГОВОРЕННОСТИ ДОЛЖНЫОФОРМЛЯТЬСЯ В ОФИЦИАЛЬНОМ ПОРЯДКЕ

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

НЕОБХОДИМО ВСЕСТОРОННЕ АНАЛИЗИРОВАТЬ ЭФФЕКТЫ, СВЯЗАННЫЕ С ВНЕДРЕНИЕМ СИСТЕМЫ

Подобный подход к проектированию можно проиллюстрировать на примере разработки языка Ада. В начале 70-х годов министерство обороны США объявило о создании нового языка, которым предполагалось заменить другие языки программирования во всех приложениях, связанных с решением задач военного характера. Еще до составления окончательного перечня функциональных требований и спецификаций было разработано несколько версий языка, которые анализировались и оценивались группой сторонних экспертов. Был объявлен конкурс на создание языка. Его победителем стала французская фирма Honeywell-Bull. После того как работа над языком была за­вершена, для его оценки вновь были приглашены сторонние эксперты. Много различных групп приняло участие в экспериментах по практической реализации некоторых наиболее нетрадиционных особенностей языка. Наконец, когда стало ясно, что Ада в целом отвечает предъявляемым требованиям, различные военные ведомства начали заключать контракты на приобрете­ние компиляторов языка.

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

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

СЛЕДУЕТ СТРЕМИТЬСЯ К СОЗДАНИЮ ПОЛНОЙ КАРТИНЫ

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

ПРОЦЕСС ПРОЕКТИРОВАНИЯ ДОЛЖЕН БЫТЬ СТРУКТУРИРОВАН.

Графическая схема проекта строится по иерархическому принципу и охватывает все вопросы по разработке проекта. Она должна умещаться на одной странице. На рис 13.1 представлен устоявшийся вариант схемы. Именно таким представляется процесс проектирования автоматизированной системы извне. От системы к системе графическая схема задания меняется незначительно.

Рис 13.1. Схема проекта системы

1. Введение. Дается общая характеристика системы, чтобы будущий пользователь мог принять решение о том, отвечает ли система его требованиям.

1.1. Функции системы. Поясняется назначение системы, приводится перечень основных процедур и обрабатываемых данных,

1.2. Сфера применения. Характеризуется круг пользователей, на которых ориентирована система.

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

1.4. Отчеты. Описываются формы, определяются периодичность и общее содержание отчетов, выдаваемых системой.

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

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

2.2. Программные средства. Указываются типы операционных систем, используемые библиотеки стандартных программ, системы управления базами данных и т. д.

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

3. Связь с внешней средой. Описывается взаимодействие пользователей с системой.

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

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

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

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

4. Качество системы.

4.1. Соблюдение стандартов и общепринятых обозначений. Указывается, в какой мере система соответствует стандартному варианту языка программирования. Кроме того, определяется степень использования общеупотребительных сокращений и математических обозначений. Это позволяет оценить трудоемкость сопровождения системы.

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

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

4.4. Защита информации. Описываются средства, обеспечивающие сохранность данных и авторизацию доступа, используемые способы кодирования.

5. Документация по системе.

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

5.2. Спецификации программ. Дается общее функциональное описание отдельных программ, входя



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2016-07-22 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: