Модераторы: Се ля ви

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Скажите как можно освоить UML, Скажите как можно освоить UML 
:(
    Опции темы
tarasD
Дата 17.12.2007, 15:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 66
Регистрация: 5.5.2007

Репутация: нет
Всего: 1



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

Как можно помочь мне в этой ситуации. Может быть существуют какие-нибудь книги с множеством примеров, или что нибудь еще. Или язык моделирования нужно освоить тогда когда уже имеешь опыт проектирования?????
PM MAIL   Вверх
Се ля ви
Дата 17.12.2007, 15:38 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Java/SOAрхитектор
****


Профиль
Группа: Модератор
Сообщений: 2016
Регистрация: 5.6.2004
Где: place without tim e and space

Репутация: 3
Всего: 127



Самая лучшая, на мой взгляд, вводная книга по UML - "UML Основы" Мартина Фаулера. Дальше более углублённо можно изучать по "UML. Классика CS" Буча, Якобсона и Рамбо.


--------------------
  )
 (
[_])
проф. блог

Кролики думали, что занимаются любовью, а на самом деле их просто разводили...
PM MAIL WWW Skype GTalk   Вверх
ida
Дата 18.12.2007, 13:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


замужем
****


Профиль
Группа: Завсегдатай
Сообщений: 2277
Регистрация: 14.5.2002
Где: Санкт-Петербург

Репутация: 6
Всего: 58



tarasD, давайте я вас обучу.

У меня два десятка коллег уже подверглись этой процедуре, UML сделали внутренним стандартом, мы его в официальных документах используем.
PM WWW   Вверх
tarasD
Дата 19.12.2007, 16:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 66
Регистрация: 5.5.2007

Репутация: нет
Всего: 1



Давайте!
PM MAIL   Вверх
Platon
Дата 19.12.2007, 20:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1801
Регистрация: 25.4.2006

Репутация: нет
Всего: 40



Ууух, тема в руку, буду следить с удовольствием.
PM MAIL ICQ   Вверх
vibo62
Дата 20.12.2007, 14:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 1
Регистрация: 20.12.2007

Репутация: нет
Всего: нет



И я с удовольствием присоединюсь к группе обучающихся. smile 
PM MAIL   Вверх
tarasD
Дата 20.12.2007, 15:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 66
Регистрация: 5.5.2007

Репутация: нет
Всего: 1



Я думаю что, когда человек прочитает кое-какую информацию про язык моделирования, а также разберет примеры проектируэмых систем то у него есть все шансы в будущем наичиться писать хорошые системы. 
PM MAIL   Вверх
ida
Дата 22.12.2007, 19:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


замужем
****


Профиль
Группа: Завсегдатай
Сообщений: 2277
Регистрация: 14.5.2002
Где: Санкт-Петербург

Репутация: 6
Всего: 58



Цитата(tarasD @ 20.12.2007,  16:56)
когда человек прочитает кое-какую информацию про язык моделирования, а также разберет примеры проектируэмых систем то у него есть все шансы в будущем наичиться писать хорошые системы.

Шансы есть.
Но невысокие.  smile 
PM WWW   Вверх
ida
Дата 26.12.2007, 16:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


замужем
****


Профиль
Группа: Завсегдатай
Сообщений: 2277
Регистрация: 14.5.2002
Где: Санкт-Петербург

Репутация: 6
Всего: 58



Всем, кому интересно - я начну у себя в журнале (ссылка внизу) разбирать примеры по UML. Кому нужно - поучаствуйте.
PM WWW   Вверх
0000
Дата 26.12.2007, 16:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 208
Регистрация: 11.7.2006
Где: Нижний Новгород

Репутация: нет
Всего: 5



Цитата(ida @ 26.12.2007,  16:37)
Примером будем считать некоторое словесное описание. По нему я нарисую диаграммы и объясню, почему они выглядят именно так.

проектирование дело творческое...одна система может быть представлена по-разному..
PM MAIL ICQ   Вверх
ida
Дата 27.12.2007, 09:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


замужем
****


Профиль
Группа: Завсегдатай
Сообщений: 2277
Регистрация: 14.5.2002
Где: Санкт-Петербург

Репутация: 6
Всего: 58



0000, без сомнения. Именно поэтому я буду объяснять каждый пример.
PM WWW   Вверх
ida
Дата 13.5.2008, 16:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


замужем
****


Профиль
Группа: Завсегдатай
Сообщений: 2277
Регистрация: 14.5.2002
Где: Санкт-Петербург

Репутация: 6
Всего: 58



Я тут насчитала четырех участников, которые хотели поучиться. Еще один написал мне в личную почту.

В журнале разобрала два примера.
Чувствую, надо разворачивать дело smile

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

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

На каждый пример я беру неделю. Потом обсуждение.

Кто согласен?

Это сообщение отредактировал(а) ida - 13.5.2008, 16:50
PM WWW   Вверх
alexpotemkin
Дата 13.5.2008, 22:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 76
Регистрация: 21.11.2006

Репутация: нет
Всего: нет



Ida какие могут быть возражения. smile 
Мне UML на данном этапе интересен относительно позиций тестера и аналитика.
Книгой Язык UML Руководство пользователя (Буч, Рамбо, Джекобсон) вооружился.  smile 


Это сообщение отредактировал(а) alexpotemkin - 13.5.2008, 23:14
PM MAIL   Вверх
ida
Дата 14.5.2008, 17:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


замужем
****


Профиль
Группа: Завсегдатай
Сообщений: 2277
Регистрация: 14.5.2002
Где: Санкт-Петербург

Репутация: 6
Всего: 58



alexpotemkin, а давайте примерчик тогда.
Пока остальные спят...
PM WWW   Вверх
Esperito
Дата 14.5.2008, 21:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 147
Регистрация: 2.9.2007

Репутация: нет
Всего: 3



Давайте я smile
Я студент, обучаюсь на 4 курсе политехнического института. Специальность называется "Системный анализ и управление".
Я до сих пор не совсем понимаю, чем должен заниматься специалист моего профиля после окончания института. Но есть идея, что анализом и проектированием различных систем, для чего мне потребуется UML.
Пример... Пусть вот такой:
---
Автоматизация складского учёта и оборота товаров на торговых точках.

1. Существует несколько торговых точек на разных рынках. Каждая из них представляет собой отдельный небольшой склад товаров.
2. На каждую торговую точку приходят товары от нескольких поставщиков. Товары также могут передаваться со склада на склад (без наценки). Для таких операций ведётся отчётность - формируются приходные накладные.
3. Каждая торговая точка продаёт товар, в розницу - обычным покупателям, оптом - перепродавцам по сниженой цене. Для каждого перепродавца идёт своя наценка на товары, для обычных покупателей - одна общая наценка на товары. При продаже должна формироваться расходная накладная.
4. Нужно иметь возможность видеть текущее состояние на всех торговых точках: цены, количество и суммарную стоимость каждого товара и всех товаров вместе.
5. Нужно, чтобы формировался отчёт об обороте товаров за указанный период на торговой точке и на всех точках вместе.
6. Нужно, чтобы формировался отчёт об обороте товаров за указанный период по указанному поставщику или перепродавцу.
Информация о товарах берётся из накладных.
---
Не знаю, насколько подходящий этот пример... Мне кажется, что RUP в таких проектах применять не стоит. Разве что для обучения smile
PM MAIL   Вверх
alexpotemkin
  Дата 15.5.2008, 15:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 76
Регистрация: 21.11.2006

Репутация: нет
Всего: нет



ту Esperito
Вот хороший пример реализации диаграмм, практически по заданной вами теме
http://www.interface.ru/fset.asp?Url=/misc/uml1.htm
PM MAIL   Вверх
sandello
Дата 17.5.2008, 15:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 295
Регистрация: 18.5.2005
Где: Пермь

Репутация: нет
Всего: 2



Я тоже с удовольствием поучаствую. Как раз хочу разобраться с разницей подходов в зависимости от роли.


--------------------
user posted image
PM MAIL Jabber   Вверх
ida
Дата 18.5.2008, 11:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


