Гради Буч - Объектно-ориентированный анализ и проектирование с примерами приложений на С++ (1158635), страница 74
Текст из файла (страница 74)
Исходя из данной предпосылки, начинать следует срассмотрения общего плана ведения складского учета. По результатамсистемного анализа можно выделить семь основных функций системы:• Учет заказовПрием заказов от клиентов и ответы на запросыклиентов о состоянии заказов.• Ведение счетовНаправление счетов клиентам и отслеживаниеплатежей. Прием счетов от поставщиков и отслеживание платежейпоставщикам.• Отгрузка со склада Составление спецификаций на комплектациютоваров, отправляемых со склада клиентам.Требования к системе складского учетаВ качестве части стратегии по проникновению компании,занимающейся торговлей по каталогам, на новые участки рынка, было решеносоздать ряд относительно автономных региональных складов продукции.Каждый такой склад несет ответственность за учет товаров и выполнениезаказов. В целях повышения эффективности своей работы склад обязан самподдерживать ту номенклатуру товаров, которая в наилучшей степенисоответствует потребностям местного рынка.
Номенклатура, таким образом,может быть разной для каждого региона. Кроме того, номенклатура должнаоперативно меняться в соответствии с изменяющимися потребностямиклиентов. Головная компания хотела бы иметь на всех складах одинаковыесистемы учета. Основными функциями системы являются:• Учет товаров, приходящих от разных поставщиков, при их приеме насклад.• Учет заказов по мере их поступления из центральной удаленнойорганизации; заказы также могут приниматься по почте. Их обработка ведетсяна местах.• Генерация указаний персоналу, в частности, об упаковке товаров.• Генерация счетов и отслеживание оплат.• Генерация запросов о поставке и отслеживание платежейпоставщикам.Кроме автоматизации стандартных складских операций, система такжедолжна предоставлять богатые возможности по генерации различных формотчетности, в том числе отражающих тенденции развития рынка, списковнаиболее надежных и ненадежных поставщиков и клиентов, материалов длярекламных компаний.• Складской учетПостановка прибывающих товаров на учет иснятие товаров с учета при отправке заказов.• ЗакупкиЗаказ товаров поставщикам и отслеживаниепоставок.• ПолучениеПринятие на склад товаров от поставщиков.• ПланированиеВыпуск отчетов, в том числе отражающихтенденции спроса на отдельные виды товаров и активность поставщиков.Не удивительно, что системная архитектура будет отражатьперечисленные функциональные свойства.
На рис-10-1 приведена диаграмма,иллюстрирующая состав вычислительных элементов сети. Эта структураявляется типичной для большинства информационных управляющих систем:группы персональных компьютеров передают информацию на центральныйсервер баз данных, который служит центральным хранилищем всехсущественных для предприятия данных.Рассмотрим некоторые детали структуры сети. Во-первых, хотя нарисунке мы видим, что каждый компьютер принадлежит только однойфункциональной группе, это не означает, что на нем нельзя выполнять другиеоперации: отдел бухгалтерского учета должен, например, иметь возможностьосуществлять общие запросы к базе данных, а отдел закупок, в свою очередь,просматривать бухгалтерскую информацию, касающуюся платежейпоставщикам.
Кроме того, руководство компании может в соответствии сосвоими соображениями перераспределять компьютерныеРис. 10-1. Сеть системы складского учетаресурсы между отделами фирмы. Требования по защите информациинакладывают, однако, некоторые ограничения на доступ к ней: кладовщик,например, не должен иметь возможность отсылать платежные документы.Контроль за доступом к данным обычно осуществляется с помощью общихдля всей системы механизмов защиты данных.Мы предполагаем существование компьютерной сети (LAN),связывающей все компьютеры и обеспечивающей работу общих механизмоввзаимодействия пользователей: электронной почты, разделенного доступа ккаталогам, вывода информации на сетевой принтер, коммуникаций.
Длянашей системы складского учета выбор сетевой операционной среды не такуж и важен, лишь бы она надежно и эффективно обеспечивала взаимодействиепользователей.Присутствие в нашей схеме переносных персональных компьютеровотражает возможности передовых коммуникационных технологийбеспроводной связи. Такой техникой планируется оснастить кладовщиков.
Помере поступления новых товаров на склад они будут оперативно заносить вкомпьютер информацию о его количестве и местоположении на складе, ипередавать ее непосредственно на сервер. При необходимости отгрузки товарасо склада информация о его количестве и расположении будет сообщатьсякладовщику, который передаст ее грузчикам.Упомянутые технологические средства не сравнимы с космическимистанциями, - вся аппаратная часть является стандартной. Что касаетсяпрограммной части, то мы надеемся, что значительная ее часть также будетсоставлена из стандартных компонентов.
Для решения многих локальныхподзадач выгодно приобрести готовые электронные таблицы, бухгалтерскиепакеты и средства групповой работы. Однако основной движущей силойсистемы должна стать программа складского учета, связывающая в единоецелое все ее составные части.В подобных приложениях собственно вычисления занимают оченьмало места. Основная задача состоит в обеспечении хранения, доступа ипересылки больших объемов данных. Таким образом, большинствоархитектурных решений будет нацелено на работу с декларативнойинформацией (какие товары присутствуют на складе, что скрывается под ихобозначением, где они расположены), а не с процедурными вопросами (какимобразом идет перемещение товара). Разработка проекта будет основываться наосновном принципе объектно-ориентированного подхода:выявление ключевых абстракций, формирующих словарь предметнойобласти, и механизмов, оперирующих данными абстракциями.Бизнес-процесс ставит перед нашей системой важное условие: онадолжна быть открытой для дальнейших модификаций.
В ходе анализа намнеобходимо выделить ключевые абстракции, играющие в данный моментважную роль в деятельности фирмы: определить типы хранимых в базеданных; перечислить отчеты, которые должны генерироваться; научитьсяобрабатывать запросы и проводить все остальные транзакции, необходимые вдеятельности компании. Именно в данный момент, так как бизнес подверженпостоянным изменениям, фирма все время ищет новые области вложениякапитала, и информационная система должна легко перестраиваться всоответствии с модернизацией стратегии фирмы и/или с ее выходом на новыерынки. Устаревшая программная система может стать причиной неудач вбизнесе и вызвать непроизводительную трату людских ресурсов. Такимобразом, при проектировании системы складского учета необходимопредусмотреть возможность внесения в нее последующих изменений.
Опытпоказывает, что наиболее подвержены изменениям следующие элементыпрограммы:• виды хранимых данных• аппаратная часть системы.Каждый из складов с течением времени меняет ассортимент хранимыхтоваров, начинает работать с новыми клиентами и поставщиками, иногдатеряя при этом старых. Может неожиданно оказаться, что о клиентахнеобходимо хранить дополнительную, не предусмотренную системойинформацию.28 Кроме того, аппаратные технологии все еще развиваютсябыстрее программных, и компьютеры за несколько лет морально устаревают.Никто, однако, не в состоянии часто менять большие и сложные программныекомплексы, это не рационально и непозволительно потому, что время изатраты на создание новой системы часто превосходят время и затраты напокупку и установку новых компьютеров. Внедряя новую систему только потой причине, что старая выглядит устаревшей, вы рискуете своим бизнесом:стабильность и надежность работы являются необходимым свойствомпрограммного обеспечения, которое должно обслуживать повседневнуюдеятельность фирмы.Один из выводов, таким образом, заключается в том, что с течениемвремени можно ожидать смены интерфейса пользователя.
В прошлом бизнесприложения имели обычный текстовый интерфейс, и это считалосьнормальным. Однако общее снижение цен на компьютеры и широкоераспространение графических интерфейсов пользователя обуславливаютнеобходимость внедрения графических приложений. Надо помнить, что длясистемы складского учета интерфейс пользователя является всего лишьнебольшой (хотя и важной) частью.
Ядром системы является база данных;пользовательский интерфейс можно рассматривать как оболочку вокруг этогоядра. Для данной системы можно (и даже желательно) создать несколькоинтерфейсов. Простой, базирующийся на меню, - для клиентов, заполняющихзаявки на товар.
Современный, типа Windows, - для решения бухгалтерскихзадач, а также планирования и закупок. Отчеты могут печататься в пакетномрежиме, однако некоторым менеджерам могут понадобиться средства дляпросмотра графиков на экране. Кладовщику нужен простой интерфейс: окна имышь не подходят для работы в заводских условиях. Мы не будем подробноостанавливаться на вопросах, связанных с интерфейсом пользователя; всистеме складского учета может быть реализован практически любой изсуществующих интерфейсов, и это не скажется на ее архитектуре.Перед дальнейшим обсуждением задачи отметим две важные вещи.Во-первых, при разработке будет использоваться стандартная реляционнаябаза данных (СУРБД), вокруг которой строится программное приложение.Заниматься созданием своей СУБД в данной ситуации просто бессмысленно;нам придется реализовать большинство основных свойств стандартной базыданных, что резко увеличит расходы, а полученный в результате продуктокажется функционально куда менее гибким.
Преимущество стандартнойреляционной СУБД заключается также в ее относительной переносимости.Большинство распространенных баз данных адаптировано к различнымплатформам, от персональных компьютеров до мэйнфреймов. Во-вторых, каквидно из рис. 10-1, мы хотим, чтобы система складского учетафункционировала в распределенной компьютерной сети. Мы планируемразместить всю базу данных на одном компьютере, к которому будут иметьдоступ все компьютеры сети. Такая схема и реализует архитектуру клиентсервер; компьютер, на котором установлена база, является сервером.