Компания по продаже полов, ламината, в большом количестве но в розницу(Прочитано 31125 раз)
Задача :)

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

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

Кроме этого есть хранилище(там где хранятся полы до их продажи), есть бугалтерея(наверно её простой вариант не как в России, просто берутся все чеки с кассы и считается сумма, сравнивается с счетчилом в кассе, и в конце года отправляется в налоговую)

А цель задачи в следующем:
1. ускорение процесса, ето можно достич если продовщится меньше будет рыться в бумагах и переходя с одной программы в другую, для этого пишется единая, дать большии обзор шефу о его бугалтерии, продуктах продданнных каждый день и о хранилище чтобы он знал когда его пополнять.
2. менее важное, подсчет количества часов персонала, т.к. в пятницу больше клиентов чем в понидельник соответственно количество часов у персонала не стабильно. в среднем 16 - 24 часа в неделю, иногда пиково до 60 часов в неделю. Автоматическое составление маршрута водителю который развозит заказы, удобное планирование по времени

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

С уважением,

Эльдар



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



хорошо :)

отложим все учебники по дальше, т.к. на это времени больше нету, и пойдем простым и логическим путем(а самое главное подкрепим настроение и желание работать когда все отдыхают бутылочкой 'Amstel' ;))

Т.к конкретной постановки задачи ещё к сожалению нет, клиент не всегда сам понимает чего он хочет, спустимся сразу на второй уровень. Мы будем brainstorm  в поисках сущнастей имеющих ключевое или коственное значение для системы и распределим их приоритеты. А потом сознательно опишем границы задачи и её концепт.

(group user)
1. Клиент, работник, шеф, поставщик,
(Клиент не имеет доступа к системе но его домашнии адрес, телефон и офферте упорядочно должны хранится)
2. Каталог продуктов(причем спецефически настроенный под сотрудников, для мгновенного поиска сусшествующих офферте), хранилище, бугалтерея

Теперь попробуем накидать модель данных,

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

продукт(цена, описание, фото, размер, упаковка(размер может быть pазным, это влияет на транпортировку))

цена может быть разной:
1. каталоговая цена
2. офферте цена
3. заказная цена
4. цена при продажи

продолжение следует...







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

продолжение следует ...



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



Хорошо бы уточнить цели:
1. Кто хочет быстрее работать? Начальник или сами продавщицы?
1.1 Действительно ли производительность компании зависит от скорости обработки информации? Или просто есть желание сделать все "как у взрослых" :) ?
1.2 По крайней мере, важно обеспечить доброжелательное отношение к Вашей программе не только со стороны начальника, но и пользователей. Для этого важно учесть их пожелания, сделать так, чтобы Ваша программа реально  делал бы их работы более простой и легкой.

2. Описанный Вами функционал включает по крайней мере:
2.1 автоматизацию закупок товара у Ваших поставщиков - пока в основном на уровне ведения каталога товаров. Вы что-то написали про то, что он настраивается под сотрудников. Т.е. разные сотрудники по разному используют содержащуюся в нем информацию? 
2.1.1 Есть специализация среди продавцов по виду товара или поставщику? Или
2.1.2 есть сотрудник, который учитывает поступающий от поставщиков товар, а остальным доступна только справочная информация для продажи клиентам?

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

2.3 автоматизацию складского учета ("хранилище", в России это обычно называется склад, а хранилище - это где хранится информация о том, что хранится на складе:) ). А кладовщик у Вас уже есть? Кто регистрирует получение товара на склад и отгрузку потребителю? Кто отвечает за то, что товар "просто" не взяли со склада?

2.4 автоматизацию учета рабочего времени для расчета оплаты или нормирования труда (payroll).

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

2.6. автоматизацию бухгалтерского учета (general ledger). Даже если он достаточно простой, все равно его надо делать (или купить что-нибудь готовое и грузить в него информацию из других модулей).

Вы хорошо представляете себе объем работы (в человеко-часах), которую Вам предстоит выполнить?

