Страница 1 из 1

Консультации по курсу ТПРГ 2014

СообщениеДобавлено: 27 янв 2014, 20:37
Telnov

Учебные материалы, задания и литературу по курсу «Технологии программирования» смотрите в Облачном кабинете КССТ.

Обратите внимание: исходные задания по лабораторному практикуму (Л.р. 1) следует брать для Бакалавриата (проекты «Интернет-магазин» и «Коллекция минералов» уже заняты). Начиная с Л.р. 2 задания формально одинаковые, но каждая команда работает над своим проектом. Состав команды до 3-х человек.

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

Лабораторный практикум по ТПРГ можно выполнить традиционным способом, развернув веб-приложение в локальной сети кафедры, либо применить облачное решение. Примеры облачных решений см. Проекты студентов кафедрыИнтернет-магазин» и «Коллекция минералов»).

За облачные решения в курсе Технологии программирования начисляются серьезные призовые баллы. Подробности читайте здесь: О платформе Google App Engine и лабораторном практикуме. Руководство для студентов по работе с Google App Engine смотрите в Открытой библиотеке, папка «Облачные технологии».

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

434241
403837
363534

Был задан вопрос

СообщениеДобавлено: 27 янв 2014, 20:42
Tutor
Был задан вопрос:

Виктор Петрович, доброго времени суток. Посмотрел ЛР по курсу ТПРГ. Задание к первой работе понял ясно. Вопрос только в том, что графическое оформление появляется только во второй работе. Получается, что в первой нужно просто сгенерировать сами матемачиские процессы на C# и Java. Но как это должно выглядеть без визуального оформления??

Первая лаба по ТПРГ - это только спецификация требований и проектирование софта в Visual Paradigm. То есть набор UML-диаграмм. Плюс генерация кода из диаграммы классов (освоение этой техники). Что касается пользовательского интерфейса - он реализуется базовыми средствами HTML и будет весьма скуден. Кое-что об этом будет рассказано на первом семинаре, многое придется освоить самостоятельно.
Обратите внимание: в курсе ТПРГ вам предстоит создать полноценное веб-приложение.
В.Тельнов

Re: Консультации по курсу ТПРГ 2014

СообщениеДобавлено: 02 фев 2014, 04:07
Иван
Мне понравилась лабораторная работа, касающаяся тетриса (специалитет). Параллельно с ремонтом начну ею заниматься. Свои мысли и предложения на тему спецификаций требований буду выкладывать сюда. Выполнять буду соло. На данный момент меня интересует индивидуальное развитие навыка в IT сфере. Так что читаю ваши лекции и знакомлюсь с уже готовыми проектами(не студентов). Кстати, можете поздравить меня со вступлением в брак)

