Модераторы: Poseidon, Snowy, bems, MetalFan

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Объектно-ориентированный анализ и проектирование 
:(
    Опции темы
 
Используете ли вы объектно-ориентированный анализ и проектирование в своих проектах?
А что это такое? [ 17 ]  [26.56%]
Слышал об этом, но толком не знаю [ 21 ]  [32.81%]
Знаю основы, но не использую [ 6 ]  [9.38%]
Использую иногда [ 11 ]  [17.19%]
Использую в каждом проекте [ 9 ]  [14.06%]
Всего проголосовавших: 64
В этом опросе возможен один вариант ответа
Гости не могут голосовать 
Medved
  Дата 22.3.2007, 04:11 (ссылка) |    (голосов:3) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 7209
Регистрация: 15.9.2002
Где: Kazakhstan, Astan a

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



Знакомы ли в с объектно-ориентированным проектированием и UML? 
Используете ли вы паттерны в своих проектах?
Помогают ли они вам в ваших программах?

Спасибо.




--------------------
http://extreme.sport-express.ru/
...и неважно сколько падал, важно сколько ты вставал...
PM MAIL WWW ICQ Skype GTalk   Вверх
skyboy
Дата 22.3.2007, 09:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


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

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



Цитата(Medved @  22.3.2007,  03:11 Найти цитируемый пост)
Знакомы ли в с объектно-ориентированным проектированием и UML? 

знаком. но кодю сам - для себя/начальника использую более простую самодельную нотацию. 
Цитата(Medved @  22.3.2007,  03:11 Найти цитируемый пост)
Используете ли вы паттерны в своих проектах?

да. немного, правда, этих проектов было...
Цитата(Medved @  22.3.2007,  03:11 Найти цитируемый пост)
Помогают ли они вам в ваших программах?

конечно. как и знание синтаксиса - если знаешь, какой инструмент есть в твоем распоряжении и умеешь его применять - это только поможет делу и ускорит процесс smile
PM MAIL   Вверх
Guedda
Дата 22.3.2007, 09:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Подрывник
****


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

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



Цитата(Medved @  22.3.2007,  04:11 Найти цитируемый пост)
Знакомы ли в с объектно-ориентированным проектированием и UML?

Знаком, но чисто поверхностно.
Цитата(Medved @  22.3.2007,  04:11 Найти цитируемый пост)
Используете ли вы паттерны в своих проектах?

К сожалению, не использую... Времени нет на изучение.

Хочется подробно изучить UML, но вот никак не удаётся выделить свободные минуты для этого.


--------------------
Ll 2
PM MAIL WWW ICQ Skype GTalk   Вверх
Alkash
Дата 22.3.2007, 10:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


коллекционер жизни
**


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

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



Я о нём слышал, но не разбирался.


--------------------
Подпись >> /dev/null
PM MAIL ICQ MSN   Вверх
Medved
Дата 22.3.2007, 13:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 7209
Регистрация: 15.9.2002
Где: Kazakhstan, Astan a

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



Спасибо за ответы!


--------------------
http://extreme.sport-express.ru/
...и неважно сколько падал, важно сколько ты вставал...
PM MAIL WWW ICQ Skype GTalk   Вверх
ivan219
Дата 22.3.2007, 16:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



А что это такое???
PM MAIL ICQ   Вверх
Medved
Дата 22.3.2007, 18:24 (ссылка) |    (голосов:3) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 7209
Регистрация: 15.9.2002
Где: Kazakhstan, Astan a

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



Цитата(ivan219 @  22.3.2007,  19:56 Найти цитируемый пост)
А что это такое???


Объектно-ориентированный анализ и проектирование Гради Буч

Это классика жанра. Гради Буч один из отцов-основателей объектно-ориентированного программирования, и языка UML. 
В книге используются примеры на C++. Если для кого-то представляет сложным чтение синтаксиса С++ то можно прочитать только первые главы, где говориться об общих принципах.

Книга читается легко, и плавно.


--------------------
http://extreme.sport-express.ru/
...и неважно сколько падал, важно сколько ты вставал...
PM MAIL WWW ICQ Skype GTalk   Вверх
Guedda
Дата 23.3.2007, 08:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Подрывник
****


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

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



Цитата(Medved @  22.3.2007,  18:24 Найти цитируемый пост)
Книга читается легко, и плавно. 

Спасибо за книгу. Буду углубляться )


--------------------
Ll 2
PM MAIL WWW ICQ Skype GTalk   Вверх
Medved
Дата 5.4.2007, 03:07 (ссылка) |    (голосов:3) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 7209
Регистрация: 15.9.2002
Где: Kazakhstan, Astan a

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