2. Вы писали, что в настоящий момент уже есть программы, которые используют продавщицы. Сколько их (программ), какая информация в них хранится (модель данных, - надо описать, даже если это Excel)? Чтобы внедрение новой системы было как можно меньшим потрясением для компании, важно, чтобы в новой программе можно было делать всё, что можно было делать в старой. Должна быть предусмотрена быстрая миграция данных (перегрузка) из старой системы в новую. А если в системе используется долгоживущая информация, то чем больше новая модель данных будет отличаться от старой, тем больше будет хлопот при внедрении системы.



Согласен с Shur. Пока добавить что-то сложно.

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

Доп вопросы:
1. Предполагается ли разработка совершенно новой системы с использованием неких RAD инструментов? Или предполагается доработка конфигурации 1С, например?

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

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

Для получения некоторого шаблона описания задачи советую посмотреть курс Анализ ребований к АИС на intuit.ru, там есть практические задания с шаблонами документов: видение, варианты использования, SRS



большое спасибо за ваш ответ :)

Цитировать
Хорошо бы уточнить цели:
1. Кто хочет быстрее работать? Начальник или сами продавщицы?
- начальник хочет повысить еффективность работы всеи фирмы. Фирма ужастно растет. Дух раста очень сильно заметен, этому искуству надо даже поучиится нашим, весь рабочии коллектив составляет 6 - 10 человек, из которых 6 имеют закрепленное рабочее место, а 4 по вызову когда рук не хватает. Всё можно представить как професионально отлаженный конвеер, в котором каждый знает что и как говорить клиенту. Так сказать идет кураж, и наверно поэтому валит вся клиентура с окрестности, даже с рядом стоящих городов, это просто парадоксально. Шев больше мне как просто знакомый, я не работаю на него, у нас дружеские отношения, он помогает мне со своими связями а я чем смогу.

Цитировать
1.1 Действительно ли производительность компании зависит от скорости обработки информации? Или просто есть желание сделать все "как у взрослых"?
- вы правы, они хотят чтобы к какомуто моменту времени всё было как у взрослых, ещё 3 месяца назад всё вообще велось на бумагах и хранилось в папках, обяснение этому не отсталость Голландии, сам трюк в том что клиент хочет видеть простоту, в этом наверно и есть часть их успеха, теперь же спрос настолько увеличился что 3 продавщитсы не успевают копатся в папках, всвязи с этим они уже купили готовое решение у конкуренции которые пиришли на более новое. Это на VBA написанная аппликация их пока в полне устраивает, она раньше могла работать только на одном компе, мы её немного изменили и теперь 3 продавщицы копаются там с разных компов не мешая друг другу. Даже с введением нового, всё так же оффетта будет заполнятся в ручную(для глаз клиента), а вот всё дальше по конвееру должно быть оптимально автоматизированно.


Цитировать
1.2 По крайней мере, важно обеспечить доброжелательное отношение к Вашей программе не только со стороны начальника, но и пользователей. Для этого важно учесть их пожелания, сделать так, чтобы Ваша программа реально  делал бы их работы более простой и легкой.
- здесь вы опять правы, дело ещё также в том, что та предыдущая которую они получили апликация, настолько некоректна в использовании, что продавщицы уже пищат от злости и нервов. В течение пару месяцев они всё же одолили её, и теперь проблема интегрирования очень высокая. Т.к. они просто могут не захотеть пириходить на новый софт. Даработка существующей тоже отпадает, человек который создал её 8 лет назад, зделал её очень плохо, и написать новую намного проще чем доработать старую.
Цитировать
2. Описанный Вами функционал включает по крайней мере:
2.1 автоматизацию закупок товара у Ваших поставщиков - пока в основном на уровне ведения каталога товаров. Вы что-то написали про то, что он настраивается под сотрудников. Т.е. разные сотрудники по разному используют содержащуюся в нем информацию?
- да, разные сотрудники должны иметь разные права доступа, к примеру продавец может искать офферте, фактуры, продукты и их каталоговую цену, клиентов старых или вносить новых. Заполнять свои отработанные часы. Складом занимается больше сам шев и тот кто развозит заказы. Поставщик по моему сам всё разгружает и только заходит чтобы ему подписали бумажку о том что заказанное доставленно. дальше это пока никак не автоматизированно. Просто шев приблизительно знает сколько чего у него приблизительно есть, и когда нужно докупить новое. Система должна сама подсчитывать количество продукта на складе. Т.е. посмотреть на так называемый конвеер производства, то при заполнении офферте мы ещё не знаем придет клиент обратно или нет, но в 70 % приходит, в тот момент когда офферте была переработана в фактуру, мы уже можем твердо сказать что к такомуто числу с склада увезут такоето количество продукта. Значит система должна в нужный момент показать флажок о том что уровень такогото товара уменьшился и надо позвонить поставщику. При этом мы знаем что раз в неделю поставщик привозит 'X' ассортимент товаров, т.е флажок надо показывать только в случае если сегодня купили слишком много полов. Поставка товара от пастовщика напрямую к клиенту минуя склад, строго отвергается... в дополнение, в будущем каталог также должен иметь и наружный интерфеис к поисковым машинам, т.e лучше чтобы это было одно целое, тогда посетитель будет видеть наличие определенных товаров на складе, можно будет сделать так чтобы покупатель мог написать о желании придти посмотреть такой то товар. Также можно будет вести статистику наиболее просматриваемых товаров и на основании этого делать анализы для будущего. Каталог в интернете уже есть, хотя не занимает хорошего места по раитинг, для я хочу построить seo дерево, которое будет жить и изменятся каждый день, и чтобы это жило надо чтобы это было легко, для этого всё должно быть едино, а не синхронизация данных между однои АПИ и каталогом в интернет. Но это возможные планы на будущие которые я просто принимаю во внимание.
 
