Модераторы: Daevaorn

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Проектирование приложений 
:(
    Опции темы
HappyLife
Дата 30.10.2008, 11:48 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



    Здравствуйте уважаемые форумчане. C++ воистину сильный язык разработки приложений. Он гибкий и устойчивый. Он максимизирует границы возможного. И трудность в разработке приложения чаще заключается не в его написании, а к проектированию. Боюсь, для меня это проблема. Каждый раз как я беру листок бумаги, у меня возникает сложность в структурировании данных, в путающихся листочках, в методах записи. В итоге моя структура превращается не что-то структурированное, а в настоящую паутину, в которой я запутываюсь. Так что же говорить о самом написании программы!!! Какие есть система, метод, способ проектирование приложения? Я продолжаю делать самостоятельный поиск этой информации в интернете, однако параллельно буду ждать ответов и здесь, от Вас уважаемые Гуру. Спасибо за понимание.
PM MAIL   Вверх
Gunslinger
Дата 30.10.2008, 11:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



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

Это сообщение отредактировал(а) Gunslinger - 30.10.2008, 11:57
PM MAIL   Вверх
Alek86
Дата 30.10.2008, 12:09 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



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

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

Это сообщение отредактировал(а) Alek86 - 30.10.2008, 12:16


--------------------
user posted image    user posted image
PM MAIL   Вверх
HappyLife
Дата 30.10.2008, 12:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Где можно почитать, насчет того как правильно составить архитектуру программы?
PM MAIL   Вверх
Alek86
Дата 30.10.2008, 12:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



Макконелл "Совершенный код"

и что значит "правильно"?
единого решения не существует

Это сообщение отредактировал(а) Alek86 - 30.10.2008, 12:27


--------------------
user posted image    user posted image
PM MAIL   Вверх
Lazin
Дата 30.10.2008, 13:03 (ссылка)  | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3820
Регистрация: 11.12.2006
Где: paranoid oil empi re

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



Э. Гамма, Р. Хелм, Р. Джонсон, Дж. Влиссидес. (GOF) Приемы обьектно - ориентированного проектирования Паттерны Проектирования.
обзор паттернов проектирования
PM MAIL Skype GTalk   Вверх
HappyLife
Дата 30.10.2008, 13:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Цитата(Alek86 @  30.10.2008,  12:27 Найти цитируемый пост)
Макконелл "Совершенный код"

Спасибо!
PM MAIL   Вверх
HappyLife
Дата 30.10.2008, 13:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Посоветуй пожалуйста неплохое приложение для создание архитектуры приложения. Сейчас я использую Microsoft Visio.

PM MAIL   Вверх
Lazin
Дата 30.10.2008, 14:03 (ссылка) |  (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3820
Регистрация: 11.12.2006
Где: paranoid oil empi re

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



текстовый редактор.
я серьезно smile 
PM MAIL Skype GTalk   Вверх
Alek86
Дата 30.10.2008, 14:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



лично мне удобнее бумажка и ручка smile

а уже ПОТОМ, когда научишься боле-мене архитектурить (я вот еще не научился), можно использовать Rational Rose или Enterprice Architecht
ну, или если надо с удаленными коллегами обмениваться


Это сообщение отредактировал(а) Alek86 - 30.10.2008, 14:41


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


Опытный
**


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

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



Цитата(Alek86 @  30.10.2008,  14:40 Найти цитируемый пост)
лично мне удобнее бумажка и ручка

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

Друзья, может быть вы поделитесь вашими методами проектирования?
PM MAIL   Вверх
mes
Дата 30.10.2008, 20:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


любитель
****


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

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



Цитата(HappyLife @  30.10.2008,  17:49 Найти цитируемый пост)
Между блоками, невозможно вставить третий, без перечертежки, или усердной работы ластиком.

А вы не расматривали ситуацию, когда каждый блок нарисован на своем листочке?  smile 

Это сообщение отредактировал(а) mes - 30.10.2008, 20:11


--------------------
PM MAIL WWW   Вверх
baldina
Дата 30.10.2008, 21:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



проектирование, так же как и программирование, и вообще любая инженерная деятельность (а может и вообще любая) имеет общие принципы.
среди них один из важнейших - разделяй и влавствуй. он означает разделение задачи на подзадачи, что уменьшает число сущностей, рассматриваемых одновременно. на этом пути широко используется абстракция - выделение главного, обобщение, отбрасывание несущественного.
как методологию удобно использовать объектно-ориентированный подход, как хорошо зарекомендовавший себя для проектирования крупных задач. к тому же результаты объектго-ориентированного анализа и проектирования легко отображаются на объектно-ориентированный язык, например С++
Я бы рекомендовал г.буч сотоварищи "объектно-ориентированный анализ и проектирование" как достаточно свежий фундаментальный труд на эту тему.
отмечу, что такие вещи, как специализированный софт, языки типа uml, бумажка с ручкой - всего лишь инструменты. идеи, они в голове
PM MAIL   Вверх
MAKCim
Дата 31.10.2008, 17:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Воін дZэна
****


Профиль
Группа: Экс. модератор
Сообщений: 5644
Регистрация: 10.12.2005
Где: Менск, РБ

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



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


--------------------
Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі ©

PM MAIL   Вверх
HappyLife
Дата 1.11.2008, 10:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Цитата(mes @  30.10.2008,  20:10 Найти цитируемый пост)
А вы не расматривали ситуацию, когда каждый блок нарисован на своем листочке?

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

Тем неменее ваша мысль ясно правильно. Однако, когда приходится на этом самом листочке снова делить блок, то... нехватает места, и.... нужно брать новый листик) Просто порой сразу не угадаешь, уместишь или нет.)))
PM MAIL   Вверх
baldina
Дата 1.11.2008, 11:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