замужем
****


Профиль
Группа: Завсегдатай
Сообщений: 2277
Регистрация: 14.5.2002
Где: Санкт-Петербург

Репутация: 6
Всего: 58



sandello, а представьтесь и вы тоже.
PM WWW   Вверх
ida
Дата 18.5.2008, 12:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


замужем
****


Профиль
Группа: Завсегдатай
Сообщений: 2277
Регистрация: 14.5.2002
Где: Санкт-Петербург

Репутация: 6
Всего: 58



Esperito, п.1-3 это описание предметной области, а п. 4-6 - функциональные требования.

Чтобы нарисовать модель классов для этого примера, мне нужно выделить все классы предметной области. Из вашего описания получаются такие кандидаты в классы:

Торговая точка
Товар
Покупатель
Поставщик
Рынок (?)
Склад (?)

Возможно, есть еще какие-то кандидаты, которые в описании не упомянуты.

Чтобы нарисовать модель вариантов использования, мне нужно знать, какие классы пользователей будут формировать отчеты и смотреть состояние торговых точек (п. 4-6). А также, какие еще действия будут выполняться с помощью системы, и кто их будет выполнять (точнее - кому это нужно).

Это сообщение отредактировал(а) ida - 18.5.2008, 12:05
PM WWW   Вверх
Esperito
Дата 18.5.2008, 17:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 147
Регистрация: 2.9.2007

Репутация: нет
Всего: 3



Цитата(alexpotemkin @ 15.5.2008,  15:21)
ту Esperito
Вот хороший пример реализации диаграмм, практически по заданной вами теме
http://www.interface.ru/fset.asp?Url=/misc/uml1.htm

Спасибо за ссылку!

ida: Спасибо за пояснения.
1. Торговая точка и склад - суть одно и то же, мне кажется нет смысла их разделять. Это как бы ммм... именованый набор товаров, которые где-то хранятся.
Рынок тоже не стоит выделять.
Я ещё забыл написать, что владелец торговых точек (предприятие либо частное лицо) несёт дополнительные издержки - например, аренда торговых точек, расходы на бензин и т.п.
Т.е список классов наверное примерно такой:

Склад
Товар
Издержка
Покупатель
Поставщик

2. Классы пользователей:

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

3. Данные о накладных должны передаваться (например, на дискете или флешке) от каждого реализатора владельцу. На их основе он будет формировать свои отчёты.
PM MAIL   Вверх
sandello
Дата 19.5.2008, 09:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 295
Регистрация: 18.5.2005
Где: Пермь

Репутация: нет
Всего: 2



Цитата(ida @  18.5.2008,  14:47 Найти цитируемый пост)
sandello, а представьтесь и вы тоже. 

Эээ... что хотите узнать? Имя-фамилия?
Звать Денисом. Текущая должность - начальник отдела разработки ПО.

Это сообщение отредактировал(а) sandello - 19.5.2008, 09:07


--------------------
user posted image
PM MAIL Jabber   Вверх
alexpotemkin
  Дата 19.5.2008, 09:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 76
Регистрация: 21.11.2006

Репутация: нет
Всего: нет



Пожалуй не соглашусь с Esperito по поводу выноса издержек в отдельный класс. По моему мнению издержка это скорее "процедура" которая может как внести изменение в стоимость товара и возможно оставляющая после себя документальное отображение, т.е. как например накладная на закупленное топливо для перевозки товара, счет на оплату аренды помещений - вот как раз эти документы можно отнести к классам (общим, таким как накладная и счет).
Но в данном случае предлагаю отказаться от таких глубоких построений и для начала принять определенный уровень абстракции, т.е. рассматривая эту задачу как полноценную мы получаем основательный набор классов, например: торговая точка (склад), поставщик, покупатель, бухгалтерия, отдел снабжения, служба реализации (магазин), сотрудники склада, документы склада (инвентаризационная ведомомсть), кладовщик, сотрудники бухгалтерии, документы бухгалтерии (приходные накладные, расходные накладные, акты перемещения, акты списания), бухгалтер, продавец магазина, документы магазина (чек) и т.п. Задача на вид простая на самом деле требует основательного описания для полноценного моделирования.
Возможно я ошибаюсь, поэтому хотелось бы знать мнение ida по моему тексту smile.



Это сообщение отредактировал(а) alexpotemkin - 19.5.2008, 09:41
PM MAIL   Вверх
ida
Дата 19.5.2008, 12:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


замужем
****


Профиль
Группа: Завсегдатай
Сообщений: 2277
Регистрация: 14.5.2002
Где: Санкт-Петербург

Репутация: 6
Всего: 58



Цитата(Esperito @ 18.5.2008,  18:21)
1. Торговая точка и склад - суть одно и то же, мне кажется нет смысла их разделять.

Тогда почему по-разному называются?
Либо нужно выбрать какое-то одно название и придерживаться его, чтобы не было путаницы, либо описать ситуации, при которых разница имеет значение. Может ли торговая точка не быть складом?.. Может ли склад не быть торговой точкой? Если такие варианты в данной предметной области возможны и для нас имеют значение, то их нужно разделить.
То же самое с рынком.
Цитата(Esperito @ 18.5.2008,  18:21)
Я ещё забыл написать, что владелец торговых точек (предприятие либо частное лицо) несёт дополнительные издержки - например, аренда торговых точек, расходы на бензин и т.п.
Т.е список классов наверное примерно такой:

Склад
Товар
Издержка
Покупатель
Поставщик

Издержки больше тянут на атрибут класса Торговая точка.
Но чтобы понять, так ли это, надо выяснить, в каких ситуациях эти издержки фигурируют.

Цитата(Esperito @ 18.5.2008,  18:21)
2. Классы пользователей:

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

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

Цитата(Esperito @ 18.5.2008,  18:21)
3. Данные о накладных должны передаваться (например, на дискете или флешке) от каждого реализатора владельцу. На их основе он будет формировать свои отчёты.

В какой форме?

Цитата(alexpotemkin @ 19.5.2008,  10:40)
рассматривая эту задачу как полноценную мы получаем основательный набор классов, например: торговая точка (склад), поставщик, покупатель, бухгалтерия, отдел снабжения, служба реализации (магазин), сотрудники склада, документы склада (инвентаризационная ведомомсть), кладовщик, сотрудники бухгалтерии, документы бухгалтерии (приходные накладные, расходные накладные, акты перемещения, акты списания), бухгалтер, продавец магазина, документы магазина (чек) и т.п.

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

Это сообщение отредактировал(а) ida - 22.5.2008, 21:46
PM WWW   Вверх
alexpotemkin
  Дата 19.5.2008, 19:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 76
Регистрация: 21.11.2006

Репутация: нет
Всего: нет



Цитата

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

ida за что вы так кодеров smile

Торговая точка (склад)
Продавец
Покупатель
Поставщик
Бухгалтер
Кладовщик
Приходной документ
Расходной документ

ida такой состав классов будет достаточным или нет? Или тут тоже есть избыточность?
PM MAIL   Вверх
ida
Дата 19.5.2008, 22:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


замужем
****


Профиль
Группа: Завсегдатай
Сообщений: 2277
Регистрация: 14.5.2002
Где: Санкт-Петербург

Репутация: 6
Всего: 58



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

Я бы все-таки хотела получить обратную связь от автора примера, прежде чем решать, какие классы нужны, а какие нет.
PM WWW   Вверх
alexpotemkin
  Дата 19.5.2008, 22:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 76
Регистрация: 21.11.2006

Репутация: нет
Всего: нет



тогда вычеркиваем документы и ждем автора примера
моя согласна сэнсей (а разве есть выбор?)  smile

Это сообщение отредактировал(а) alexpotemkin - 19.5.2008, 22:22
PM MAIL   Вверх
ida
Дата 19.5.2008, 22:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


замужем
****


Профиль
Группа: Завсегдатай
Сообщений: 2277
Регистрация: 14.5.2002
Где: Санкт-Петербург

Репутация: 6
Всего: 58