P.S. Есть один существенный вопрос. Проект, разработанный в Visual Paradigm должен быть универсальным(для C# и Java), или для каждого языка необходимо будет разработать индивидуальную диаграмму классов?

1. Поздравляю!
2. Проект, разработанный в Visual Paradigm должен быть универсальным, ибо нотация UML от языка программирования не зависит.
3. Тетрис - один из наиболее сложных проектов. Он требует умения программировать на языке JavaScript, который пока вам не преподается. Тем не менее, в прошлом году данный проект студенты сделали. Пожалуйста, трижды подумайте, прежде чем браться за данный проект.
В.Тельнов

Re: Консультации по курсу ТПРГ 2014

СообщениеДобавлено: 06 фев 2014, 00:36
Иван
Подумал. Алгоритм написания приложения вполне понятен. Код - дело времени. Пока не знаю, для чего может понадобиться JavaScript(придется почитать).
В целом я представляю задачу так:

На web-сервере GlassFish установлено ПО, представляющее собой браузерную игру "Тетрис".
Посетители сайта, через который осуществляется доступ к приложению, могут сыграть в игру "Тетрис", предварительно указав своё имя(тогда они получают статус игрока).
Далее текст из условия задания(прямо с изображением костей)
Насколько я понял из задания в базе данных MySQL будет храниться состояние поля и статистика игр, так?

Достаточно ли этого для описания спецификаций требований?

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

Суть задания вы поняли лишь в первом приближении. Для хранения состояние полей и статистики игр можно применить базу данных или обычную файловую систему - это не принципиально.
Сложность проекта в пользовательском интерфейсе. Одними средствами HTML вам не удастся сделать приемлемое движение костей по экрану и обработку событий от клавиатуры.
Кроме серверных скриптов, понадобится изрядное программирование на стороне клиента, то есть JavaScript. Это несколько выходит за рамки курса ТПРГ.
Для игры Тетрис есть готовые JS-решения, в прошлом году студенты ими воспользовались (Ерошин и компания).
Вы же пока не выполнили в полном объеме лабораторный практикум по ООП, отсюда - незнание технологий и непонимание сложности задачи.
Ещё раз предостерегаю вас от проекта Тетрис.

В.Тельнов

Re: Консультации по курсу ТПРГ 2014

СообщениеДобавлено: 07 фев 2014, 14:30
Иван
Не такой уж и страшный проект. Времени много нужно.
Что же. Возьму "театральную кассу" для бакалавриата. В основном это чистые Java апплеты. Спасибо за своевременное предупреждение.

Сервлеты!
В качестве примера посмотрите это.

Re: Консультации по курсу ТПРГ 2014

СообщениеДобавлено: 12 фев 2014, 21:21
Иван
Добрый вечер, Виктор Петрович.
Разобрался в отличии апплетов от сервлетов.
Появился новый вопрос. Существует ли в Visual Paradigm какой-нибудь способ описания сценариев выполнения прецедентов? Не в Paint же это все делать.
И еще. Сегодня после лекции задал вам вопрос на тему визуального оформления. Вы мне посоветовали тему "Основы HTML" из лекций по курсу СВП.
Меня тамошние таблицы не устраивают. Графическую оболочку с таблицами мне бы хотелось написать на Java. И в качестве взаимодействия с пользователем выбрать ссылки.

Также существует вопрос. Язык Java поддерживает уже готовые базы данных. Можно ли использовать их? Или требуется самостоятельно создать базу данных на основе контейнеров?

Предлагаю эти вопросы обсудить в ходе занятий.
В.Тельнов

Re: Консультации по курсу ТПРГ 2014

СообщениеДобавлено: 25 фев 2014, 19:20
Иван
Здравствуйте, Виктор Петрович. Ввожу вас в курс дел относительно своей работы(Театральная касса).

Что мы имеем?
1) Структура таблиц БД(старался построить так, чтобы решение было повторяемым и его логика ложилась на любой объектно-ориентированный язык)
Собственно вот она(юзеров позже доделаю).
[img][IMG]http://images.vfl.ru/ii/1393345191/d813fbdb/4339909_m.jpg[/img][/img]

2) При генерации её в диаграмму классов получаем нечто похожее. Все отношения становятся ассоциациями. Я думаю, что это допустимо, т.к. взаимодействие между объектами происходит через внешние ключи. Остается только добавить геттеры и сеттеры. Пока никаких контейнеров(коллекций) нет.
Вот, собственно, и вопрос. Можно ли объекты коллекций изобразить на другой диаграмме, в которой более четко будет показано, что в них входит?

3) На данный момент балуюсь в консоли с MySQL. Далее планируется работа над представлениями реляционных таблиц.

Re: Консультации по курсу ТПРГ 2014

СообщениеДобавлено: 25 фев 2014, 21:10
Иван
А может ну их, эти коллекции? Не выносить же на диаграмму классов коллекцию для каждой странички)
Мы просто клепаем кучу объектов после обращения клиента к серверу и выливаем их содержимое на страницу, разве не так?
Другой вопрос, что одним модулем проект не ограничится.

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

Re: Консультации по курсу ТПРГ 2014

СообщениеДобавлено: 27 фев 2014, 17:13
Иван
Добрый вечер, Виктор Петрович.

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

Тем более, что я выбрал путь MVC, на котором опять же совмещение контроллеров и модели - грубая проектировочная ошибка.

Потому попрошу разрешения не выносить сервлеты на диаграмму классов.

Представления страниц организовывать буду через JSP(хоть и этот вариант давно устарел).

Организация работы с базой данных через JDBC тоже старье. Разрешите использовать Hibernate. Ну или если руки дойдут JPA.

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

1. Предмет Базы данных в курсе Технологии программирования не преподается. В заданиях лабораторного практикума для бакалавриата использование баз данных не требуется (но допускается, по желанию студентов).
2. Технология JSP вам ещё не преподавалась, поэтому обсуждения преждевременны.
3. Заданием предусмотрено проектирование веб-приложения на базе сервлетов Java (об этом говорилось на первом занятии семестра).

