Форум Сообщества Аналитиков

×


Просмотр сообщений

В этом разделе можно просмотреть все сообщения, сделанные этим пользователем.


Сообщения - KJIaBogaB

Страницы: 1 2 »
1
Поздравляю! Это хорошо. Помните, UML не простой язык, разработка ПО - сложный многообразный процесс. Обучиться можно только долго и постоянно практикуя.
Вы встали на начала пути. Найдите силы и мотивы для его продвижения. Это того стоит!
Я сейчас пойду по верному пути - сначала изучу UML, т.к. его ещё изучать и изучать. Хочу связать все ниточки процесса проектирования приложения от прецедентов до кодогенерации. А то диаграммы классов вроде бы аналогичны диаграммам ER, но это далеко не весь их функционал. Так же и с остальными диаграммами. Ещё и шаблоны для меня пока темный лес. Но я интуитивно понимаю для чего они нужны, но нужно вникать.
Начал пролистывать книгу Нейштадта и Эрлоу (по памяти пишу могу ошибаться)  - нашел интересный пример того, как не нужно показывать диаграммы прецедентов. Сразу вспомнил свои диаграммы :)
Вообщем ещё учиться и учиться.
Я загорелся этим делом. Всегда мечтал программировать (ну и сейчас осознаю, что и проектировать) - но затянула "обслуга" вычислительной техники и сетей передачи данных так, что забыл про все свои мечты. А тут уже 30 лет и надо что-то для себя решать :) Решил.

2
Спасибо всем за советы, помощь и предложения.
Защитился на 5. Рекомендовали поступать в аспирантуру.
Я конечно понимаю, что уровень не тот, но всё равно очень приятно...

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

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

4
По поводу выбора клиента из комбика.
Типичная ошибка начинающего программера. Я понимаю проект учебный, но
если у вас будет много, очень много клиентов. Ну не меньше несколько сотен, Вы их тоже все будете загонять в комбик? А сам список как формируете, вероятно прямо на браузер клиента портируете весь список чухом?
Хорошо если вы продумали такое поведение датасета, при котором происходит подгрузка данных по мере движения в комбике
В комбик я подгружаю чухом данные из таблицы клиентов. Всего клиентов не более 1500 из которых наверняка всех никогда не зарегистрируем.
С другой стороны я подумал об этом перед реализацией. Я проверил возможность выбора из всего этого списка по первым набранным буквам. Вываливается список, жмакаешь и тут же курсор выделяет нужные фамилии. Вообще Вы верно заметили - учебный проект. Я переделаю исходя из предложений, пожеланий коллег. Я вообще по ходу написания изучал php, html.
Цитата: Водолей
я бы предложил посмотреть на то, как организован интерфейс выбора авторов на lib.rus.ec
Спасибо за предложение. Я после защиты обязательно займусь дальнейшим изучением предмета. Мне всегда это всё нравилось. Да и хватит пользоваться трудами других и не знать как это всё работает изнутри. Нужно уже и самому в жизни что-то сделать! :)

ЗЫ: да и добавить форму поиска клиента не проблема. Самый наверное простой вариант, который я и реализую позже.

5
Переделал ДП для ВИ "Оформление сервисного листа". Показал возможность выбора из списка как клиента, так и зарегистрированных на него единиц СВТ..

Прикрепил скрины с моего сайта, чтобы показать, как я ввожу и выбираю клиента.
Ссылочная целостность у меня работает. Таблицы InnoDB. Поддержание целосности лежит на скрипте (проверяется отсутствие одинаковых записей перед добавлением нового клиента, модели СВТ, Новой Единицы СВТ и т.д.). Для этого и сделаны формы ввода в  справочники моделей, категорий, брэндов, организаций, городов, должностей и т.д.).
Удаляя из справочника строчку должности - удаляются и все записи где использовалась эта должность. Изменяя её в справочнике - меняются все данные. Следовательно On Delete Cascade и On Update Cascade работают.