Ида закуривает ганджубас, присаживается на камушек и ждет рассвета... на рассвете из щелей между камнями вылезают Авторы... и идут греться на солнышке
PM WWW   Вверх
chipset
Дата 21.5.2008, 02:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 4071
Регистрация: 11.1.2003
Где: Seattle, US

Репутация: нет
Всего: 164



ida, а ты в своих диаграммах учитываешь особенности реализации с разными технологиями? Или можно анализировать проблему и разложить её на языко-технологио-независимые компоненты? Но с другой стороны, тогда и самому аналитику приходится копаться в девелопменте?


--------------------
Цитата(Jimi Hendrix)
Well, I stand up next to a mountain
And I chop it down with the edge of my hand
PM MAIL WWW   Вверх
ida
Дата 21.5.2008, 08:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


замужем
****


Профиль
Группа: Завсегдатай
Сообщений: 2277
Регистрация: 14.5.2002
Где: Санкт-Петербург

Репутация: 6
Всего: 58



chipset, какие технологии?..... Мы еще не дошли до проектирования.

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

Это сообщение отредактировал(а) ida - 21.5.2008, 08:40
PM WWW   Вверх
chipset
Дата 21.5.2008, 09:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 4071
Регистрация: 11.1.2003
Где: Seattle, US

Репутация: нет
Всего: 164



Я вообще это немножко оффтоплю. ida, просто не знал что есть модель анализа и модель архитектуры smile Я тупо набрасываю на клочке бумаге классы, девайсы, и всякого рода неразборчивые значки. Agile рулит!


--------------------
Цитата(Jimi Hendrix)
Well, I stand up next to a mountain
And I chop it down with the edge of my hand
PM MAIL WWW   Вверх
ida
Дата 21.5.2008, 13:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


замужем
****


Профиль
Группа: Завсегдатай
Сообщений: 2277
Регистрация: 14.5.2002
Где: Санкт-Петербург

Репутация: 6
Всего: 58



chipset, у вас специфика другая скорее всего.

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

Не знаю, понятно ли я объяснила...
PM WWW   Вверх
altspam
Дата 21.5.2008, 16:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 7
Регистрация: 21.5.2008

Репутация: нет
Всего: нет



Здравствуйте, ida и товарищи обучающиеся!
Меня зовут Иван, я веб-разработчик. Интересуюсь грамотным проектированием, и задачка подходящая имеется.
У вас еще открыт набор в группу?
PM MAIL   Вверх
ida
Дата 21.5.2008, 18:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


замужем
****


Профиль
Группа: Завсегдатай
Сообщений: 2277
Регистрация: 14.5.2002
Где: Санкт-Петербург

Репутация: 6
Всего: 58



altspam, проходите, проходите...
Пока Esperito курит (похоже, что-то крепкое... smile), мы и вашу задачку послушаем.  smile 
PM WWW   Вверх
Esperito
Дата 22.5.2008, 15:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 147
Регистрация: 2.9.2007

Репутация: нет
Всего: 3



Извиняюсь, что так долго отсутствовал. Локальная сеть падала.

Цитата(ida @ 19.5.2008,  12:03)

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

Согласен. Я просто пока смотрю как с точки зрения программиста, извините за ограниченность мышления smile
Торговая точка в данной задаче - это склад товаров + человек, который их принимает на склад и продаёт их со склада, а также ведёт отчётность этих операций.
Насчёт рынка - это просто атрибут торговой точки, где она находится. Определяющего значения для чего-либо не имеет.

Цитата(ida @ 19.5.2008,  12:03)

Издержки больше тянут на атрибут класса Торговая точка.
Но чтобы понять, так ли это, надо выяснить, в каких ситуациях эти издержки фигурируют.

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

Цитата(ida @ 19.5.2008,  12:03)

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

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

Цитата(ida @ 19.5.2008,  12:03)

В какой форме?

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

Цитата(ida @ 19.5.2008,  12:03)

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

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

P.S. Чем я только не занимался, пока не было сети... Какое там крепкое курево, тут без интернета не проживёшь и 3х дней, наркомания прямо smile

Это сообщение отредактировал(а) Esperito - 22.5.2008, 15:22
PM MAIL   Вверх
altspam
Дата 22.5.2008, 15:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 7
Регистрация: 21.5.2008

Репутация: нет
Всего: нет



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

Есть несколько типов данных, по сути — постов:
  • пост-ссылка
  • статья
  • опрос
  • вопрос специалисту
  • участок (для продажи)
  • заявка на участок
  • населенный пункт
  • организация
  • документ 
  • термин словаря
  • альбом (галерея)
  • фотография
  • объект на карте
У каждого типа свои поля, например, у термина есть варианты и переводы; у участка — площадь, цена, коммуникации и привязка к населенному пункту, и так далее. 

К любому посту можно присоединить фотографии, файлы и объекты на карте.

Незарегистрированный посетитель может оставить комментарий, указав и подтвердив email.
Зарегистрированный может задавать вопросы, заказывать услуги, редактировать профиль и создавать посты в открытых разделах (например, в населенных пунктах).
Админ может отвечать на вопросы (и управлять сайтом).

Важный момент — фильтрация контента. Мы планируем для каждого типа данных ввести всевозможные фильтры, по которым человек легко сможет выбрать нужное для себя. Скажем для документа это будет тип (Закон, ГОСТ, СНиП), для заявки на участок — местоположение, приемлимая цена, наличие дома и т.п. И для всех объектов: раздел, метки и дата публикации.
---


Почитал статьи про UML и сейчас читаю книги:
  • Г. Буч, Д. Рамбо, А. Джекобсон — «Язык UML. Руководство пользователя».
  • К. Ларман — «Применение UML и шаблонов проектирования».
  • М. Фаулер — «UML. Основы».
Особенно нравится последняя :) Но вообще непонятно, как все это применять к реальной задаче. Смотришь пример — все ясно, а берешь свой — тупик. Сначала я хотел просто составить схему БД, но застрял в ней, т.к. кроме списка принципов, на которых будет основан сайт, ничего больше нет.

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

В конце концов я попробовал выделить некоторые сущности и начал рисовать диаграмму классов, пока что она выглядит так:

user posted image

Буду очень благодарен за наставление на путь истинный :)

Это сообщение отредактировал(а) altspam - 28.5.2008, 03:33
PM MAIL   Вверх
ida
Дата 22.5.2008, 21:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


замужем
****


Профиль
Группа: Завсегдатай
Сообщений: 2277
Регистрация: 14.5.2002
Где: Санкт-Петербург

Репутация: 6
Всего: 58



Цитата(Esperito @ 22.5.2008,  16:11)
Торговая точка в данной задаче - это склад товаров + человек, который их принимает на склад и продаёт их со склада, а также ведёт отчётность этих операций.
Насчёт рынка - это просто атрибут торговой точки, где она находится. Определяющего значения для чего-либо не имеет.

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

Тогда я считаю, что нам нужен класс Торговая точка. А классы Рынок и Склад не нужны.

А владелец с торговой точкой каким отношением связаны? Один ко многим?
В контексте данной задачи у всех торговых точек один владелец? Или есть много владельцев, и у каждого по несколько торговых точек?

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

Тогда получится такой набор классов:

Торговая точка
Товар
Владелец
Поставщик
Покупатель

Согласны?

А в вариантах использования действующими лицами будут Владелец и Реализатор (как пользователи программы).

Это сообщение отредактировал(а) ida - 22.5.2008, 22:11
PM WWW   Вверх
ida
Дата 22.5.2008, 22:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


замужем
****


Профиль
Группа: Завсегдатай
Сообщений: 2277
Регистрация: 14.5.2002
Где: Санкт-Петербург

Репутация: 6
Всего: 58



altspam, у вас задача на проектирование, а не на анализ.

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

Давайте по порядку.

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

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

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

Если вы хотите начать именно с вариантов использования, то я бы выделила три класса пользователей по отношению к вашему сайту:

Администратор
Зарегистрированный пользователь
Незарегистрированный пользователь

Дальше определите наборы функций, которые должны быть доступны каждому из них.

Цитата
Но что считать прецендентом?

