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

×


Вопросы практики проектирования Web-приложения(Прочитано 72235 раз)
а как картинку вставить с локального диска?

Нажмите плюсик Дополнительно и увидите.

P.S. Призываю быть более корректными, тем более с новым человеком. Наше ресурс не только для профессионалов в области анализа/проектирования, но и для людей, которые хотят что-то для себя прояснить.
Не важно какой ты сейчас - большой или маленький, важно - как ты растешь.
Б.А.С.



P.S. Призываю быть более корректными, тем более с новым человеком. Наше ресурс не только для профессионалов в области анализа/проектирования, но и для людей, которые хотят что-то для себя прояснить.
А мне кажется дискуссия со стороны старожил вполне корректна. Просто вопрощающему нужно прислушаться к совету или четче выражать свои вопросы 



кнопку нашёл (оказался достаточно продвинутый движок форума).

Если рисунок покажется, то:
Блюдо №1 Delphi7 + встроенная библиотека IntraWeb
Данный демонстрационный пример каталога рыб показывает особенности разработки Web страниц, как общей технологии, так и данной библиотеки:
- простейшие страницы можно спроектировать вообще незная HTML
- все визуальные элементы "набрасываются" на пустую форму и библиотека при запросе страницы из ISAPI-DLL сама генерирует код HTML+Java-script
Ограничения Web-технологии и  библиотеки по сравнению с десктоп-приложением:
- нельзя сделать автопоиск в таблице по первым введённым символам (технически дорого)
- нельзя применить насыщенную событийную модель взаимодействия с пользователем (напр. перемещение по записям по клаве)
- нельзя сделать редактируемую таблицу (объект-таблица - не оконный элемент и не может иметь фокуса-каретку).
  Кнопка-треугольник включает режим редактирования и страница переоткрывается с сервера для дублирования табличных полей в обычные-редактируемые поля РЯДОМ с таблицей
- выделение нужной записи в таблице осуществляется либо панелью управления над таблицей, либо кликом на ссылке-значения поля в первой колонке.

Кстати двойственная ситуация, когда выделение записи в Excell происходит кликом НЕ на данных в поле а ЗА пределами данных.

IMHO либо с этими недостатками "мирится" заказчик, либо удорожание проекта за счёт java. При том не факт, что данные ограничения (и другие в дальнейшем), это ограничения сегодняшнего Web.

Например, банальнейшая связка 2-х таблиц один ко многим (сверху Заказы, снизу Элементы выделенного заказа) в проектировании десктоп-приложения достаточно редко встречается на просторах WWW.

ЗЫ.
Всё IMHO человека проектировавшего десктоп-приложения и желающего узнать особенности проектирования Web-приложения. (то бишь влияние сегодняшнего состояния технологии в этой области на Пользовательские требования к создаваемой программе.



вчера опубликовал пост, а сегодня его не вижу. В чем проблема не могу понять.
В общем искал различную информацию по Ajax и наткнулся. Может Вам, Петро, будет интересно
http://forum.vingrad.ru/index.php?showtopic=58778&view=findpost&p=487774

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



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

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

- нельзя сделать редактируемую таблицу (объект-таблица - не оконный элемент и не может иметь фокуса-каретку).
  Кнопка-треугольник включает режим редактирования и страница переоткрывается с сервера для дублирования табличных полей в обычные-редактируемые поля РЯДОМ с таблицей
Не уверен, что можно или нельзя, ну на крайняк можно чтобы при нажатии на Ктрл+Инс всплывали внизу или вверху поля для ввода и туда перемещался курсор. Ну или тоже самое что она делает, только без переоткрывания. Пример можно посмотреть на ЖЖ.

Возможно вопросы появляются из-за недостаточного опыта разработки для Веб.
Но это именно разработка, не совсем проектирование...
Не важно какой ты сейчас - большой или маленький, важно - как ты растешь.
Б.А.С.



В общем искал различную информацию по Ajax и наткнулся. Может Вам, Петро, будет интересно
http://forum.vingrad.ru/index.php?showtopic=58778&view=findpost&p=487774
спасибо. Интересно и сжато по сути технологий Web (не только AJAX).
Меня смущает какая-то сырость и зачаточность всего этого. Если для реализации ПОЛЬЗОВАТЕЛЬСКИХ требований клинета для десктоп-приложений всё делается с пол-пинка и естественным образом. То для Web нужно учитывать массу вещей-языков-технологий-способов_общения_клиента_с_сервером.

С точки зрения программиста, интсрументы и технологии для создания приложения, это тоже ПОЛЬЗОВАТЕЛЬСКИЙ продукт.
Почему, когда я пишу КС-десктоп-приложение, мне надо знать один язык программирования. Когда новичёк спрашивает: "С чего надо начать изучать Web-программирование?". Ему пишут: html+xml+JAVA+JAVA-Script+ActiveX+ASP+flash+...


Поэтому IMHO модель построения, архитектура, GUI 2-х систем совершенно разные. Я даже не могу найти общие точки соприкосновения :).