6
Это уже способ реализации. Т.е. что делает система когда вводится новый клиент? Запускается ВИ создать нового клиента, а как это будет реализовано, это уже второй вопрос, возможно у вас будут несколько разных вариантов.
Про реализацию понятно. Но в целом, если я опишу и процесс создания нового клиента и новой единицы СВТ в одной из диаграмм последовательности для ВИ "Оформить сервисный лист" - это будет нормально? Вообще мои диаграммы последовательности верно направлены? Или я что-то грубо нарушаю?
Нужно ли Добавление клиента и добавление СВТ показать на СДВИ? Ведь эти пункты являются составной частью ВИ - Оформление сервисного листа. Отдельных пунктов в меню сайта у меня нет, но есть возможность выбрать эти пункты из формы оформления сервисного листа.
Однако вводить клиента командой insert - это моветон на мой взгляд, такое допустимо для каких-то перечислений
Возможно я не так выразился.
Insert добавляет в таблицу сервисного листа только индекс клиента (id). Сами данные клиента вносятся в таблицу Клиента.
Или я что-то не так понял? Почему моветон? Можно как то по другому добавлять данные в таблицы помимо комманды insert ?

7
Не влезли все изображения.
Кстати по поводу вопроса декомпозиции тем способом, что я изобразил:
============================================================================================
1. действительно ли каждый раз, когда оформляется сервисный лист вводится информация о клиенте и о СВТ
2. можно ли вводить информацию о клиенте и СВТ, не оформляя сервисный лист (на диаграмма говорится да)
3. если информацию о клиенте и свт можно вводит независимо, не означает ли, что при оформлении сервисного листа нужно найти уже введенного клиента и выбрать СВТ из его списка СВТ?
============================================================================================
1. А разве нельзя подразумевать, что даже если выбираешь информацию из выпадающего списка - всё равно она вводится в сервисный лист (в таблицу Service_list коммандой insert intо) ?
2. Да, можно.
3. Да - именно так.

8
А вот так нормально будет, если оставить СДВИ без изменения?

9
Немного исправил (там был ляп на слайде СДВИ) и добавил новый - декомпозицию ВИ - Оформить новый сервисный лист.
Посмотрите, что я опять не так делаю :)
Или ещё пока рано на декомпозицию замахиваться? (посмотрел пример курсовика Книжный магазин - там вообще нет декомпозиции СДВИ на ВИ - сразу ДД и ДП).
Вообще, хотелось бы знать Вашего мнения по количеству диаграмм разного рода.
Если я функциональные требования к системе выражу через ДСВИ, проведу декомпозицию каждого ВИ, сделаю для каждого ВИ свою ДП и для всей работы создам диаграмму классов и отношений между ними - этого может быть достаточно?
Попробовал ещё и диаграмму классов составить. Посмотрите пожалуйста нужно ли мне в диаграмму классов все экземпляры включать (которые я представил ранее на ER диаграмме - их 18) или же того, что я включил достаточно сейчас на ДК, т.к. это устойчивые классы, а остальные - это по сути справочники?

10
По поводу ДСВИ.
Если это системные варианты использования, то некоторые формулировки я бы все-таки изменил
Прием СВТ (не помню правда что такое С) - мне кажется так звучит бизнес ВИ, а на уровне системы Электроник что-то для этого делает
Средства вычистительной техники. Долго мы к этому слову привыкали :)
Проведение ТО и ремонта СВТ - это некий процесс, но не как не ВИ, это все-таки некоторая совокупность ВИ системного уровня...
Выдача СВТ - аналогично
Видимо я что-то пропустил мимо ушей. Вы же мне уже советовали при оформлении сервисного листа не показывать include работы по вводу информации о клиенте и его СВТ. Я вывернул всё наоборот и показал прием и выдачу.
А надо наверное нарисовать ВИ:
1 - оформление сервисного листа,
2 - оформление наряда на выполение работ,
3 - отображение хода выполнения работ (или лучше написать фиксация выполненных работ),
2 - изменение статуса сервисного листа (закрываем сервисный лист когда все работы выполнены).
Эти ВИ касаются только электроников. По идее они могут иметь возможность сидеть в системе и смотреть информацию о клиентах, СВТ и в поисках прочих статистических данных, но зачем? Они же работают (ремонт и обслуживание СВТ). Пусть поиском нужных данных  их анализом занимается руководитель группы.
Зав.склад мною изменен на руководителя группы, т.к. нет у нас зав.склада (это я уже тут выдумывать начал непонятно зачем). Выдает нам технику и запчасти девушка (мат.ответственное лицо) - вот для неё я и написал этот сайт, чтобы она могла нормально анализировать собранную информацию.