Логически завершенную последовательность действий, результат которой имееет значение для пользователя.

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

Это сообщение отредактировал(а) ida - 22.5.2008, 22:50
PM WWW   Вверх
Esperito
Дата 23.5.2008, 01:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 147
Регистрация: 2.9.2007

Репутация: нет
Всего: 3



Цитата(ida @ 22.5.2008,  21:55)

А владелец с торговой точкой каким отношением связаны? Один ко многим?
В контексте данной задачи у всех торговых точек один владелец? Или есть много владельцев, и у каждого по несколько торговых точек?

Единственный владелец, много торговых точек. Один ко многим.

Цитата(ida @ 22.5.2008,  21:55)

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

Тогда получится такой набор классов:

Торговая точка
Товар
Владелец
Поставщик
Покупатель

Согласны?

А в вариантах использования действующими лицами будут Владелец и Реализатор (как пользователи программы).

Да, понял, спасибо. Согласен.
PM MAIL   Вверх
altspam
Дата 23.5.2008, 04:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 7
Регистрация: 21.5.2008

Репутация: нет
Всего: нет



Спасибо за пояснения. Попробую расписать варианты использования.

Цитата(ida @  22.5.2008,  22:18 Найти цитируемый пост)
altspam, у вас задача на проектирование, а не на анализ.

А они разве не взаимосвязаны? Мы проанализировали предметную область в силу своих скромных способностей, учитывали при этом опыт нынешнего сайта и его ошибки. Теперь можно начать делать сайт «на коленке», и решать проблемы по ходу появления, но хочется все же спроектировать цельную расширяемую систему и воплотить ее.
PM MAIL   Вверх
ida
Дата 23.5.2008, 10:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


замужем
****


Профиль
Группа: Завсегдатай
Сообщений: 2277
Регистрация: 14.5.2002
Где: Санкт-Петербург

Репутация: 6
Всего: 58



Цитата(altspam @ 23.5.2008,  05:49)
Мы проанализировали предметную область в силу своих скромных способностей, учитывали при этом опыт нынешнего сайта и его ошибки.

И где результаты анализа?...
Где процессы?
Где жизненные циклы объектов?
Где функциональные требования?
Ограничения?
И т.п.
PM WWW   Вверх
sandello
Дата 25.5.2008, 09:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 295
Регистрация: 18.5.2005
Где: Пермь

Репутация: нет
Всего: 2



Цитата(ida @  23.5.2008,  00:55 Найти цитируемый пост)
Выделять издержки в отдельный класс смысла не имеет, поскольку они не могут существовать отдельно от торговой точки или владельца

А как быть с типизацией издержек? Есть издержка такая, есть сякая. И они как класс не зависят ни от чего. К примеру издержка "транспортные расходы", Эти транспортные расходы не зависят ни от чего. Конкретные Т.Р., конечно же, привязаны к конкретной торговой точке, владельцу, товару и т.д.

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

Если я правильно понял, на данном этапе (построение модели анализа) нужно выделить независимые классы предметной обласи. Т.е. классы, экземпляры которых «в жизни» могут существовать сами по себе. Так оно?


--------------------
user posted image
PM MAIL Jabber   Вверх
ida
Дата 25.5.2008, 20:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


замужем
****


Профиль
Группа: Завсегдатай
Сообщений: 2277
Регистрация: 14.5.2002
Где: Санкт-Петербург

Репутация: 6
Всего: 58



Цитата(Esperito @ 23.5.2008,  02:33)
Цитата(ida @ 22.5.2008,  21:55)
в вариантах использования действующими лицами будут Владелец и Реализатор (как пользователи программы).

Да, понял, спасибо. Согласен.

Тогда варианты использования предлагаю следующие:

1. Владелец:
Получить отчеты (разновидности отчетов вы перечисляли)

2. Реализатор:
Ввести данные из накладных
Получить отчеты

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

К размышлению:
Если требуется импорт данных из системы наружу, то надо подумать, кто будет производить этот импорт (или он будет производиться в автоматическом режиме?). Возможно, это будет делать Владалец, а возможно, другое действующее лицо - например, Бухгалтер. Т.е. есть вероятность, что мы сейчас нашли упущенного пользователя.


Цитата(sandello @ 25.5.2008,  10:31)
А как быть с типизацией издержек? Есть издержка такая, есть сякая. И они как класс не зависят ни от чего. К примеру издержка "транспортные расходы", Эти транспортные расходы не зависят ни от чего. Конкретные Т.Р., конечно же, привязаны к конкретной торговой точке, владельцу, товару и т.д.

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

Цитата(sandello @ 25.5.2008,  10:31)
Если я правильно понял, на данном этапе (построение модели анализа) нужно выделить независимые классы предметной обласи. Т.е. классы, экземпляры которых «в жизни» могут существовать сами по себе. Так оно?

Обобщенно - да.

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

Это сообщение отредактировал(а) ida - 25.5.2008, 20:22
PM WWW   Вверх
sandello
Дата 26.5.2008, 14:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 295
Регистрация: 18.5.2005
Где: Пермь

Репутация: нет
Всего: 2



Попробую кратко описать.

Рассмотрим компанию, предоставляющие некоторые услуги абонентам. Особенность услуг - продолжительность: услуга начинает оказываться регулярно с момента заключения договора и до его разрыва. К примеру, услуга "телефонная связь". Или "вывоз мусора". Для предоствления конкретной услуги конкретному абоненту нужно обладать некоторой информацией, на пример, номером телефона для "телефонной связи" или "адресом" для "вывоз мусора.

Нужно построить систему которая
1. Будет хранить абонентов, услуги
2. Позволит понять каким абонентам какие услуги предоставляются. Когда начали предоставлять эти услуги, когда закончим.
3. Хранит информацию, необходимую для предоставления услуги каждому абоненту.

Далее.
Система предназначена для сотрудников абонентского отдела. Последние хотят:
1. завести нового абонента
2. найти существующего
3. заключить договор и начать предоставлять услуги
4. разорвать договор и прекратить предоставлять услуги
5. переключить в рамках одного договора с одной услуги на другую.
6. посмотреть абонента и его услуги

Пока все. Если это описание окажется не целостным (вдруг я что-то забыл smile) - добавлю.

Это сообщение отредактировал(а) sandello - 26.5.2008, 14:33


--------------------
user posted image
PM MAIL Jabber   Вверх
ida
Дата 26.5.2008, 17:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


замужем
****


Профиль
Группа: Завсегдатай
Сообщений: 2277
Регистрация: 14.5.2002
Где: Санкт-Петербург

Репутация: 6
Всего: 58



sandello, а если повысить уровень абстракции - для чего нужна эта система?
Т.е. какие задачи компания хочет решить с ее помощью.
Это понятно, что заводить абонентов, хранить, смотреть, и т.п. - стратегически какие задачи?
PM WWW   Вверх
sandello
Дата 27.5.2008, 05:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 295
Регистрация: 18.5.2005
Где: Пермь

Репутация: нет
Всего: 2



Основная задача - деньги. Нужно считать, какой клиент сколько должен. И за что.


--------------------
user posted image
PM MAIL Jabber   Вверх
ida
Дата 27.5.2008, 09:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


замужем
****


Профиль
Группа: Завсегдатай
Сообщений: 2277
Регистрация: 14.5.2002
Где: Санкт-Петербург

Репутация: 6
Всего: 58



Цитата(sandello @ 27.5.2008,  06:50)
Основная задача - деньги. Нужно считать, какой клиент сколько должен. И за что.

Т.е. это система контроля задолженностей?
А не предоставления услуг.

В вашем описании о задолженностях нет ни слова.

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

Я к чему это говорю - учитесь правильно ставить задачу, и вам ее правильно реализуют. Как поставите - так и реализуют. Не пинайте потом разработчиков. smile

Это сообщение отредактировал(а) ida - 27.5.2008, 09:20
PM WWW   Вверх
sandello
Дата 27.5.2008, 09:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 295
Регистрация: 18.5.2005
Где: Пермь

Репутация: нет
Всего: 2



Цитата

Т.е. это система контроля задолженностей?
А не предоставления услуг.