Насчет реализации формы типа мастер-деталь.
Как это делается в десктоп-приложениях? Давайте посмотрим - при перемещении по главной форме, в форме детали происходят изменения, достигается это перезапросом. Ясно, что поскольку все далейтся на десктопе - скорость рендеринга очень большая и для пользователя практически не заметна.
В случае веб-приложения  сложно добиться такой же скорости обновления, поскольку мы должны делать перезапрос у сервера, ждать получения ответа, а это во многом зависит от ширина канала, качества соединения и т.п. Ускорить процесс можно вероятно, только загрузкой всех данных на клиентскую машину. В случае небольшой БД - это возможно, в случае большой - проблематично
да. Именно это и хотел сказать. Получается, от ширины канала зависит всё - от ЯП до выбора_другой_фирмы_исполнителя.



Не уверен, что можно или нельзя, ну на крайняк можно чтобы при нажатии на Ктрл+Инс всплывали внизу или вверху поля для ввода и туда перемещался курсор. Ну или тоже самое что она делает, только без переоткрывания. Пример можно посмотреть на ЖЖ.
ссылки нет? ( т.к. по ЖЖ не хожу)
Возможно вопросы появляются из-за недостаточного опыта разработки для Веб.
Но это именно разработка, не совсем проектирование...
я и предупреждал, что опыта нет.
Если это не разработка, а проектирование, то можно рассмотреть пример (на UML) проектирования таблицы выше для пользователя (UPDATE, INSERT, DELETE).
Думаю, не получится отдельно проектировать и отдельно разрабатывать.



Меня смущает какая-то сырость и зачаточность всего этого. Если для реализации ПОЛЬЗОВАТЕЛЬСКИХ требований клинета для десктоп-приложений всё делается с пол-пинка и естественным образом. То для Web нужно учитывать массу вещей-языков-технологий-способов_общения_клиента_с_сервером.
Почему, когда я пишу КС-десктоп-приложение, мне надо знать один язык программирования. Когда новичёк спрашивает: "С чего надо начать изучать Web-программирование?". Ему пишут: html+xml+JAVA+JAVA-Script+ActiveX+ASP+flash+...

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

При пректировании вам следует учитывать такие вопросы как архитектура системы, архитектура приложения, алгоритмы и т.п.

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

Особенность веб - это часто тонкий клиент и толстый сервер. Тонкость клиента можно изменить - на сегодняшний день это предполагает использования разных языков. Однако если вы например исполбзуете ASP и VBscript - вы имеете фактически один язык, то же можно сказать о Java и JS.



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

При пректировании вам следует учитывать такие вопросы как архитектура системы, архитектура приложения, алгоритмы и т.п.
+100, я как раз и хотел сказать это своим постом:
Цитировать
Но это именно разработка, не совсем проектирование...

