Страница 1 из 1
Консультации по курсу ТПРГ 2014
Добавлено:
27 янв 2014, 20:37
Telnov
Учебные материалы, задания и литературу по курсу «
Технологии программирования» смотрите в
Облачном кабинете КССТ.
Обратите внимание: исходные задания по лабораторному практикуму (Л.р. 1) следует брать для
Бакалавриата (проекты «
Интернет-магазин» и «
Коллекция минералов» уже заняты). Начиная с Л.р. 2 задания формально одинаковые, но каждая команда работает над своим проектом. Состав команды до 3-х человек.
Можно взять (по согласованию с преподавателем) чуть более сложное задание из папки для
Специалитета, и в случае его успешного выполнения получить призовые баллы.
Лабораторный практикум по
ТПРГ можно выполнить традиционным способом, развернув веб-приложение в локальной сети кафедры, либо применить облачное решение. Примеры облачных решений см.
Проекты студентов кафедры («
Интернет-магазин» и «
Коллекция минералов»).
За облачные решения в курсе
Технологии программирования начисляются серьезные призовые баллы. Подробности читайте здесь:
О платформе Google App Engine и лабораторном практикуме. Руководство для студентов по работе с
Google App Engine смотрите в
Открытой библиотеке, папка «
Облачные технологии».
На этом форуме можно задавать вопросы и обмениваться мнениями. По мере сил буду отвечать.
Был задан вопрос
Добавлено:
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
Иван
То, на что вы мне сейчас указали, потребуется в виде текстового пояснения для моего решения? Я правильно вас понял?
Требуется продемонстрировать знание моделей развертывания и моделей обслуживания + применить эти знания при разработке конкретной диаграммы развертывания.
В.Тельнов