Система сама услуги не предоставляет. Я об этом не говорил. Просто есть услуги, есть абоненты. Тут не только контроль задолженности. Нужно расчитать эту задолженность.

Цитата

В вашем описании о задолженностях нет ни слова.

Дык, бизнес цели действительно пропустил smile

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

Ну и далее, вторичные задачи, вытекающие из первых двух:
3. печать документов
4. учет оплат

Это сообщение отредактировал(а) sandello - 27.5.2008, 09:53


--------------------
user posted image
PM MAIL Jabber   Вверх
Esperito
Дата 27.5.2008, 14:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 147
Регистрация: 2.9.2007

Репутация: нет
Всего: 3



Цитата(ida @ 25.5.2008,  20:07)
Тогда варианты использования предлагаю следующие:
1. Владелец:
Получить отчеты (разновидности отчетов вы перечисляли)

2. Реализатор:
Ввести данные из накладных
Получить отчеты

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

Владелец ещё вводит данные об издержках, т.к. знает о них только он.

Цитата(ida @ 25.5.2008,  20:07)

К размышлению:
Если требуется импорт данных из системы наружу, то надо подумать, кто будет производить этот импорт (или он будет производиться в автоматическом режиме?). Возможно, это будет делать Владалец, а возможно, другое действующее лицо - например, Бухгалтер. Т.е. есть вероятность, что мы сейчас нашли упущенного пользователя.


Не понял. Что значит "импорт данных наружу"?
Данные от реализаторов идут на главный компьютер (с основной программой) владельца/главбуха. Промежуточных импортов нет. Данные дальше куда-то наружу не идут.

Цитата(ida @ 25.5.2008,  20:07)

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

Издержки бывают разных видов (я ранее указал примеры). Есть набор разных видов издержек, общая сумма которых учитывается в оборотной ведомости.
PM MAIL   Вверх
ida
Дата 27.5.2008, 15:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


замужем
****


Профиль
Группа: Завсегдатай
Сообщений: 2277
Регистрация: 14.5.2002
Где: Санкт-Петербург

Репутация: 6
Всего: 58



sandello, уже лучше.

Esperito, предлагаю вам внимательно прочитать все сообщения в этой теме по вашему примеру и поискать в них упущения или противоречия. Что найдете - будем дорабатывать напильником.
PM WWW   Вверх
altspam
Дата 28.5.2008, 05:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 7
Регистрация: 21.5.2008

Репутация: нет
Всего: нет



Цитата(ida @  23.5.2008,  10:23 Найти цитируемый пост)
И где результаты анализа?...
Где процессы?
Где жизненные циклы объектов?
Где функциональные требования?
Ограничения?
И т.п. 

Наверно, «проанализировали» — это громко сказано. Я представляю в целом, как все устроено, но не могу разложить по полочкам. Мы работаем в области геодезии и землеустройства, можно ли считать объектами регулирующие законы, нормы и правила, порядки оформления, земельные участки, заказчиков, госучреждения, выдающие справки, сами справки?

Цитата(ida @  22.5.2008,  22:18 Найти цитируемый пост)
Если вы хотите начать именно с вариантов использования, то я бы выделила три класса пользователей по отношению к вашему сайту:

Администратор
Зарегистрированный пользователь
Незарегистрированный пользователь

Дальше определите наборы функций, которые должны быть доступны каждому из них.

Незарегистрированный пользователь
1. Просмотр статей.
2. Скачивание файлов.
3. Контакт с фирмой
4. Контакт с представителем фирмы
5. Идентификация
6. Комментирование статей с проверкой email.
7. Расчет стоимости услуг
8. Регистрация

Зарегистрированный пользователь (клиент)
1. Авторизация
2. Авторизация через почту
3. Редактирование профиля.
4. Сохранение заказа.
5. Просмотр истории и статистики заказов.
6. Редактирование заказа.
7. Оформление заказа в офисе или по телефону.
8. Добавление вопроса специалисту.
9. Комментирование статей без проверки email.

Менеджер
1. Ответ на вопрос.
2. Редактирование заказа.
3. Оформление заказа.

Администратор
1. Управление контентом.
2. Управление пользователями.
3. Редактирование настроек сайта.
---

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

Проблема в том, что я не очень понимаю, как нужно строить варианты использования и как их дальше использовать. Например:
1) большая часть сайта — справочная информация, о компании и прочее — никак не отражается в моих вариантах, т.к. это суть просмотр страниц;
2) менеджер и клиент участвуют в одном процессе (оформление заказа), тут нужно по варианту для каждой стороны?
3) как раскрыть операции вроде управления контентом? «1. Администратор управляет контентом»? Тут столько вариантов добавлений, правок, удалений, перемещений, да еще есть админы с разным доступом;
4) нужно ли (и как?) показывать циклические действия, например, оценка суммы и редактирование заказа могут повторяться сколько угодно. Для циклов похоже будет другой тип диаграмм?
5) как отразить ветвления алгоритма? Читал про способ с указанием альтернатив, но это неудобно и ненаглядно;
6) как определить полноту описания и двинуть дальше?

Это сообщение отредактировал(а) altspam - 28.5.2008, 05:26

Присоединённый файл ( Кол-во скачиваний: 9 )
Присоединённый файл  use_cases.txt 4,69 Kb
PM MAIL   Вверх
sandello
Дата 28.5.2008, 06:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 295
Регистрация: 18.5.2005
Где: Пермь

Репутация: нет
Всего: 2



Цитата(altspam @  28.5.2008,  08:25 Найти цитируемый пост)
Я представляю в целом, как все устроено, но не могу разложить по полочкам

где-то я уже это видел...  smile 

ida, что еще не так?


--------------------
user posted image
PM MAIL Jabber   Вверх
ida
Дата 28.5.2008, 07:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


замужем
****


Профиль
Группа: Завсегдатай
Сообщений: 2277
Регистрация: 14.5.2002
Где: Санкт-Петербург

Репутация: 6
Всего: 58



altspam, вот уже появились какие-то кленты.
Они клиенты или все-таки зарегистрированные пользователи?...
Все клиенты являются зарегистрированными пользователями? Все зарегистрированные пользователи являются клиентами? Почему их называют клиентами?

Цитата
Наверно, «проанализировали» — это громко сказано. Я представляю в целом, как все устроено, но не могу разложить по полочкам. Мы работаем в области геодезии и землеустройства, можно ли считать объектами регулирующие законы, нормы и правила, порядки оформления, земельные участки, заказчиков, госучреждения, выдающие справки, сами справки?

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

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

Но раз мы подошли с другого конца, попробуем прояснить цели через варианты использования:
Цитата
Незарегистрированный пользователь
1. Просмотр статей.
2. Скачивание файлов.
3. Контакт с фирмой
4. Контакт с представителем фирмы
5. Идентификация
6. Комментирование статей с проверкой email.
7. Расчет стоимости услуг
8. Регистрация

1. Каких статей? Для чего они пользователю нужны?
2. Каких файлов? Для чего?
3. Для чего и с какой фирмой? В чем этот контакт заключается?
4. То же самое, что в предыдущем + в чем разница с предыдущим?
5. С какой целью?
6. Первое действие, похожее на настоящий вариант использования. smile
7. Каких услуг? Кто их предоставляет?
Цитата
Зарегистрированный пользователь (клиент)
1. Авторизация
2. Авторизация через почту
3. Редактирование профиля.
4. Сохранение заказа.
5. Просмотр истории и статистики заказов.
6. Редактирование заказа.
7. Оформление заказа в офисе или по телефону.
8. Добавление вопроса специалисту.
9. Комментирование статей без проверки email.

1, 2 можно не разделять
3 нормально
4 непонятно - что значит "сохранение заказа" и почему оно отдельно?... Насколько я понимаю, чтобы что-то заказать, нужно проделать несколько шагов, сохранение - один из них. Где остальные?...
5, 6 нормально
7 какой участие принимает сайт в оформлении заказа в офисе или по телефону? Каким еще способом можно оформить заказ? И что же это наконец за заказ, про который мы уже полчаса говорим, а я так и не поняла, откуда и зачем он взялся?
8, 9 нормально.