Вот еще хорошая книга
Леоненков. Самоучитель UML.


--------------------
http://extreme.sport-express.ru/
...и неважно сколько падал, важно сколько ты вставал...
PM MAIL WWW ICQ Skype GTalk   Вверх
cemick
Дата 18.5.2007, 01:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Может кто подскажет, UML может полностью заменить использование блок-схем? Как я понимаю блок-схемы относятся к процедурному подходу. А в объектно-ориентированном диаграммы деятельности? Но опять же, диагрммы деятельности показывают взаимодействие между объектами и применяются на этапе анализа. Или их можно использовать для описания методов на этапе проектирования? К литературе не отсылайте, неплохо изучил книгу "UML и Rational rose 2002" и вездесущего Иванова, но так и не "вкурил" че к чему smile 

З.Ы.Нам на на диплом говорили, что если у вас объектный подход,  то забудте о блок-схемах.
PM MAIL WWW   Вверх
Medved
Дата 18.5.2007, 12:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 7209
Регистрация: 15.9.2002
Где: Kazakhstan, Astan a

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



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

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

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

Модель приложения - это практически готовая программа но на бумаге (или в голове), которую осталось только непосредственно набить в редакторе кода (т.е. реализовать). 

Требования -> Модель (UML) -> Реализация (Delphi) -> Готовая программа (.exe)



--------------------
http://extreme.sport-express.ru/
...и неважно сколько падал, важно сколько ты вставал...
PM MAIL WWW ICQ Skype GTalk   Вверх
cemick
Дата 18.5.2007, 21:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Кто-нибудь может знает книги по UML2.0 применительно к BDS и Delphi2007?
PM MAIL WWW   Вверх
Medved
Дата 18.5.2007, 22:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 7209
Регистрация: 15.9.2002
Где: Kazakhstan, Astan a

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



Ищи информацию по ModelMaker.

Добавлено через 44 секунды
http://www.modelmakertools.com/
http://www.thoughtsmithy.com/mmjump/MMGett...rted_Intro.html


--------------------
http://extreme.sport-express.ru/
...и неважно сколько падал, важно сколько ты вставал...
PM MAIL WWW ICQ Skype GTalk   Вверх
EvilsInterrupt
Дата 19.7.2007, 08:16 (ссылка) |    (голосов:2) Загрузка ... Загрузка ... Быстрая цитата Цитата


Executables research
***


Профиль
Группа: Завсегдатай
Сообщений: 1019
Регистрация: 14.7.2007
Где: Железнодорожный, МО, Россия

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



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

В чем суть UML?

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

Отсюда:
1. Если излишне расписывать систему, то спец "увязнет" в детаталях! Пример: "Написать ПО читающее файл раз в сутки" считается хорошей задачей, а вот "Написать ПО которое вызывает ReadFile c обработкой ошибок с помощью ф-ции GetLastErrror" это уже плохо!
Вывод: нужно отобразить только смысл - нафига вообще надо?
2. Предметная область должна иметь четко выраженные рамки! Ну скажите на фига в проекте Записная книжка Химика, хранить запись об алгоритме сортировки Хоара?
Вывод: должна быть четко сформулированная цель!
3. Между элементами должна быть показана ясная и четко выраженная схема взаимодействия, чтобы не было ситуации что остался лишний болтик ;)

Так вот, UML дает вам краткость, ясность, смысл всего проекта. При довольно больших проектах, разработчик теряется и думает "Так, я кажется забыл чтение файла икс", потом задумается и выразит: "да, наверно это все таки не надо". Скажите нафига ему думать об этом?
Он уже заранее должен знать, надо или нет, т.к. недолжно быть потери человеко\часов! 

ООП:
1. многие из нас, подходят утром к компу у себя  на работе\дома и жмут на ПУСК!!! Какие мысли у нас в этот момент? Да никаких, он просто включается и все!!!! Т.е. нам глубоко фиалетово, что и как там внутри, мы еще даже не проснулись окончательно, но он от этого хуже включаться ведь не стал?!
Вывод: Разработка четко отлаженного и скольугодно сложного механизма, с предоставлением простого интерфейса ведет к простоте и ясности действий! Вот это и есть ИНКАПСУЛЯЦИЯ

