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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Концепции моделирования или с какого конца подойти 
:(
    Опции темы
archengel
  Дата 8.9.2008, 17:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



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

В книге: UML 2.0. Объектно-ориентированное моделирование и разработка. Дж. Рамбо, М. Блаха говорится о трех моделях:
        модели классов
        модель состояний 
        модель взаимодействия
Как я понял базовые концепции ОО проектирования и моделирования. В той же последовательности описывается и процесс проектирования приложения.

Открываем другую книгу: Визуальное моделирование с помощью IBM Rational Software Architect и UML (Серия:'developerWorks')
Здесь минимум теории в основном практика. И модели (я так понимаю в соответствии с концепциями RUP'а) строятся немного в другой последовательности. При этом заявляется что в книге описывается именно конкретный пример процесса разработки системы от постановки требования до реализации. smile 

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

Хотелось бы разьяснений от тех кто работал, знает как происходит все на практике. И собственно с чего начинать....?
PM MAIL ICQ   Вверх
deniva
Дата 8.9.2008, 17:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



А единого мнения по этому вопросу нет.

Как только что убедились - каждый предлагает свой план.
PM MAIL   Вверх
aleksh
Дата 9.9.2008, 08:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



концепции моделирования, их описание и т.д. -- еще одна религиозная война, не такая сильная как делфи вс с, или опера вс фф, но еще растущая
кто-за что отвечает зависит от размера команды, проекта, назначения проекта, принятых командой "внутренних" стандартов, да и учатся этому в течении года-двух практики, либо ускоренно -- с нанятым консультантом
по сути -- главное ответсвенность правильно распределить, а там уже будет проще да и виднее (имхо), кто за что отвечает и что кому поручать
PM MAIL   Вверх
archengel
  Дата 9.9.2008, 09:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



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

Если же не все ясно, то следует все выше перечисленное, плюс проектирование(классы, последовательности, уточнение классов)....

Мне кажется это очень грубо, но более менее...... smile 
PM MAIL ICQ   Вверх
aleksh
Дата 9.9.2008, 10:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



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

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

хотя Се ля ви может лучше напишет, но его что-то нет

Добавлено через 1 минуту и 18 секунд
да, совсем забыл, куча картинок -- это же еще и повод сбить больше денег...
PM MAIL   Вверх
archengel
  Дата 11.9.2008, 11:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



smile Так, походу я догнал. 

Первый этап:  Концептуализация системы

Второй этап: Анализ системы  
                (здесь как раз сразу и выясняются классы которые характерны для предметной области системы и которые отражают все реальные объекты жизни, рисуются диаграммы состояний для системы, т.е. как планируется функционирование ее, перехода из одного состояния в другое)

Третий этап: Анализ приложения  
                (Вот с этого этапа и начинается описание в книге 'Визуальное моделирование с помощью IBM Rational Software Architect и UML (Серия:'developerWorks')'. 
                 Это и модель взаимодействия(диаграммы вариантов использования и диаграммы активности), 
                 это и модель классов, которая перерабатывается из модели классов второго этапа, это и диаграммы последовательностей и состояния уже не для системы, а для объектов.
                вообщем более низкий уровень абстракции.

Четвертый этап:  Проектирование, где все объекты наполняются нюансами, такими как типы полей, функции и т.д.

Пятый этап:  Реализация программистами.

Вот smile  smile 

Поправляйте если не так)
  
PM MAIL ICQ   Вверх
aleksh
Дата 11.9.2008, 12:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



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


Новичок



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

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



Цитата(archengel @ 8.9.2008,  17:09)
Хотелось бы разьяснений от тех кто работал, знает как происходит все на практике. И собственно с чего начинать....?

В Agile порядок следующий

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

Кто: вся команда.

1. Сначала начинается с цели и видения.
2. Собираются User Stories (кратко см. User Stories by Mike Cohn - тут принципы получения и управления ими)
3. Раскидываются по релизам
4. Исходя из полученной картинки команда начинает моделировать архитектуры
http://www.agilemodeling.com/essays/initia...ureModeling.htm
5. А потом уже наращиваем детали ( пример: http://www.agilemodeling.com/essays/modelStorming.htm )
6. Чем ниже спускаемся, тем моделирование проявляется в кодировании с использованием Test-Driven Development.

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

На практике всегда выходило от общего к частному. Используем распределение модулей, компонент, потом детали. Чаще используем СRC сессию во время обсуждений.


vision -> architecture envision (crc) -> models (crc) -> crc/ class diagrams/ sequences diagramm

* CRC = class responsibility collaboration.
PM MAIL   Вверх
ida
Дата 9.10.2008, 18:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


замужем
****


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

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



archengel, в книге "UML 2.0. Объектно-ориентированное моделирование и разработка" подход правильный. По крайней мере на мой аналитический взгляд.
Другое дело, что там описана программа-максимум, т.е. при необходимости и в зависимости от задачи можно какие-то этапы выбросить, а на каких-то заострить внимание больше. Тут нет никаких догм, все достаточно гибко (разве это не круто?! smile) и определяется решаемой задачей. Нужно просто сконцентрироваться на ее решении, а не на соблюдении кем-то описанных стандартов. Здравый смысл и опыт вам подскажут, что нужно, а что нет. Может не с первого раза, а с пятого smile Но разве это так страшно?
PM WWW   Вверх
archengel
  Дата 10.10.2008, 11:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Ida, спасибо, я перечитал эту замечательную книгу и склоняюсь именно к тому что "все гибко". Кайф! 
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Системный анализ, проектирование и UML"
Се ля ви

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

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

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

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

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

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

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

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

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


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

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


 




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


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

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