Предварительные исследования
Обычно работа по разработке программ начинается в связи с тем, что некоторая организация предлагает создать для нее программную прикладную систему (ППС). Официальному заключению договора обычно предшествует выяснение реальной необходимости в такой системе, оценка возможности ее разработки и примерного объема затрат, а также ожидаемого эффекта от ее внедрения.
После этапа предварительных исследований составляется список требований, предъявляемых к системе. В него должны быть включены
· Результаты анализа обстановки,
· Описание выполняемых системой функций и
· Ограничения, которые необходимо учитывать в процессе проектирования.
Под обстановкой понимается совокупность условий, при которых предполагается эксплуатировать систему. К ним относятся аппаратные и программные ресурсы, предоставляемые системе, внешние условия ее функционирования, а также состав людей и работ, имеющих отношение к ней. Должны быть продуманы изменения в текущей деятельности организации, обусловленные внедрением системы. Например, понадобится изменить расстановку персонала и структуру выполняемых работ. Могут также понадобиться дополнительные вычислительные мощности.
Функциональные требования к системе содержат четкое описание всего того, что она должна делать.
Ограничениями в процессе проектирования являются директивные сроки завершения отдельных этапов, имеющиеся ресурсы, организационные процедуры и мероприятия, обеспечивающие сохранность информации.
Организация-заказчик и группа разработчиков совместно составляют официальный перечень спецификаций и договор о порядке проведения проектных работ и приемке системы. Иногда процесс создания ПО разбивается на два этапа, в которых участвуют различные группы специалистов:
· Первая из них занимается собственно проектированием системы;
· Вторая – ее программной реализацией.
В таких случаях договоры заключаются с обеими группами и между указанными этапами предусматривается некоторый промежуток времени для анализа и обсуждения характеристик системы.
Постановка задачи
Первый шаг в проектировании ППС состоит в точном формулировании целей ее внедрения. Требования к системе еще не создают полной картины.
В этом процессе должны принимать участие как представители заказчиков, так и разработчики системы. Этот процесс должен быть организован так, чтобы он продолжался в течение достаточно длительного времени, т.к. на любом этапе разработки или внедрения могу обнаруживаться ранее не предусмотренные проблемы, решение которых обязательно потребует внести определенные изменения в проект.
3.1. Адаптация процедур ручной обработки
Задача проектирования ППС может состоять либо в использовании ЭВМ для выполнения тех операций, которые раньше проводились вручную, либо во внедрении качественно новых способов обработки. Решение последней задачи требует ответов на вопросы, аналогичные тем, с которыми проектировщики сталкиваются при машинной реализации уже сложившихся процедур обработки. Если на ЭВМ предполагается реализовать некоторую ручную операцию, проектировщику ППС потребуется выяснить, из каких конкретных действий состоит эта операция. Например, эффективное решение такой простой задачи, как составление на ЭВМ списка клиентов с учетом взаимодействия пользователя с машиной, должно основываться на принципах, принятых в современной деловой практике. Для этого проектировщику необходимо получить ответы, например, на такие вопросы:
· Какого рода информация должна содержаться в записях о клиентах?
· Кто предоставляет эту информацию и в какой форме?
· Как долго ее надо хранить?
· Какая файловая система будет применяться?
· Имеются ли копии информации в других учреждениях?
· Как будет использоваться данная информация?
· Кто является потребителем информации?
· Как осуществляется корректировка информации?
· Что предполагается делать с информацией о клиентах, переставших подавать заявки?
· Как поступать с неполной информацией?
· Что делать с информацией, в которой есть ошибки?
Ответы на эти вопросы дадут полное представление о внутреннем механизме обработки данных в организации и позволит спроектировать ППС как более адекватную машинную модель процесса.
Проектирование ППС включает такой обязательный элемент, как определение формы, в которой должна быть представлена информация. Постановка задачи должна охватывать весь процесс сбора, хранения, использования и окончательного представления данных. В ней должны учитываться ограничения на время обработки, финансовые затраты и вычислительные ресурсы.
В постановке задачи должна быть предусмотрена возможность последующей модернизации системы.
3.2. Определение основных элементов системы
На первом этапе должны быть определены информационные потоки и взаимодействующие с ними процессы. Информационным потоком называется информация, перемещающаяся от одного узла обработки к другому. Такими узлами могут быть различные машинные программы или рабочие места служащих, ответственных за определенные операции.
Проектирование системы
К основным стадиям развития ППС относятся:
· Постановка задачи;
· Разработка;
· Реализация;
· Испытания;
· Эксплуатация.
Эти этапы могут частично перекрываться. Так, формулирование задачи не обязательно должно заканчиваться в тот момент, когда начинается разработка программ и подготовка данных. Переделка уже законченной системы, связанная с изменением внешних условий, обычно рассматривается как элемент сопровождения ее во время эксплуатации, хотя при этом анализируются новые требования и вносятся соответствующие изменения, осуществляется их реализация и проводятся испытания. Все это может происходить еще до того как система будет принята к промышленной эксплуатации: в начале испытания сводятся к консультациям с будущими пользователями; эти консультации позволяют четко сформулировать требования к системе. На этапе разработки по результатам анализа решении тестовых задач проводиться детальная проверка проектной документации.
4.1.Структурный анализ
Формирование окончательного проекта ППС – очень многообразный процесс. По мере разработки ППС расчленяется на отдельные элементы данных и действия совершаемые над этими данными. Метод исследования, который начинается с общего обзора системы и затем детализируется, приобретая иерархическую структуру со все большим числом уровней, называется структурным анализом. Требования к системе и ее предполагаемые характеристики можно рассматривать как цели и стандарты к которым следует стремиться на всех стадиях проектирования. Верхний уровень структурного анализа представляет собой функциональное описание системы. Составление функционального описания системы – это обобщение всей информации, касающейся целей проекта.
Расчленение системы на функциональные элементы подчиняется вполне определенным правилам. Самое общее правило состоит в следующем: необходимо отделять то, что требуется сделать, от того, как это можно сделать. Для иллюстрации в качестве примера рассмотрим, как в административном совете округа ведется учет спсков избирателей и наблюдение за порядком голосования. Одна из задач – это регистрация избирателей. Для решения этой задачи разрабатывается автоматизированная система с применением ЭВМ. Отдельные функциональные элементы такой системы должны осуществлять регистрацию новых избирателей, корректировать регистрационную информацию в тех случаях, когда избиратели меняют место жительства или когда в округе вводится новое деление на избирательные участки, удалять из списков лиц, лишенных права голоса, выдавать демографические отчеты, подготавливать списки для избирательных участков. Следующий уровень анализа может состоять в изучении потока документов , циркулирующих при существующей методике работы со списками избирателей. Чтобы отобразить перемещение бумаг между различными служащими и учреждениями, используются функциональные схемы, подобные той, что на рис.1.
На ней треугольниками отмечена информация о регистрации избирателей. Которая хранится в административном управлении округа в двух различных формах. Первая форма обеспечивает быстрый доступ к данным, когда необходимо внести изменения в списки избирателей. Вторая содержит списки по всем избирательным участкам, составленные в алфавитном порядке. Служащие административного управления занимаются тем, что проверяют, не противоречат ли записи друг другу, учтены ли в обоих наборах данных новые границы избирательных участков, внесены ли в оба набора все изменения регистрационной информации.
На рис. 1.1 показана лишь часть связей между элементами упомянутых форм и процедурами их обработки. Полный их перечень должен быть получен на следующем, более детальном уровне описания задачи. Схемы, отображающие потоки документов, помогают лучше понять структуру процесса обработки, определить состав входной и входной информации. Для анализа логических связей между элементами данных и процедурами обработки отдельных фрагментов данных могут применяться схемы других типов. Так или иначе, процесс анализа проблемы исходит из функционального описания системы в целом, затем составляются функциональные описания ее отдельных частей, после чего исследуются информационные потоки и, наконец, определяется структура данных.