Цитировать

2.1.1 Есть специализация среди продавцов по виду товара или поставщику? Или
- по моему мнению каких то конкретных специалистов на фирме нет, кроме шефа, он сам очень много занимался именно полами и ламинатом. Как вы знаете специализированный труд намного больше оплачивается, всё настроено так что каждый продовец точно знает что он должен говорить, как он должен говорить, и где он может или не может сделать скидки. Продавщицы это девушки до 30 лет. Эти же продавщицы по образованию секретарши и знают как приблизительно вести бугалтерию.

Цитировать
2.1.2 есть сотрудник, который учитывает поступающий от поставщиков товар, а остальным доступна только справочная информация для продажи клиентам?
- если шефа нет на месте то подтверждение о доставки товара подписывает секретарша. Само решение о екстра заказе у поставщика всегда обговаривается с шефом и при его отсудствие звонится на его мобильный для согласия. Дальше всё по конвееру, секретарь звонит поставщику и сообщает о необходимости такогото товара. Когда товар доставляется она это учитывает на БУМАЖКЕ т.e пока не в какой либо для этого придуманной программы, хотя аналогичные программы уже существуют.
Цитировать
2.2 автоматизацию продаж с учетом истории изменения заказа клиента (изменение его содержания от оферты до фактуры), причем в самом заказе может поменяться ассортимент и цена товаров. Возможно, уменьшение цены отпускаемого клиенту товара должна оформляться как скидка? Кто решает, какую именно скидку можно дать конкретному покупателю? Как регистрируется возврат товара (если клиент обнаружил брак и хочет вернуть)?
- про скидку я описал выше, возвратный товар регистрируется на бумажке. Со стороны имплементации я вижу офферте и фактуру как одну сущность имеющую разные состояния. Со стороны пользовательского интерфеиса это будет видно как 2 сущности, т.е офферте которая была она франится, теперь мы её переделываем (это состояние можно назвать заказом товара, но сохранять я его не буду, а только хранить на время пока обрабатывается офферте, иначе будет хаос), когда они договорились и офферте была как можно изменена, жмется кнока 'Создать фактуру'.

Цитировать
2.3 автоматизацию складского учета ("хранилище", в России это обычно называется склад, а хранилище - это где хранится информация о том, что хранится на складе:) ). А кладовщик у Вас уже есть? Кто регистрирует получение товара на склад и отгрузку потребителю? Кто отвечает за то, что товар "просто" не взяли со склада?
- эту функцию взял на себя человек который развозит заказы. Это Голландия, здесь с этим реже сталкиваются, товары не берутся сами по себе со склада, я думаю что шев в конце рабочего дня проверят наличие товаров на складе а потом идет домой. Пока программа для учета товара на складе это ехел документ с листом 'товар - количество'