Цитировать
Даже если сравнить с другими названиями ВИ бросается в глаза в одном случае информационность действия, а в другом материальность что ли :)
Вроде бы понял ошибку. Исправил диаграмму.

Цитировать
Далее... диаграмму можно сделать более понятной и обозримой
Электроник выполняет все ВИ кроме последнего
Руководитель, технолог и администратор - практически не отличаются, что странно
Завсклада делает 3 вещи из того, что делает электроник + тоже что и руковдитель
Я поменял завсклад на руководителя группы и убрал отношения электроника и тех ВИ, которые относятся и к руководителю группы.
Цитировать
Можно поиграться отношением обобщения
А можно так оставить как на последнем слайде?

11
Здравствуйте.
Вот я и дописал приложение. Всё работает и радует глаз :)
Посмотрите пожалуйста ещё раз ВИ - можно ли эту ДСВИ оставлять в таком виде.
Заинтересованные лица:
1) Руководитель – желание знать кто, когда и сколько заявок выполнил по оформленным сервисным листам, как быстро, как качественно (т.к. повторные сервисные листы от одного клиента по одной и той же причине вероятнее всего говорят о некачественно выполненной работе).
2) Зав.склад – желание оперативно предоставлять отчеты руководству о находящихся на хранении единицах СВТ (готовые к выдаче после ремонта, ожидающих запчастей, списанных, полученных по распоряжениям для выдачи на новые рабочие места или замены существующим)
3) Технолог – желание оперативно отслеживать ход выполнения ремонта единиц СВТ по своей зоне ответственности за определенные рабочие места (для последующей установки и/или настройки дополнительного ПО).
4) Администратор СПД – желание оперативно отслеживать ход выполнения ремонта единицы СВТ для последующей настройки СВТ (ведь для работы в СПД необходимо ввести ПК в домен, установить антивирус, настроить сетевые подключения и т.д.)
5) Электроник – желание один раз оформить новую единицу СВТ и закрепить её за одним пользователем (чтобы в дальнейшем при оформлении в ремонт/обслуживание выбирать нужного клиента и его СВТ из списка оформленных ранее).
Ещё приложил ДД (так как я всё равно её сделал, чтобы сразу и оценили, можно ли в таком виде оставить). А ДА (диаграммой активности) её вообще нельзя называть? Или это просто старое название ДД ?

12
Но - это не все требования к системе. Т.е. одних ВИ недостаточно для проектирования системы. Это нужно учитывать.
Я это учитываю. Просто я показал пока только ВИ, потому, что нет смысла дальше двигаться не поняв ВИ.

Цитировать
Мне кажется последняя диаграмма (на другие я не обращаю внимание) не совсем корректна. Я вообще у вас не улавливаю разницу между БВИ и СВИ.
Я представляю себе СВИ, как варианты использования системы мной. Что бы я хотел делать с помощью системы.
Ну как я это вижу, так и показал... Другое дело что:

Цитировать
На самом деле ошибки есть
1. зачем демонстрировать уточняющие роли, что они дополнительного показывают? Другое дело, если бы Вы тем самым показали, что у разных ролей могут быть разные цели использования (ВИ)
2. Ввод информации о СВТ и ввод информации о клиенте - бессмысленен без оформление сервисного листа, вернее наоборот оформление всегда включает первые два действия, а смысл этой демонстрации?
3. связано с пунктом 1 - не показана дифференциация пользователей  их целей - отсюда и ВИ использования системы не совсем внятные
4. а это связано с тем, что неясны цели использования системы, ее назначение
1. Вроде бы понятно.
2. Не знал. Почему-то думал, что именно так и надо показывать (уточнять). Теперь понятно.
3. Вроде бы понятно. Постараюсь переделать и показать что получилось.
4. Цели использования системы:
а)Открыть новый сервисный лист для внесения данных о клиенте, СВТ, причине обращения с возможностью печати копии для клиента.
б)Сформировать заявку на ремонт/обслуживание СВТ клиента по открытому сервисному листу.
в)Отслеживать сформированные заявки на предмет своевременного их выполнения.
г)Формирование отчетов для анализа эффективности выполненных работ
д)Сбор статистических данных.