Как известно, сервлет Java - это объект класса HttpServlet (или производных от него классов).
Если делаете веб-приложение на базе сервлетов, а на диаграмме классов HttpServlet (или производные от него классы) отсутствуют - это говорит о непонимании происходящего.
Подходите для консультаций ещё, будем разбираться.

В.Тельнов.

Re: Консультации по курсу ТПРГ 2014

СообщениеДобавлено: 28 фев 2014, 16:10
Иван
Потому и пишу. В технологии MVC на диаграмме классов нет места сервлетам. Могу, конечно и на голых сервлетах написать приложение. На это буквально один день уйдет, не больше. Связь MYSQL с сервлетами делать умею. Но в таком случае диаграмма ограничится несколькими сервлетами без каких-либо DAO моделей. Некрасивый код получится. Ждать до следующей недели - терять время. Напишите мне, как делать. Бросать мою идею или нет.

"На это буквально один день уйдет" - делайте и подходите для консультаций в ПН к 14-00.
В.Тельнов

Контейнер сервлетов

СообщениеДобавлено: 01 мар 2014, 16:08
DirectoriX
Здравствуйте, Виктор Петрович. У меня (а точнее у нашей группы) есть вопрос, касающийся сдачи 2-й лабораторной работы: можно ли использовать в качестве контейнера сервлетов Apache Tomcat? Дело в том, что у одного моего знакомого есть небольшой Java-хостинг с MySQL 5.0 и Tomcat. В случае необходимости мы готовы показать, как развернуть сервлет в GlassFish.

Да, можно Apache Tomcat.
В.Тельнов

Re: Консультации по курсу ТПРГ 2014

СообщениеДобавлено: 05 мар 2014, 22:17
Иван
Доброго времени суток, Виктор Петрович. Вот набросал кое-что.

1) Диаграмма классов.
Все, что справа - касается объектов, связанных с данными о театрах.
Слева внизу сервлеты(ну они понятно подписаны). Их вид на диаграмме классов приемлем?
http://s8.uploads.ru/g0tF8.jpg

На отношениях между классами отсутствуют имена полюсов и навигация. Класс "Actor" - каково его назначение? По определению актор есть внешняя сущность, а не часть системы.

2)Диаграмма последовательностей.
Как на ваш взгляд? Логика понятна? Нужно ли что-то еще?
http://s9.uploads.ru/5aUXb.jpg

Диаграмма неполна, взаимодействие объектов классов не показано. Наименования линий жизни не соответствуют наименованиям на диаграмме классов.

Re: Консультации по курсу ТПРГ 2014

СообщениеДобавлено: 07 мар 2014, 19:25
Иван
Объекты класса Actor - это актеры театра.

Переделал диаграмму последовательностей для покупки билета.
http://s8.uploads.ru/Cv7Xf.jpg

ОК. Делайте прочие диаграммы и код.

Пожалуйста, учитесь добросовестно

СообщениеДобавлено: 08 мар 2014, 16:20
Иван
Доброго времени суток, Виктор Петрович.

Можете посмотреть мою диаграмму компонентов? Делал по аналогии с примером из лекций, взяв за основу диаграммы c отношениями зависимости.
http://s8.uploads.ru/mhoAC.jpg

Пускай пока будет такая.

Re: Консультации по курсу ТПРГ 2014

СообщениеДобавлено: 09 мар 2014, 15:18
Иван
Пытаемся учиться добросовестно. Беда с литературой по проектированию. Например, вот диаграмма развертывания та же.
Выглядит уж больно смешно. 100% уверен, что чего-то не хватает. А что нужно еще, неизвестно. Без практики разработки веб приложений трудно вот так сразу сделать проект.

http://s8.uploads.ru/ocaNp.jpg

Генерация кода на языке C# в Visual Paradigm не предусмотрена(или у меня просто не получилось найти нужную функцию).
Так что для Java сделаю пока.

Re: Консультации по курсу ТПРГ 2014

СообщениеДобавлено: 13 мар 2014, 14:34
Иван
Доброго времени суток, Виктор Петрович. Я приболел немного. Хочу задать вопрос на счет дженериков. Вот есть у меня диаграмма классов. Если напрямую из Visual Paradigm генерировать код, то все отношения игнорируются и в код воплощаются только голые классы без них. Как тогда генерировать код? И почитать негде. Гугл тут не помощник.

