2.5. ПРОЕКТНАЯ ПРОЦЕДУРА ПОСТАНОВКИ ЗАДАЧИ РАЗРАБОТКИ ПРОГРАММЫ

2.5. ПРОЕКТНАЯ ПРОЦЕДУРА ПОСТАНОВКИ ЗАДАЧИ РАЗРАБОТКИ ПРОГРАММЫ

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

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

Суть проектной процедуры.

Шаг 1. Проанализируйте выход системы, определите состав и форму выходных данных.

Шаг 2. Проанализируйте вход системы, определите состав и форму входных данных.

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

Шаг 4. Определите ограничения.

Рис. 2.2. Модель "черного ящика" проектируемого объекта

Шаг 5. Определите основные алгоритмы обработки информации и рассчитайте время их выполнения.

Шаг 6. Доопределите ограничения.

Шаг 7. До нахождения приемлемой постановки генерируйте варианты постановок. Используйте классификации алгоритмов, критериев, методов принятия решений, эвристические приемы, практические приемы.

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

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

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

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

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

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

Закономерность 1. С точки зрения потребительских функций: "Чем шире состав потребительских функций, чем интенсивнее количественная сторона их проявления, тем совершеннее система".

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

Попробуйте самостоятельно решить задачу: "Какая из известных вам программ редактора текстов более совершенна?"

Закономерность 2. С точки зрения воздействия факторов внешней среды компьютера: "Чем шире интервал условий внешней среды, внутри которого способны реализовываться потребительские свойства конкретной системы, тем система совершеннее".

Пример. Из двух девушек — кандидаток в жены — гораздо предпочтительнее более неприхотливая — это уже совсем банальная истина.

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

Закономерность 3. С точки зрения интервала ограничений искусственной внешней среды: "Чем уже интервал ограничений для реализации потребительских функций данной системы, тем система совершеннее".

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

Какой редактор текстов предпочтительнее: 1) со встроенным орфографическим контролем; 2) с внешней программой орфографического контроля, разработанной иным производителем?

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

Шаг 2. Исследовать и спрогнозировать тенденции развития потребительского спроса по каждому из потребительских свойств.

Шаг 3. На основе прогноза о тенденциях развития потребительского спроса составить полный приоритетный список всех возможных задач совершенствования объекта.

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

Шаг 1. Перечислим основные функции ЭА:

• сканирование;

• распознавание и корректирование ошибок;

• создание и миграция электронных документов и образов;

• индексирование документов;

• оперативный поиск и отображение документов.

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

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

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

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

— СУБД, особенно реляционного типа, изначально не ориентированы на интенсивную обработку сверхбольшого объема информации.

Шаг 2. Задачи проектирования:

1) развертывание высокопроизводительной сети, включающей графические рабочие станции и мощные серверы ввода и обработки информации;

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

3) обеспечение эффективного индексирования и полнотекстового поиска неструктурированной информации большого объема.

Шаг 3. Возможность технической реализации рассматриваемой системы:

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

— получили развитие аппаратно-программные системы, реализующие параллельную обработку запросов; повысился уровень интерфейса работы с СУБД;

— появились новые информационные технологии индексирования сверхбольших массивов данных;

— разработаны и развиваются отечественные технологии и программные продукты распознавания и анализа русскоязычных текстов;

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

Шаг 4. В качестве приоритетных задач совершенствования системы можно выделить следующие:

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

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

3) из-за высоких требований к скорости доступа к поисковому образу документа и его целостности, осуществление его хранения в высокоскоростных отказоустойчивых системах хранения, например RAID-массивах. Наиболее подходящими носителями могут быть магнитооптические, фазоинверсные (PD/CD), компакт- (CD-R) и WORM-диски. Для автоматизации поиска информации, размещенной на этих дисках, ее извлечения и работе собственно с дисками используются автоматические библиотеки, или оптические дисковые автоматы (JukeBox);

4) использование только мощных масштабируемых RISC-платформ, ориентированных на параллельные вычисления.

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

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

Признак 1. Сравнение по максимально достигаемому уровню развития потребительских свойств.

Признак 2. Сравнение систем и поиск решения на основе максимального резерва развития.