Цитата
Проблема в том, что я не очень понимаю, как нужно строить варианты использования и как их дальше использовать. Например:
1) большая часть сайта — справочная информация, о компании и прочее — никак не отражается в моих вариантах, т.к. это суть просмотр страниц;
2) менеджер и клиент участвуют в одном процессе (оформление заказа), тут нужно по варианту для каждой стороны?
3) как раскрыть операции вроде управления контентом? «1. Администратор управляет контентом»? Тут столько вариантов добавлений, правок, удалений, перемещений, да еще есть админы с разным доступом;
4) нужно ли (и как?) показывать циклические действия, например, оценка суммы и редактирование заказа могут повторяться сколько угодно. Для циклов похоже будет другой тип диаграмм?
5) как отразить ветвления алгоритма? Читал про способ с указанием альтернатив, но это неудобно и ненаглядно;
6) как определить полноту описания и двинуть дальше?

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

2. Чтобы понять, "чей" вариант использования, полезно спросить: "кому нужно это действие? кто его инициирует?"
Поставив себя на место клиента, можно понять, что клиент инициирует оформление заказа, чтоб удовлетворить какую-то свою потребность (смотря что он там заказывает). Поэтому на диаграмме вариантов использования мы соединим этот вариант использования с действующим лицом Клиент (или как мы его там назовем).
У Менеджера цели будут явно другие - например, Посмотреть состояние заказов или Получить отчет.

3. управление контентом не годится для вариантов использования. Лучше просто перечислить обычным текстом все действия, которые должны быть доступны администратору в армках управления контентом (в конечном счете вы придете к такому списку и в отношении остальных пользователей, просто в сложных случаях лучше это смоделировать на диаграмме вариантов использования, что мы и делаем).

4, 5. чтобы описать алгоритмы, нужно использовать диаграммы деятельности. Ими детализируют в том числе и сложные варианты использования, если требуется.

6. Еще рано smile

Это сообщение отредактировал(а) ida - 28.5.2008, 12:10
PM WWW   Вверх
ida
Дата 28.5.2008, 12:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


замужем
****


Профиль
Группа: Завсегдатай
Сообщений: 2277
Регистрация: 14.5.2002
Где: Санкт-Петербург

Репутация: 6
Всего: 58



sandello, а над вашей задачкой я еще подумаю.
Потому что из классов предметной области вижу ясно пока только один: Абонент.
Под вопросом: Услуга.

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

Свои версии?...
PM WWW   Вверх
sandello
Дата 28.5.2008, 13:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 295
Регистрация: 18.5.2005
Где: Пермь

Репутация: нет
Всего: 2



ida
Хых. Для описанной задачи мы сделали 3.
«Абонент» - его информация требуется для различной отчетности. Самостоятельная сущность
«Услуга» -  в данной поставновке требуется для задания способов расчета потребления. Они разные. Самостоятельная сущность.
«Подписка» на услугу или Услуга Абонента - сущность на стыке Абонентов и Услуг. Описывает подключение конкретного абонента к конкретной услуге.

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

Теперь вроде бы замкнутое описание smile



--------------------
user posted image
PM MAIL Jabber   Вверх
altspam
Дата 28.5.2008, 14:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 7
Регистрация: 21.5.2008

Репутация: нет
Всего: нет



А вы не посмотрели прикрепленный файл? Там я раскрыл варианты использования.

Цитата(ida @  28.5.2008,  07:33 Найти цитируемый пост)
altspam, вот уже появились какие-то кленты.
Они клиенты или все-таки зарегистрированные пользователи?...

Зарегистрированный пользователь может стать клиентом, если закажет что-то.

Цитата(ida @  28.5.2008,  07:33 Найти цитируемый пост)
Все клиенты являются зарегистрированными пользователями?

Нет, есть и оффлайн-клиенты, которые нас не интересуют.

Цитата(ida @  28.5.2008,  07:33 Найти цитируемый пост)
Все зарегистрированные пользователи являются клиентами?

Нет, есть просто зарегившиеся на сайте для комментирования, вопросов и т.п. Это, так скажем, потенциальные клиенты.

Цитата(ida @  28.5.2008,  07:33 Найти цитируемый пост)
Почему их называют клиентами?

Заказывающих удобнее называть клиентами. Думаете, нужен отдельный класс? Ведь функции у них одинаковы, «клиент» — это скорее условный статус зарегистрированного пользователя.

Цитата(ida @  28.5.2008,  07:33 Найти цитируемый пост)
Вы разрабатываете сайт, начнем с этого.
Поэтому объекты вам нужны будут только те, которые имеют отношение к разработке этого сайта. Если в сомневаетесь, возьмите объект и разберитесь, где он используется (или должен) на вашем сайте.

Поправьте, пожалуйста, ибо никак не могу взять в толк :)
Мы говорим об анализе предметной области.
Предметная область — часть реального мира, рассматриваемая в пределах данного контекста.
Соответственно, «Где процессы? Где жизненные циклы объектов? Где функциональные требования? Ограничения?» относится к реальному миру, с которым взаимодействует разрабатываемая система.
Возьмем объекты (классы?), которые я привел, какое отношение они имеют к сайту?
  • регулирующие законы — выкладываются в разделе с документами, на них ссылаются в текстах и ответах на вопросы.
  • нормы и правила — то же самое.
  • порядки оформления — это набор этапов и условий, тернистый путь к оформлению собственности. Влияют на стоимость оформления, которая складывается из стоимости прохождения этапов (например, получение какой-то справки, съемка участка и т.п.), а также на состав документов, которые должны предоставить друг другу заказчик и исполнитель. Некоторые этапы клиент может пройти сам в целях экономии.
  • земельные участки (и строения) — основной объект деятельности. Посетитель вводит параметры участка для расчета стоимости заказа, продавец вводит характеристики участка для продажи, покупатель вводит характеристики участка, который он хочет купить. 
  • заказчики — они же клиенты, основной субъект деятельности. Регистрируются на сайте, заказывают услуги, задают вопросы, выставляют на продажу участки, комментируют статьи.
  • госучреждения, выдающие справки — на сайте есть справочный раздел по госучреждениям и службам с их координатами, временем работы, пояснениями, издаваемыми документами и т.п.
  • сами справки — тут я имел в виду множество документов, необходимых для оформления земли. Они требуются на разных этапах оформления и при заказе услуг, они выдаются заказчику по завершении работ.
Я мыслю в правильном направлении?

Цитата(ida @  28.5.2008,  07:33 Найти цитируемый пост)
Начинать плясать можно с двух сторон: от бизнес-целей и от вариантов использования (функциональных требований). Обычно делается и то и другое, просто кому в каком порядке удобнее/проще. Я предлагаю сначала все-таки высокоуровневые цели определять - тогда сразу становится понятно, для чего и чем мы тут занимаемся.

Цели:
  • привлечение клиентов;
  • стимулирование потенциальных клиентов к контакту с фирмой;
  • упрощение заказа услуг;
  • увеличение авторитета фирмы на рынке.
А что нам это дает? В ТЗ всегда пишут «задачи сайта», «цели сайта», но на практике для 90% сайтов цели одни — увеличение продаж.


Цитата(ida @  28.5.2008,  07:33 Найти цитируемый пост)
1. Каких статей? Для чего они пользователю нужны?

Справочная часть:
  • Официальные документы — законы, ГОСТы, СНиПы, акты, рекомендации и т.п.
  • Пояснения и комментарии к официальным документам.
  • Рекомендации по самостоятельному оформлению — порядок действий, списки необходимых документов и т.д.
  • Информация об организациях, имеющих отношение к землеустройству.
  • Словарь терминов.

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

Цитата(ida @  28.5.2008,  07:33 Найти цитируемый пост)
2. Каких файлов? Для чего?
  • Тексты официальных документов.
  • Примеры и бланки документов, необходимых для самостоятельного оформления.
  • Любые другие файлы, прикрепленные к статьям.