Re: Консультации по курсу ТПРГ 2014

СообщениеДобавлено: 13 мар 2014, 14:41
Иван
Все, нашел в опциях настройки для разных языков. Продолжаю работать.
Одно но. Имена полюсов преобразуются в ненужные строчки в файлах классов. Начинаю сомневаться в их смысле. Подскажите, пожалуйста, какова их суть в случае генерации кода? Мне, непосвященному, самому не понять.

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


Разобрался. Имена полюсов превращаются в атрибуты. А значит они нужны далеко не всегда с двух сторон отношения.

Re: Консультации по курсу ТПРГ 2014

СообщениеДобавлено: 31 мар 2014, 15:54
Иван
Здравствуйте, Виктор Петрович.
Во второй лабе нужно сгенерировать из кода диаграмму классов.
Так вот. Netbeans уже давно не поддерживают UML плагины. Опять руками рисовать что-ли?

Это делается в Visual Paradigm.
Работайте в учебной аудитории 2-510.
Желаю успехов.

В.Тельнов

Re: Консультации по курсу ТПРГ 2014

СообщениеДобавлено: 03 апр 2014, 16:26
Иван
Когда Вас можно в институте найте, кроме наших лабораторок по расписанию? С такими объемами работ общаться раз в неделю - недостаточно. Вечно выявляются новые задачи и дополнения. Сейчас как раз длительный перерыв между серьезными контрольными. Можно полностью уйти в ТПРГ.
В общем было бы здорово почаще с Вами консультироваться. Спасибо за внимание.

В ПН можно подойти примерно к 13-00 или чуть раньше. Возможно, придется подождать, пока освобожусь.
Или в СР к первой паре (по расписанию).

Re: Консультации по курсу ТПРГ 2014

СообщениеДобавлено: 03 апр 2014, 22:40
Иван
Ок, спасибо. Работа кипит.

Re: Консультации по курсу ТПРГ 2014

СообщениеДобавлено: 27 апр 2014, 13:23
Иван
Здравствуйте, Виктор Петрович.

Отвечаю на заданные вами вопросы по защите ЛР2.

Когда мы запускаем сервер, то в task manager windows появляется процесс java.exe. Наличие данного процесса и есть доказательство работы сервера.
Еще один способ - ввести в консоли команду netstat -an | findstr порт. Если порт не занят, то реакции никакой не будет. Если занят, то мы это увидим.

Домен - это имя, служащее для идентификации областей — единиц административной автономии в сети Интернет

Справка: процесс java.exe - это виртуальная машина Java (JVM). Автоматически запускается на всех компьютерах в ауд. 2-510.
Пожалуйста, работайте добросовестнее.

В.Тельнов

Re: Консультации по курсу ТПРГ 2014

СообщениеДобавлено: 23 май 2014, 19:29
Иван
Виктор Петрович, доброго времени суток.

Можно ли расчитывать на доп балы за развертывание приложения на удаленном сервере?

Реализовал свой проект в Google App Engine. Когда сдавать?

Впрочем, вот оно(приложение) http://1-dot-ksst-theatre.appspot.com

На первый взгляд неплохо. Подробнее посмотрим в штатном режиме в ауд. 2-510.
Сдавать в известные вам дни, по расписанию: СР, ЧТ 1-я пара.

В.Тельнов

Re: Консультации по курсу ТПРГ 2014

СообщениеДобавлено: 29 май 2014, 13:46
Иван
Виктор Петрович, Здравствуйте.

Приложение починил. На счет диаграммы развертывания. Хранилища данных я не использую, так что все мое приложение работает внутри одного единственного(неизвестно где расположенного) ресурса. И там на сервере Google App Engine развернуто мое приложение. Так что повторяется ситуация с рыбим глазом. Только на этот раз я ничего не могу сказать об их операционной системе. И ПК ли это вообще.
Так что представляю диаграмму развертывания следующим образом. Посмотрите, пожалуйста. Есть ли замечания?
http://sc.uploads.ru/E2GBg.png

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

Re: Консультации по курсу ТПРГ 2014

СообщениеДобавлено: 29 май 2014, 20:04
Иван
То, на что вы мне сейчас указали, потребуется в виде текстового пояснения для моего решения? Я правильно вас понял?

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