Цитата(MAKCim @ 31.10.2008,  17:49)
проектированию научится нельзя
это как талант, либо он есть, либо его нет

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

Не могу не привести слова моего препода по матану на 1м курсе:
"Дифференцировать можно уметь или не уметь. Дифференцировать можно научить и обезьяну. А интегррировать можно не уметь, можно уметь, а можно уметь здорово интегрировать. Вот я - здорово интегрирую" smile
PM MAIL   Вверх
mes
Дата 1.11.2008, 11:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


любитель
****


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

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



Цитата(HappyLife @  1.11.2008,  10:02 Найти цитируемый пост)
И раскладывать все листочки на полу, оградить комнату ленточками, на двери повесить табличку идет проектирование, и лишь когда будешь заложен последний листик с надписью exit(0) все сфотографировать и снять опечатку комнаты)


Цитата(HappyLife @  1.11.2008,  10:02 Найти цитируемый пост)
Тем неменее ваша мысль ясно правильно.


Судя по первой цитате понята не до конца. Зачем постоянно одновременно держать разложенными все листочки? Обычно во взаимодействие участвуют два-три объекта, вот их и выкладывайте.  smile 
Остальные пусть себе себе спокойно лежат в коробочке  smile 


--------------------
PM MAIL WWW   Вверх
Lycifer
Дата 3.11.2008, 11:40 (ссылка) |    (голосов:3) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Не время приводят к опыту,а события...
Только практика проектирования научит разрабатывать архитектуру программ
PM MAIL ICQ   Вверх
Lazin
Дата 3.11.2008, 13:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3820
Регистрация: 11.12.2006
Где: paranoid oil empi re

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



Не время приводят к опыту,а события...
Только практика пилотирования научит управлять самолетом
PM MAIL Skype GTalk   Вверх
Torsten
Дата 5.11.2008, 12:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



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

Цитата(HappyLife @  30.10.2008,  17:49 Найти цитируемый пост)
Друзья, может быть вы поделитесь вашими методами проектирования?

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

Это сообщение отредактировал(а) Torsten - 5.11.2008, 12:43
--------------------
We have no begining, we have no end. We are infinite.
PM MAIL   Вверх
Vyacheslav
Дата 5.11.2008, 13:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 2124
Регистрация: 25.3.2002
Где: Москва

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



Цитата(HappyLife @  30.10.2008,  13:55 Найти цитируемый пост)
Посоветуй пожалуйста неплохое приложение для создание архитектуры приложения. Сейчас я использую Microsoft Visio.

Rational Rose


--------------------
С уважением, Вячеслав Ермолаев
PM MAIL WWW ICQ   Вверх
aleks88
Дата 17.2.2012, 15:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Товарищи Господа! Во первых всех приветствую, а во вторых думаю, что данная тема наиболее подходит для нижеописанного вопроса smile 

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

База данных, содержит n полей. Каждая группа пользователей видит несколько полей и может их редактировать, но есть и такие, которые редактировать не может, а только просматривать, редактирует их другая группа. Первая группа видит все записи, остальные только после того, как некоторое поле будет не пусто. Я сделал одну общую таблицу и представления  по условию where _fieldname_ is not null.

Клиентские программы написаны на C++ Builder + FIBPlus + EgLib (только DBGridEh). Соответственно, для каждой группы своя программка.

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

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


pattern`щик
****


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

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



aleks88, нельзя постить не в свои темы! это первое.
второе - тема скончалась три года назад! нельзя беспокоить покойников!

PM WWW   Вверх
Result
Дата 17.2.2012, 16:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Только из своего маленького опыта:
    Вначале читал и "Совершенный код" и паттерны банды 4-х, и Бэка ТДД, статьи и тд., но какой-то 
реальный качественный скачок получил после труда Роберта Мартина "Чистый Код". 
PM   Вверх
boostcoder
Дата 17.2.2012, 16:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


pattern`щик
****


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

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



еще один некрофил.
PM WWW   Вверх
Result
Дата 17.2.2012, 18:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



В пятничный вечер не посмотрел на даты  smile 
PM   Вверх
Страницы: (2) [Все] 1 2 
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++:Общие вопросы"
Earnest Daevaorn

Добро пожаловать!

  • Черновик стандарта C++ (за октябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика(4.4мб).
  • Черновик стандарта C (за сентябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика (3.4мб).
  • Прежде чем задать вопрос, прочтите это и/или это!
  • Здесь хранится весь мировой запас ссылок на документы, связанные с C++ :)
  • Не брезгуйте пользоваться тегами [code=cpp][/code].
  • Пожалуйста, не просите написать за вас программы в этом разделе - для этого существует "Центр Помощи".
  • C++ FAQ

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

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


 




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


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

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