Цитировать
2.4 автоматизацию учета рабочего времени для расчета оплаты или нормирования труда (payroll)
- пока этому много времени уделять сложно, т.к его нету, важна регистрация сотрудниками отработанных часов. Всё остальное решается вне системы. Т.е есть люди которые имеют закрепленное рабочее место, и минимальная заработная плата им горантирована + дополнительные часы если они были, в этом случае шеф будет контролировать чтобы сотрудник находился на рабочем месте не меньше 38-40 часов в неделю, есть вызываемые на один раз, через специальное бюро. Это дорогие люди ;), весь смысл здесь в том что шефу удобней держать персонал ровно в таком количестве чтобы как можно реже нанимать людей через специальное бюро, в тоже время чтобы закрепленные сотрудники не сидели, т.к. платить меньше нормы он не может даже если работы вообще не будет, в этом весь риск. Хотя нанимаемые через бюро в 3 раза дороже.
Цитировать
2.5. автоматизацию управления доставкой заказов клиентам (логистика поставок клиентам). У Вас уже есть представления об алгоритмах, которые Вы собираетесь использовать, чтобы оптимизировать маршруты водителя и очередность выполнения заказов? Или Вам пока важно ввести хотя бы строгий учет отгрузки и факта доставки товара клиентам?
- пока достаточно просто учета, на счет расчета маршрута, это уже второстепенной важности.
Цитировать
2.6. автоматизацию бухгалтерского учета (general ledger). Даже если он достаточно простой, все равно его надо делать (или купить что-нибудь готовое и грузить в него информацию из других модулей).
- что то готовое купить это простое решение к которому можно всегда вернутся, мы делаем систему каторая отражает производственный процесс на предприятии как есть, возможно предприятие отклоняется от некоторых стандартов в бугалтерии. Есть единственный стандарт который очень важен это переращот в конце года, для этого уже есть все формулы и точно описано как. 

Цитировать
Вы хорошо представляете себе объем работы (в человеко-часах), которую Вам предстоит выполнить?
- да, делаю я тоже не один, разница лиш в том что раньше я это делал на интуиции, сеичас хочу стоять прочнее на ногах поетому пришёл на этот форум чтобы научится этому. Я вижу 2 подхода и считаю их обоих правильными. это делать, думать потом доробатывать или думать, потом делать а потом доробатывать. Так вот когда слишком много думаю то проект застревает, когда делаю потом думаю, он мне дорого обходится так как многое сделал просто так и многое по 2 раза. Я считаю что должна быть золотя серединка. По мере развития проекта всегда выходят новые вещи которые так и так не успели учтить. Или клиент может сообщить о чем то новом.

Цитировать
2. Вы писали, что в настоящий момент уже есть программы, которые используют продавщицы. Сколько их (программ), какая информация в них хранится (модель данных, - надо описать, даже если это Excel)? Чтобы внедрение новой системы было как можно меньшим потрясением для компании, важно, чтобы в новой программе можно было делать всё, что можно было делать в старой. Должна быть предусмотрена быстрая миграция данных (перегрузка) из старой системы в новую. А если в системе используется долгоживущая информация, то чем больше новая модель данных будет отличаться от старой, тем больше будет хлопот при внедрении системы.
- основная программа это та где продавщицы ищут офферте, фактуру, етц. Также они пользуются OutLook для планирования. И ехел для склада. Существующая программа для поиска офферте очень примитивна, допустим нет состояния продукта и состояния его цены хотя учтены возможность скидки на продукт. Точка исхода это офферте, фактура, и информация об упаковании(не знаю как это выразить, это больше просто листок с продуктами и их размерами, чтобы сразу было видно на какой машине повезут товар), я же хочу сделать чтобы точка исхода был продукт, его состояние, и перемещение по конвееру. А всё остальное, это офферте, фактура, склад, заказ к поставщику, это его положение на данный момент как (wrappers), т.е как можно ближе приблизится к деиствительности.

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

Ещё забыл добавить что также должен отправлятся емаил к поставщику автоматически, т.е есть система должна генерировать листочек с необходимыми продуктами, и сообщать о необходимости заказа. Секретарша должна подтверждать кликом на 'Ок' отсылку емаила.

модель данных существующей программы я сеичас опишу ...
« Последнее редактирование: 04 Января 2008, 06:35:52 от NIN »



Спасибо вам за ответ Galogen