Цитата(ida @  28.5.2008,  07:33 Найти цитируемый пост)
3. Для чего и с какой фирмой? В чем этот контакт заключается?

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

Цитата(ida @  28.5.2008,  07:33 Найти цитируемый пост)
4. То же самое, что в предыдущем + в чем разница с предыдущим?

Это то же самое, но когда посетитель уже знаком с фирмой и ищет конкретного человека либо конкретного специалиста.

Цитата(ida @  28.5.2008,  07:33 Найти цитируемый пост)
5. С какой целью?

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

Цитата(ida @  28.5.2008,  07:33 Найти цитируемый пост)
6. Первое действие, похожее на настоящий вариант использования. smile

Не понимаю. Другие варианты — изучение предложений фирмы, цен и грубо говоря поиск телефона, — это недостаточная цель использования сайта? Изначально сайты вообще были продвинутыми «визитными карточками», остаются ими и по сей день. 

Цитата(ida @  28.5.2008,  07:33 Найти цитируемый пост)
7. Каких услуг? Кто их предоставляет?

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


Цитата(ida @  28.5.2008,  07:33 Найти цитируемый пост)
4 непонятно - что значит "сохранение заказа" и почему оно отдельно?... Насколько я понимаю, чтобы что-то заказать, нужно проделать несколько шагов, сохранение - один из них. Где остальные?...

Шаги такие:
  • Расчет стоимости.
  • Сохранение заказа.
  • Оформление заказа с менеджером (по номеру).

Цитата(ida @  28.5.2008,  07:33 Найти цитируемый пост)
7 какой участие принимает сайт в оформлении заказа в офисе или по телефону? Каким еще способом можно оформить заказ? И что же это наконец за заказ, про который мы уже полчаса говорим, а я так и не поняла, откуда и зачем он взялся?

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

PM MAIL   Вверх
ida
Дата 28.5.2008, 19:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


замужем
****


Профиль
Группа: Завсегдатай
Сообщений: 2277
Регистрация: 14.5.2002
Где: Санкт-Петербург

Репутация: 6
Всего: 58



altspam, хорошо, ответьте мне на вопрос: для чего пользователь приходит на сайт?
PM WWW   Вверх
altspam
Дата 29.5.2008, 00:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 7
Регистрация: 21.5.2008

Репутация: нет
Всего: нет



Кто за чем.

Кто-то хочет заказать съемку или оформление участка.
Кто-то хочет получить консультацию.
Многие ищут информацию, руководства, разбираются в теме.
Кто-то продает участок.
Кто-то хочет купить.
Кто-то просто интересуется геодезией.
PM MAIL   Вверх
ida
Дата 29.5.2008, 09:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


замужем
****


Профиль
Группа: Завсегдатай
Сообщений: 2277
Регистрация: 14.5.2002
Где: Санкт-Петербург

Репутация: 6
Всего: 58



altspam, вот это и будут ваши варианты использования.
Их и надо расписывать.
PM WWW   Вверх
altspam
Дата 29.5.2008, 09:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 7
Регистрация: 21.5.2008

Репутация: нет
Всего: нет



Кто-то хочет заказать съемку или оформление участка.
Цитата(altspam @  28.5.2008,  05:25 Найти цитируемый пост)
7. Расчет стоимости услуг
4. Сохранение заказа.
6. Редактирование заказа.
7. Оформление заказа в офисе или по телефону.


Кто-то хочет получить консультацию.
Цитата(altspam @  28.5.2008,  05:25 Найти цитируемый пост)
3. Контакт с фирмой
8. Добавление вопроса специалисту.


Многие ищут информацию, руководства, разбираются в теме.
Цитата(altspam @  28.5.2008,  05:25 Найти цитируемый пост)
1. Просмотр статей.
2. Скачивание файлов.


Кто-то продает участок.
Кто-то хочет купить.

Кто-то просто интересуется геодезией.
Цитата(altspam @  28.5.2008,  05:25 Найти цитируемый пост)
1. Просмотр статей.
2. Скачивание файлов.


Мм?

Добавлено через 5 минут и 48 секунд
ida, большое спасибо вам за помощь.
Вижу, что слишком загрузил, дальше буду разбираться сам. Направление примерно понятно.

Если нужно что сверстать — обращайтесь :)
PM MAIL   Вверх
ida
Дата 1.6.2008, 19:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


замужем
****


Профиль
Группа: Завсегдатай
Сообщений: 2277
Регистрация: 14.5.2002
Где: Санкт-Петербург

Репутация: 6
Всего: 58



Цитата(sandello @ 28.5.2008,  14:24)
Для описанной задачи мы сделали 3.
«Абонент» - его информация требуется для различной отчетности. Самостоятельная сущность
«Услуга» -  в данной поставновке требуется для задания способов расчета потребления. Они разные. Самостоятельная сущность.
«Подписка» на услугу или Услуга Абонента - сущность на стыке Абонентов и Услуг. Описывает подключение конкретного абонента к конкретной услуге.

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

Спасибо за еще одну классическую ошибочку :)

Абонент и Услуга - годятся в классы предметной области для данной задачи.
А вот Подписка будет ничем иным, как ассоциацией, связывающей два этих класса на диаграмме классов предметной области. Представляете себе?... И вы очень точно сущность ассоциации описали. Их часто путают с самостоятельными классами.

Опять-таки разработчик может реализовать Подписку отдельным классом приложения - как ему удобнее. Но с точки зрения предметной области это ассоциация.

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

Это сообщение отредактировал(а) ida - 1.6.2008, 19:06
PM WWW   Вверх
sandello
Дата 2.6.2008, 05:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 295
Регистрация: 18.5.2005
Где: Пермь

Репутация: нет
Всего: 2



Цитата(ida @  1.6.2008,  22:01 Найти цитируемый пост)
диаграмме классов предметной области

С этим согласен.  Я говорил про реализацию.

Тут я описал еще одну такую же модельную задачу. Она более детально прописана.  Предлагаю дальше на нее опираться.

Цитата(ida @  1.6.2008,  22:01 Найти цитируемый пост)
По поводу взаимодействия двух систем хотелось бы поподробнее.

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


Цитата(ida @  1.6.2008,  22:01 Найти цитируемый пост)
на основе чего будут производиться операции в разрабатываемой системе.

Не вполне понял вопрос.


--------------------
user posted image
PM MAIL Jabber   Вверх
ida
Дата 2.6.2008, 09:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


замужем
****


Профиль
Группа: Завсегдатай
Сообщений: 2277
Регистрация: 14.5.2002
Где: Санкт-Петербург

Репутация: 6
Всего: 58



Цитата(sandello @ 2.6.2008,  06:25)
В целевой системе кроме Абонента и Услуги, находится все, что касается ассоциации между ними. Внешняя система управляет людьми, развозящими корреспонденцию (т.е. Техниками) и оборудованием (будем считать, что транспортом, на котором доставка осуществляется). Транспорт бывает разный, большой, маленький. Может ломаться и т.д.
Из внешней системы в целевую поступает информация что-кому-куда доставлено.

Так у вас там еще куча классов оказывается.

Я бы изобразила две системы на диаграмме кооперации и показала, какими данными они обмениваются.

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

А еще бы нарисовала несколько диаграмм последовательностей, описывающих основные процессы: заведение абонента, и т.п. Объектами на диаграмме были бы эти две системы, сотрудники, которые выполняют оответствующие действия, и другие участники процесса, если они там есть.
PM WWW   Вверх
bronislav
Дата 6.6.2008, 10:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 334
Регистрация: 29.1.2008
Где: Украина::Донецк

Репутация: нет
Всего: 3



Может не совсем в тему, но
Введение в UML.
Нотация и семантика языка UML
Может кому пригодиться.


--------------------
user posted image
иногда проще и быстрей обойти лужу, даже если кажется что она мелкая и путь напрямик короче - ведь она может скрывать открытый люк (с) mes
PM MAIL   Вверх
ida
Дата 6.6.2008, 10:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


замужем
****


Профиль
Группа: Завсегдатай
Сообщений: 2277
Регистрация: 14.5.2002
Где: Санкт-Петербург