2. У нас всегда есть, громадное кол-во однотипных задач,но которые решаются с нюансами. К примеру мы читаем из файлов, баз данных, сети. Но все же везде по разному, но корень всего этого читать отсюда и делаем концепцию архива, в нем говорим что мы умеем читать. А реализации, к примеру файле потомке от архива, читаем уже посредством ReadFile, Или из базы данных читаем посредством Query.Execute - но везде читать. Но только разные формы реалзиаци.
Вывод: много образие форм можно вывести в концепцию, дать эту концепцию вновь прибывшему сотруднику. Он ее всего лишь один изучит и будет знать как читать из файла, из сети, из базы данных. Это и есть ПОЛИМОРФИЗМ!

3. Вы наверно уже когда то писали открытие файла и понимаете, что не зависмо какой это файл JPEG или AVI, это все таки файл, а значит все файлы открываются одинаково. Нафига каждый раз когда делаем новую реализацию чтения с файлом делать ее заново?
Вывод: если есть механизм получения кода, который мы или наш друг раньше уже разрабатывали, то полная халява! Каждому программеру в отделе отдать позадаче, а потом собрать воедино! Получения кода потомком от родителя - есть НАСЛЕДОВАНИЕ!

Успех текущих проектов, не в том как круто ситема или ПО работает, а в ее стабильности! В ее наращиваемости! В ее сопровождении!
Если вы через полгода взгянете на свои проекты, которые писали с помощью процедурного стиля программирования, то кроме как : "переписать все  нафиг" у вас ничего в голове не возникнет. А если не у вас , то у вашего коллеги точно возникнет! )))
PM MAIL WWW ICQ Jabber   Вверх
EvilsInterrupt
Дата 29.7.2007, 09:17 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Executables research
***


Профиль
Группа: Завсегдатай
Сообщений: 1019
Регистрация: 14.7.2007
Где: Железнодорожный, МО, Россия

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



Решил показать, то что я сделал я. Возможно кому-то это понадобиться!
Я Инженер-Программист в группе АСУТП на ТЭЦ.
Задачи, разработка ПО:
- для просмотра архивов значений по технологич. режиму, 
- Для репликации данных с одной БД в другую
- Для сбора данных с OPC-серверов в БД
- Для передачи клиентам данных через ЛВС

БД органзована или на файлах или под управлением какой либо СУБД(у нас Oracle, Interbase)

Обобщим действия моего ПО:
- Открыть архив
- Закрыть архив
- Перейти на первую запись
- На последнюю
- предыдущую
- следующую
- Добавить новую
- Прочитать запись
- Записать запись
- Прочиать i-е значение i-го технологич. параметра записи
- Записать значение в i-й элемент ассициированного с технологич. параметром

Обобщение нас подводит к:

Код

TCustomMainASUTPArchive
public
  OpenArchive;
  ReadArchive;
  WriteArchive;
  CloseArchive;
  First;
  Next;
  Previous;
  Last;
  Parameter[Index : Integer] : TCustomParameter read GetParameter write SetParameter;
end;

А уж дальше делаем:

TCustomFileArchive = class(TCustomMainASUTPArchive)
end;

TCustomDataBaseArchive = class (TCustomMainASUTPArchive)
published
  property Login
  property Password
  property Alias
end;


К чему это все приведет?

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

Код

var
  obj : TCoolFile; // потомок от TCustomFileArchive
begin
  obj := TCoolFile.Create(Self);
  obj.FilePath  := 
  obj.FileName :=

  obj.OpenArchive;
  obj.ReadArchive;
  obj.First;
  for I=0 to  Obj.ParamCount - 1 do
  begin
    StringGreed.Cells[0,I+1] := obj.Parameter[I].Value;
  end;
  obj.Close;


Если я надумал работать с базой, То в чем сложность? Я меняю кусок кода:
Код

var
  obj : TCoolFile; // потомок от TCustomFileArchive
begin
  obj := TCoolFile.Create(Self);
  obj.FilePath  := 

на:

var
Код

  obj : TOraArhive; // Потомок от TCustomDataBaseArchive
begin
  obj.Login :=
  obj.password := 
  obj.Alias :=


И все!!! Остальной код, сколь угодно сложным он небыл, остается таким же!!! А ведь за место кода:
Код

  obj.OpenArchive;
  obj.ReadArchive;
  obj.First;
  for I=0 to  Obj.ParamCount - 1 do
  begin
    StringGreed.Cells[0,I+1] := obj.Parameter[I].Value;
  end;
  obj.Close;


может код на множество строк!!! К примеру чтение в грид, вывод в отчет, вывод в другой архив, вывод сеть или еще что это может быть довольно объемный и очень сложный код! Но он остается таким же как и был!
PM MAIL WWW ICQ Jabber   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


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

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


 




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


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

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