Цитировать
Согласен с Shur. Пока добавить что-то сложно.
Насколько я понял, нужно подготовить презентацию для заказчика, т.е. фактически сформировать видение будущего продукта(будущей системы).
- да, вы правы, но есть рамнки буджета, что я имею в виду это качество/цена
к примеру, когдато года 3 назад я проходил стаж в Университете Гронингена и сделал 3 задачи, тогда же у меня были первые практические навыки по UML. Так вот качество было очень большим, так как софт писанный на Java использовался для обработки данных полученного с запускаемого в 2008 году сателита. На модуль котый я писал 2 недели я тратил потом 2 месяца чтобы его тестировать. требовалась хорошая документация о сделанном, и описание работы, включая слово не помню это наверно реферат как это сделано + его архитектура в UML. Здесь ссылка на проект: http://sci.esa.int/science-e/www/area/index.cfm?fareaid=16
так буджет был у них калосален 20 милиардов евро только на софт, я случайно сидел в одной комнате вдвоем с старым сис. архитектором, который руководил всем а в меня кидался учебниками, пробыл я там 9 месяцев, ну и о многом наслышался ;)

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

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

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

А сеичас мне хочется поучится у вас, чтобы увеличить уже свою собственную производительность, т.к иногда я выкидываю само написанный код, еффективность 50 - 70%, но ведь идеально никак не может быть, делаем beta, идем на фирму, показываем, делаем beta2 и пишем руководство по пользованию, опять идем показываем, делаем конечную версию, показываем, настраиваем, оставляем List TODO

Доп вопросы:
Цитировать
1. Предполагается ли разработка совершенно новой системы с использованием неких RAD инструментов? Или предполагается доработка конфигурации 1С, например?
- мое мнение, каждая фирма уникальна, каждая проблема это замок а решение это ключик к уникальному замку. Никаких новых инструментов не используется, просто если посмотреть с точки зрения системного анализа, вы видим всё не по честям а как всё целое учитывая при этом каждую мелочь, и это в моих глазах и есть сильная опора для конкурирования с большими фирмами. IBM предоставляет 3 программы, которые между собой синхронизируются, но ведь эти апликации были написаны сразу для всех, а значит тама 100 кнопочек из которых пользователь использует только 10. А я делаю только то что ему нужно, из опыта подсказываю что можно было бы сделать дополнительно.

Цитировать
2. Существует ли понимания какие функции будут реализованы, каков круг пользователей?
- да, я описал это выше :)

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

Цитировать
Для получения некоторого шаблона описания задачи советую посмотреть курс Анализ ребований к АИС на intuit.ru, там есть практические задания с шаблонами документов: видение, варианты использования, SRS
- здесь вот хотел бы вставить своё слово, это просто мнение, каждая задача это ведь дверь с замком у которой есть уникальный ключик. Оттачивая ключик по шаблону мы привыкаем пользоватся словарикам с шаблонами и отвыкаем быть креативными. Используя шаблон мы не думаем, мы просто работаем, а ведь моделирование это ведь творческии процесс. Что произойдет когда шаблона к задаче не будет? И какова будет наша еффективность в этот момент...


Но документацию обязательно посматрю, спасибо :)
« Последнее редактирование: 04 Января 2008, 07:04:29 от NIN »



Чтобы было проще обяснить концептуальную модель данных, я хочу привести сначало в примет сам поток данных(data flow model)

Продукт 5 стадии, на картинки эти стадии изображены как:
1. Продукт-Фабрика, 2. Продукт-Склад, 3. Продукт-заказ, 4. Продукт-Доставка, 5. Продукт-Статистика
Рис. 1

При инициализации продукт помещается в (я буду называтьэто емкост)в ёмкость Продукт-Фабрика, инициализация происходит в момент когда на складе количество продукта меньше допустимого, или же в момент когда отправляется заказ к поставщику. В момент когда поставщик поставляет продукт на склад, система перемещает его в емкость Продукт-Склад, Я ещё не подобрал более точного слова чем заказ продукта, но это путь который проходит продукт от офферте до фактуры. ниже я остановлюсь на этом более подробно, но сеичас лучше замечать болше симантическое значение емкости Продукт-Заказ. В эту емкость продукт попадает в тот момент когда фактура оплачена. После этого или в этот момент намечается дата доставки продукта к клиенту. И составляется агенда для доставщика продукта к клиентам. Одновременно продукт перемещается в емкость Продукт-Доставка, и в конце когда доставщик продукта принес подтверждение от клиента, доставленный продукт переносится в ёмкость Продукт-Статистика, дальше пока с продуктом не происходит нечего, он там храница. Для будущего анализа...