Сечас вообще тенденция к тому, что пофиг какой ЯП, пофиг какая платформа, создал дизайн, а дальше кодируй на чем хочешь. В частности это пропагандирует UML и технологии основанные на нем (MDA и т.д.)
« Последнее редактирование: 16 Апреля 2007, 14:48:52 от bas »
Не важно какой ты сейчас - большой или маленький, важно - как ты растешь.
Б.А.С.



+100, я как раз и хотел сказать это своим постом:
Сечас вообще тенденция к тому, что пофиг какой ЯП, пофиг какая платформа, создал дизайн, а дальше кодируй на чем хочешь. В частности это пропагандирует UML и технологии основанные на нем (MDA и т.д.)
красиво конечно.... Искуственный интеллект и т.д. Тока пока не получается с автогенераторами кода по модели UML.
Слишком много надо учитывать обстоятельст ЗА моделью.

ЗЫ. Надо будет попробовать на UML спректировать страничку выше-рисунок. Если абстрагироваться от ЯП, технологии, ...., то в модели остануться скриншоты-дизайн-прецеденты.



красиво конечно.... Искуственный интеллект и т.д. Тока пока не получается с автогенераторами кода по модели UML.
Слишком много надо учитывать обстоятельст ЗА моделью.

ЗЫ. Надо будет попробовать на UML спректировать страничку выше-рисунок. Если абстрагироваться от ЯП, технологии, ...., то в модели остануться скриншоты-дизайн-прецеденты.
Понимаете в этом как раз и идеология MDA, когда создается так называемая платформонезависимая модель, на базе которой можно сгенерировать платформозависимые. Возьмите тот же Enterprise Architect, в котором как раз и есть примеры такого подхода. Вот уже на стадии PDM уже приходится привязать модель к реальному ЯП. Надо сказать, что технология MDA еще не прошла своего пика интереса и не вышла на полку стабильности. Эксперты утверждают, что процесс будет идти еще минимум 10 лет. Почитать можно в КомпьютерПресс за текущий год, в 1 номере кажется



Понимаете в этом как раз и идеология MDA, когда создается так называемая платформонезависимая модель, на базе которой можно сгенерировать платформозависимые. Возьмите тот же Enterprise Architect, в котором как раз и есть примеры такого подхода. Вот уже на стадии PDM уже приходится привязать модель к реальному ЯП. Надо сказать, что технология MDA еще не прошла своего пика интереса и не вышла на полку стабильности. Эксперты утверждают, что процесс будет идти еще минимум 10 лет. Почитать можно в КомпьютерПресс за текущий год, в 1 номере кажется
Пробовал я (и не я один), напр. продукт Bold.
Не понраилось.
Генерит за тебя всё: базу, ключи, запросы, ..... об языке SQL можно забыть, там свой собственный...
Долго рассказывать. Приложение промышленного масштаба несерьёзно... IMHO.



Вот пришла мысль немного пофилософствовать.

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

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

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

Что предлагает веб-технология для решения вашей задачи:
очевидно клиентский скриптовый язык (сюда думаю имеет смысл отнести и ajax)
использование плагинов, активных элементов (типа ActiveX): flash, svg и т.п.
использование систем типа java web start и т.д.

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

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

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

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

Я понимаю, что если Вам удасться решить эту проблему, это не мало потешит Ваше самолюбие, а возможно Вы откроете нечто новое, заработаете на этом кучу денег:-)

Понимаете куда я веду? Важна цель!



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

======== да. Количество жертв знает, кто делал или проектировал ОБЕ системы :)

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

====== да. Пока я неудовлетворён инструмнтами.


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

====== задача - простой, удобный , быстрый ввод информации в вэб-приложении. Для аналитика это противоречие - чем-то надо жертвовать :)

Я понимаю, что если Вам удасться решить эту проблему, это не мало потешит Ваше самолюбие, а возможно Вы откроете нечто новое, заработаете на этом кучу денег:-)

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



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




 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19