Репутация: 6
Всего: 58



Курсы курсами, а боевые задачи ничем не заменишь.
PM WWW   Вверх
bronislav
Дата 6.6.2008, 11:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 334
Регистрация: 29.1.2008
Где: Украина::Донецк

Репутация: нет
Всего: 3



Цитата(ida @  6.6.2008,  09:23 Найти цитируемый пост)
Курсы курсами, а боевые задачи ничем не заменишь. 

Никто не спорит про боевые задачи, но чтобы начать решать задачи, надо хоть немного знать теорию.


--------------------
user posted image
иногда проще и быстрей обойти лужу, даже если кажется что она мелкая и путь напрямик короче - ведь она может скрывать открытый люк (с) mes
PM MAIL   Вверх
tomolax
Дата 6.6.2008, 13:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 96
Регистрация: 9.4.2008
Где: город на Неве

Репутация: нет
Всего: 1



ida, хотела посмотреть разобранный вами пример (Esperito), но в журнале не нашла, где вы о нем пишите. Как я поняла в разделе мастер-класс надо смотреть, там ничего нет по этому поводу.  
PM MAIL ICQ Jabber   Вверх
ida
Дата 6.6.2008, 15:20 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


замужем
****


Профиль
Группа: Завсегдатай
Сообщений: 2277
Регистрация: 14.5.2002
Где: Санкт-Петербург

Репутация: 6
Всего: 58



Цитата(bronislav @ 6.6.2008,  12:00)
Никто не спорит про боевые задачи, но чтобы начать решать задачи, надо хоть немного знать теорию.

Вовсе не обязательно smile
Я например начала с боевых задач, а теорию подключила позже. Как видите, жива smile

Цитата(tomolax @ 6.6.2008,  14:19)
хотела посмотреть разобранный вами пример (Esperito), но в журнале не нашла, где вы о нем пишите. Как я поняла в разделе мастер-класс надо смотреть, там ничего нет по этому поводу.

Там нет - а здесь есть.

Это сообщение отредактировал(а) ida - 6.6.2008, 15:21
PM WWW   Вверх
W4FhLF
Дата 7.6.2008, 09:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


found myself
****


Профиль
Группа: Участник Клуба
Сообщений: 2831
Регистрация: 2.12.2006

Репутация: нет
Всего: 121



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


--------------------
"Бог умер" © Ницше
"Ницше умер" © Бог
PM ICQ   Вверх
ida
Дата 9.7.2008, 10:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


замужем
****


Профиль
Группа: Завсегдатай
Сообщений: 2277
Регистрация: 14.5.2002
Где: Санкт-Петербург

Репутация: 6
Всего: 58



Изначальные описания хаотично разбросаны по моему журналу и участников, которые оставляли задания.
Попробую сегодня их найти и дать ссылки.
PM WWW   Вверх
Falka
Дата 16.3.2009, 05:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 4
Регистрация: 16.3.2009

Репутация: нет
Всего: нет



Доброе время суток.
Я студентка 4 курса, учусь на специальности - информационные управляющие системы и технологии в экономике.

Меня долгое время мучает вопрос: "Какая разница между диаграммой бизнес вариантов использования и вариантов использования?"
В универе постоянно требуют бизнес вариантов использования, но я нигде не встречала ее реального применения. Приминяется ли она на практике и есть ли необходимость в этом применении?

Заранее спасибо.
PM MAIL   Вверх
ida
Дата 18.3.2009, 23:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


замужем
****


Профиль
Группа: Завсегдатай
Сообщений: 2277
Регистрация: 14.5.2002
Где: Санкт-Петербург

Репутация: 6
Всего: 58



Цитата(Falka @ 16.3.2009,  06:17)
В универе постоянно требуют бизнес вариантов использования

А вам объяснили, что это такое? smile
PM WWW   Вверх
Falka
Дата 21.3.2009, 20:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 4
Регистрация: 16.3.2009

Репутация: нет
Всего: нет



Цитата

А вам объяснили, что это такое? smile


Вариант спросить у преподов конечно интересен, и я даже дошла до него сама. Вот тока все они или говорят что-то типа "В диаграмме бизнес ВИ есть документы, а в ВИ их нет" (что на мой взгляд является бредом) или отсылают друг к другу, ссылаясь на некомпетентность в этом вопросе.
PM MAIL   Вверх
ida
Дата 22.3.2009, 13:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


замужем
****


Профиль
Группа: Завсегдатай
Сообщений: 2277
Регистрация: 14.5.2002
Где: Санкт-Петербург

Репутация: 6
Всего: 58



Falka, ну тогда эта задача не имеет решения smile
Я не знаю, что такое "бизнес варианты использования"
Что такое "варианты использования" понятно, думаю вы тоже знаете.
Ну тогда что мешает нарисовать обычные ВИ и их показать, раз вы утверждаете, что преподаватели некомпетентны?...
Если вам скажут, что это неверно, попросите привести пример того, как будет правильно.
Нельзя же научить чему-то, если нет возможности сравнить ошибочный вариант с верным.
PM WWW   Вверх
Falka
Дата 22.3.2009, 15:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 4
Регистрация: 16.3.2009

Репутация: нет
Всего: нет



Меня не слишком волнует компетентность преподавателей, я и так здаю одну и ту же диаграмму, под видом бизнес и вариантов использования. Дело ведь не в оценкке которую этот препод поставит, а в том, что я не знаю что такое бизесс ВИ и возможно это что-то очень важное ((((
Спасибо за ответ.
PM MAIL   Вверх
ida
Дата 22.3.2009, 22:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


замужем
****


Профиль
Группа: Завсегдатай
Сообщений: 2277
Регистрация: 14.5.2002
Где: Санкт-Петербург

Репутация: 6
Всего: 58



Falka, не расстраивайтесь - если бы это действительно было что-то очень важное - вы бы уже где-нибудь точно нашли эту информацию smile

А если некомпетентность преподавателей вас не волнует, зачем вы об этом упомянули?... smile

Это сообщение отредактировал(а) ida - 22.3.2009, 22:50
PM WWW   Вверх
dawystrik
Дата 13.4.2010, 13:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 118
Регистрация: 23.3.2009

Репутация: нет
Всего: нет



Помогите мне плиз разобраться,я студентка 4-го курса, и у меня появился предмет Шаблоны проектирования ООП. И вот у меня лабораторная:
Тема: «Создание в Rational Rose диаграммы вариантов использования»

ЗАДАНИЕ:
1.    Для заданного варианта выделить: действующие лица, варианты использования.
2.    Установить связи между действующими лицами и вариантами использования.
3.    Установить отношения между вариантами использования (если это необходимо).
4.    Установить отношения между действующими лицами (если это необходимо).
5.    Для каждого варианта использования в его спецификации указать:

               - Краткое его описание.
               - Предусловия.
               - Кто запускается на выполнение.
               - Постусловия.
               - Кто завершает выполнение
6.    К каждому варианту использования прикрепить файл в формате *.txt или *.doc, содержащий основной и альтернативные сценарии действий.
7.    Установить приоритетность реализации вариантов использования в проекте.
8.    На диаграмме вариантов использования должны быть примечания.

Мой вариант:Факультет института (учет посещаемости и успеваемости студентов).



Вот я действующие лица (актеров) выделила:
Деканат
Преподаватель
Студент
Система оплаты


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




Это сообщение отредактировал(а) dawystrik - 13.4.2010, 13:03
PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Системный анализ, проектирование и UML"
Се ля ви

Форум "Системный анализ, проектирование и UML" предназначен для обсуждения вопросов, так или иначе связанных с этапами жизненного цикла автоматизированных (программных, информационных, автоматических) систем:

• предпроектные обследования объектов автоматизации;

• разработка концепции создания систем;

• моделирование бизнес-процессов (в т.ч. на UML);

• проектирование архитектуры систем;

• управление проектами;

• управление качеством;

• CASE-средства;

• реинжиниринг.


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Се ля ви.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Системный анализ, проектирование и UML | Следующая тема »


 




[ Время генерации скрипта: 0.2610 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.