Теперь перейдем к концептуальной модели данных, см рис2.


Как я уже упоминал раньше точка отплыва это продукт, на рисунке я описал только сами сущности но не их атрибуты, чтобы можно было увидеть всё в целом. Продукт имеет разные состояния в зависимости от емкости где он находится. Также очень важно понять что сам продукт это только линк между описанием продукта в каталоге и емкостью, знатоки я прошу здесь вашей помощи для разьяснения. Так вот каждый продукт в мире уникален и имеет свой EAN nr. в каталоге мы храним все описания о продукте. Его название, его EAN nr. Его категорию етц. но дальше мы опирируем только линками. Тоесть инициализируя новый продукт мы просто добавляем новый линк с parent_id на оригинальный продукт в каталоге и емкость Продукт-Фабрик. Дальше когда мы перемещаем продукт в другую емкость мы просто изменяем линк на емкость. Тут происходит делема, может ли продукт находится в двух ёмкостях одновременно, если да то мы не меням(edit) а создаем другой линк, а поже когда требуется стераем линк с такойто ёмкости. Это пока не важно...

теперь перейдем на абстракцию процедура-заказа, я пока не знаю как это более точно нарисовать, наверно в диаграммах последовательности, но я хотел бы это указать на рисунке чтобы было более понятней. В ней мы видим следующие сущности: листзаказа, офферте, фактура. Листзаказа нарисован как абстракция, и это только вспомогательная сущностьдля понимая системы, так как это бумажный лист, который заполняет продовец для покупателя ходя по складу. На рисунке я нарисовал что клиент заполняет этот лист, так как в сущности это именно так, продовец только пишет а клиент говорит что писать. Следушая сущность это офферте, которая создаётся на основании того листочка, и храница пока клиент не решит сделать заказ. Как мы видим из рисунка, офферте содержит информацию о клиенте, о продавце и о предложнных продуктах. Если говоритьна уровне имплементации, то она содержит линки на 2 user's один типа клиент, а другой типа продовец, и в другой таблице мы будем хранить линки между продуктом и этой оффетре. Хочу здесь уточнить что под продуктом я имею в виду не продукт в каталоге, а тоже уникальный линк между продуктом в каталоге и емкостью.(см. выше)

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

Как я уже упоминал склад получает из емкости Продукт-Фабрика продукт в момент когда поставщик заказа принес физический продукт на склад. И находится там пока не будет доставлен клиенту. Склад имеет агенду в которой фиксируется количество приходящего и уходящего продукта по дням. Склад предупреждает продавца о не достающих продуктах. Склад создает заказной лист который через емаил отправляется поставщику.

Емкость Продукт-Доставка получает продукт со склада и создает маршрут для развозчика продукта.
Бугалтерия пока не много в стороне, я до неё ещё не добрался, я думаю должна быть сущность 'Óборот' которая как и склад будет фиксироватьвсе приходящие и уходящие деньги, включая товар и персонал.
А так же сущность поставщик товара, было бы удобней видеть модель поставщик-продавец-клиент 


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

заранее благодарен,

Эльдар

P.S. строго не судите новичка ... Корабли имеют сердце и возможность выбират И погибая улыбатся



Эльдар,

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



Саша, дело не в Видении или самой задаче. Дело в подходе, который используют наши посетители. Как я понял Эльдар интересуется, как бы мы решали подобную задачу, если бы столкнулись с ней на практике. У Эльдара есть решения и подходы, он их изложил, но он спрашивает, нет ли более эффективных подходов?

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

Вы как бы против шаблона, но думаеся мне все равно у Вас у самого этот шаблон есть, признаете Вы это или нет. Другое дело, что Вы можете шаблон изменять. Шаблон это не плохо, человек часто мыслит стереотипами, жизнь полна клише. Но одно другому не мешает и не исключает.

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