Т.е. по пункту 3+4 можно сделать диаграмму СВИ, где актер зав.склад будет ассоциироваться к ВИ (д), а актер начальник будет ассоциироваться с ВИ (г) ?


13
Забыл приаттачить картинки ВИ

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

15
Мне кажется, нет. Если задача состоит в описании бизнес процессов сервисного центра, то границы и есть сам сервисный центр, а актеры

сосредоточенные вокруг него - это внешние сущности: клиенты, поставщики, партнеры и т.п., которые заинтересованы во взаимодействии с центром и

имеет какие-то цели, достижение которых центр обеспечивает.
В этом случае у клиента нет цели Доставить СВТ, а есть цель Отремонтировать СВТ.
Верно. Я только хотел показать, что к нам доставляют СВТ. А ведь действительно, зачем это показывать, если это нас не касается...
Картинка Bussines_UseCase.jpg - так должна выглядеть ДБВИ ?
Дальше получается нужно описывать уже ДСВИ?

Сотрудник центра внутри границ этого контекста - он исполнитель. Смотрите на свою ДД на ней появились эти самые сотрудник-роли более подробно.
А я думал, что нужно указывать границы самого приложения.
Или это уже в ДСВИ делается (System Boundary)...
Я попробовал вот так:
System_UseCase_Diag.jpg

Если цель ваша построить решение Управления заявками на ремонт вычислительной техники, то контекстом станет эта самое решение - приложение, в

котором Клиент может стать актером (если он работает с вашим приложением для размещения и отслеживания порядка исполнения заявки),
Да, цель именно в этом, только без участия в этом клиента.

а может и не стать, если заявку принимает сотрудник, вводит ее в систему и сам контролирует и извещает клиентов о готовности. В этом случае ВИ

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

Без или. Каждый ВИ должен быть специфицирован тем или иным способом. Способ спецификации (текст, диаграммы) должен быть продиктован

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

Нормальный классический структурный подход. ER-моделирования вполне может быть достаточно в вашем случае, если вы правильно понимаете весь

процесс проектирования. Однако ER - это проектирование статической структуры, а поведенческие аспекты все равно придется передавать либо

описанием алгоритмов (в том числе рисованием блок-схем) либо использования соответствующих средств описания поведения: сценарии, конечные

автоматы, сети петри и т.п.
Ясно. Мой научный руководитель говорит, что этой ER-диаграммы вполне достаточно для части проектирования.

Я бы не назвал это полным проектом БД, это лишь часть метасхемы:
- каковы процедуры ссылочной целостности
- доменная структура только базовая
- не заданы альтернативные ключи, инвертированные входы(индексы) кроме первичных
- не определены бизнес правила на значения
- нет представлений обеспечивающие инкапсуляцию структуры
- нет ни триггеров ни хранимых процедур определяющих некоторую бизнес-логику
Т.е. все это будет зашито в приложении видимо. А как будет разрабатываться приложение? С использованием паттерна Magic Button или Document-View

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

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


Знаете ли Вы вообще что либо о приниципах структурного или ОО проектирования?
Со структурным проектированием я познакомился на предмете Экономические Информационные Системы. Там нам показывали (IDEF)SADT методологию и учили работать в BP Win.
А на предмете по проектированию ИС нас грузили определениями из ГОС. Точнее мы только писали, писали, писали сами не понимая и не осознавая что мы пишем и зачем (хотя курс у нас конечно очень сжатый - всего наверное часов 30 и то не было)  и в конце всего курса бегом показали StarUML.
Но когда надо было делать курсовик по проектированию ИС - пришлось почитать Вендрова, посмотреть курсы UML Грекула на Intuit.ru. Но в голове образовалась такая каша, которую Вы сейчас наблюдаете. Курсовик я так и сдал - видели что сам учил, вникал - видимо заслужил. Это что касается ООП проектирования.
Поэтому могу сказать, думал что знаю о принципах проектирования структурного и ООП. Но сам понимаю, что слишком мало прочитал и освоил для того, чтобы свободно в этом разбираться.
Структурное проектирование - SADT (с этой методологией знаком по Case средсву BPWin.
ООП проектирование - UML как один из вариантов (Case средств много - я использую StarUML).

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

Страницы: 1 2 »