Эльдар, Ваша DFD мне лично не понятна. Да Вы изобразили скорее стадии изменения статуса продукта. продукт произведен, продукт складирован, продукт заказан, продукт доставлен, выпадает только последний пункт, который ни состояние, ни процесс.

Что касается ERD, ибо это именно то, что я вижу.

Не читая ваше описание попробую составить описание по модели
Каждая офферта содержит информацию об одном и только одном клиенте.
Каждый клиент может делать(?) множество офферте.

Каждый клиент заполняет один и только один лист заказа (не знаю что такое 1+)
Но лист заказ может быть заполнен несколькими разными клиентами

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

Лист заказа содержит один и только один продукт, но один и тот же продукт может размещаться в разных листах заказа

Склад может содержать один и только один продукт, но один продукт может содеражаться в разных складах

Как Вы полагаете восстановленные мною факты соответствуют Вашей предметной области?




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

2. ....сам продукт это только линк между описанием продукта в каталоге и емкостью....


1. Не очень понятно все-таки, у Вас продукт - это "уникальный объект" (1), относящийся к master data, основным данным Вашей системы или только "связь/линк" (2) ?
Каталог - это и есть продукт (запись/записи о конкретном продукте, поставляемом поставщиком)?
Есть несколько поставщиков и у каждого свой каталог? 
Если Продукт только связывает пункт каталога (описание конкретного товара/продукта в каталоге) и емкостью (количеством товара на складе?) то на схеме это никак не показано.
По Вашей схеме Продукт - это скорее некий внутренний каталог компании, который используется только при формировании заказа (но не при доставке клиенту), при этом он никак не связан программно с Каталогом (поставщика?).
2. Не очень понятно, почему к процедуре работы с заказом на схеме Conceptual data model  отнесены только оферта и фактура? Если ставится цель автоматизировать весь конвейер от заказа до доставки продукта к клиенту, представляется логичным использовать Заказ в качестве одной из ключевых сущностей Вашей системы, которая используется во всех процессах от создания заказа клиента до его выполнения (доставки заказа). Ведь пользователи Вашей системы не меняют свойства продукта, при работе системы меняются только свойства/параметры Заказа на этот продукт. В частности оферта и фактура содержат данные о Заказе на разных стадиях его жизненного цикла (lifetime). Поэтому это скорее разные состояния одного Заказа. Если важно, чтобы оферту и фактуру можно было бы распечатывать в виде бумажных документов и есть конкретные требования к информации, которая должна в этих бумажных документах содержаться, то это другая задача. Не стоит бумажные документы сразу рассматривать в качестве master data Вашей системы.
3. Предлагаю Вам изобразить на Conceptual data model только сущности и связи между  ними (ER схему или диаграмму классов) и не пытаться показывать на этой диаграмме разные состояния одной сущности.
« Последнее редактирование: 05 Января 2008, 16:46:40 от Shur »



Цитировать
Вы как бы против шаблона, но думаеся мне все равно у Вас у самого этот шаблон есть, признаете Вы это или нет. Другое дело, что Вы можете шаблон изменять. Шаблон это не плохо, человек часто мыслит стереотипами, жизнь полна клише. Но одно другому не мешает и не исключает.
-  да вы правы, шаблон есть у всех.

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

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

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

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

Conceptueel Data Model которую я нарисовал немного не доработана, дело в том что я её сперва нарисовал на бумаге , написал её коментарии и перенес её dig. формат чтобы показать. Я её исправлю... +1 это означает связь 'один или больше', а точка означает что читать надо со стороны той сущности где стоит точка.  К примеру 'клиент заполняет один или больше листов заказа'.

Но что я хотел заметить что ERD будет сильно отлечатся от Conceptueel data model. Так как при её составлении я буду задумыватся как максимально удобно доставать дату из Базы данных. К примеру сущность офферте будет храница в 2 таблицах, OfferteUser(id, refnr, user_id), OfferteProduct(id, refnr, product_id) и при селекте доставать строки с одинаковым refnr. Но вижу я это как одну сущность офферте имеющая лист с продуктами и users.

Ещё один пример того что я имею в виду, используя MVC шаблон, сущности которые я нарисовал в Conceptueel Data Model это и есть эти модели которые будут использоватся.
« Последнее редактирование: 07 Января 2008, 15:01:15 от NIN »




 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19