LINUX.ORG.RU

[образование] Критика требований по курсовому проекту

 


0

0

Небезразличная публика может поругать требования к курсовому проекту: http://mstu.sevik.ru/docs/rsoi-2009.pdf

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

★★★★★

такой большой охват - и такие ограничения , например , например , недопустимость p2p

kto_tama ★★★★★
()

А как у вас с системой отсева лоботрясов? лоботрясы такого делать не будут... Latex, системы контроля версий, неоткуда списать, невозможно надёргать джепегов из интернета

можно было бы вспомнить всяике CORBA, DCOM, у явы не помню как называется, но это вообщем и не важно

Я бы на 5 курсе порадовался, ибо не работал... а вот те, кто работают не порадуются...

P.S. вижу рынок для продажи простых распределённых систем (это будет курсовая для менеджеров) ;)

dimon555 ★★★★★
()
Ответ на: комментарий от kto_tama

> например , например , недопустимость p2p

Написать кривой p2p клиент много ума не надо, или взять готовый, или принести его с другого курсового, были прецеденты, и под тему ложиться плохо. Вкратце тема освящена в конспекте (пока без картинок и сырой), оный есть на mstu.sevik.ru/ds_cp. Его тоже можно ругать -- если есть желание.

sv75 ★★★★★
() автор топика
Ответ на: комментарий от dimon555

> А как у вас с системой отсева лоботрясов?

Средне.

> лоботрясы такого делать не будут...

Пусть сделают меньше и к сентябрю. No problem.

> Latex, системы контроля версий, неоткуда списать,

Второе -- опционно. Пока (почтомучто сервер будет развёрнут в ходе проекта, есть ряд вопросов на утряску). У них, кстати, курс бы (наконец-то!!). С latex принципиальных проблем пока не замечено, мини-пособие написано. В лабах использовался прям из make. А кривые разнородные поделия в ворде подутомили.

Списать неоткуда -- это правильно.

> невозможно надёргать джепегов из интернета А что там дёргать, сиквенсы своей системы?

> Я бы на 5 курсе порадовался, ибо не работал... а вот те, кто работают не порадуются... Те, кто работают в нормальных местах --- сделают вовремя.

> P.S. вижу рынок для продажи простых распределённых систем (это будет курсовая для менеджеров) ;)

Не думаю, что у нас так всё плохо. Я некоторый контакт с реальностью поддерживаю.

sv75 ★★★★★
() автор топика
Ответ на: комментарий от dimon555

> можно было бы вспомнить всяике CORBA, DCOM, у явы не помню как называется, но это вообщем и не важно

Это уже пройденный и забытый человечеством этап.

sv75 ★★★★★
() автор топика
Ответ на: комментарий от sv75

>DCOM
слышал я что-то про SCADA системы и контроллеры, и что там это ныне модно DCOM использовать для взаимодействия... видел в охранной системе там где двери и камеры для чего-то нужно было настройки дкома крутить в винде... но ничего достоверного, если всё это сдохло то хорошо

dimon555 ★★★★★
()
Ответ на: комментарий от dimon555

Как видно, это всё нормально работает только в доверенной локалке и (на пактике) сторого под видой.

Что не попадает под тематику.

DCOM перестал быть любимой технологией МС давно.

sv75 ★★★★★
() автор топика

а можно для тупых, чем термин бизнес-логика лучше алгоритма или программной-логики? что логику из логики делает бизнесом?

dimon555 ★★★★★
()
Ответ на: комментарий от sv75

>> можно было бы вспомнить всяике CORBA, DCOM, у явы не помню как называется, но это вообщем и не важно

> Это уже пройденный и забытый человечеством этап.

Вообще то "RPC как концепция" ни разу не забыт (Google Buffers, Thrift).

По теме - непонятно, почему запрещен Parralel Python. Или его можно использовать, но посторение своего Parallel Python не подходит для темы курсовой?

tailgunner ★★★★★
()
Ответ на: комментарий от tailgunner

> Вообще то "RPC как концепция" ни разу не забыт (Google Buffers, Thrift).

Как концепуия -- нет.

> По теме - непонятно, почему запрещен Parralel Python. Или его можно использовать, но посторение своего Parallel Python не подходит для темы курсовой?

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

sv75 ★★★★★
() автор топика
Ответ на: комментарий от dimon555

> а можно для тупых, чем термин бизнес-логика лучше алгоритма или программной-логики? что логику из логики делает бизнесом?

В данном курсе условились называть этим (кривым) термином не всю логику, а только логику модели предметной области, чтобы отделить её от логики протокола обмена. Так короче. Сделаю уточнение (для тех, кто не был на лекциях), спасибо.

sv75 ★★★★★
() автор топика

пункт 2.1 3 строка
"систему информационных систем систем имеет"

повтор слова систем

dimon555 ★★★★★
()
Ответ на: комментарий от Davidov

А запрет на хранимые процедуры - это прямой путь к неконсистенстности.

Davidov ★★★★
()
Ответ на: комментарий от Davidov

> Насчёт ORM не уверен. Всё-таки это очень спорная концепция.

Напишу как рекомендацию "если это осмысленно". Вот и познакомятся со спроной концепцией.

> А запрет на хранимые процедуры - это прямой путь к неконсистенстности.

Ммм?

Курс на хранимые процедуры был, без необходимости увеличивать привязку к БД смысла совершенно нет, рассматриваемые системы к высокопроизводительным в целом не относятся.

sv75 ★★★★★
() автор топика
Ответ на: комментарий от sv75

>Напишу как рекомендацию "если это осмысленно". Вот и познакомятся со спроной концепцией.

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

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

>желательно на лазерном принтере

Почему?

Сноска 16 не понятна.

Запрет Erlang и C, и рекомендация Java? Странно всё это.

Davidov ★★★★
()

Что-то глазом за стр.4 зацепился, ниже комментарии по данной странице:

> В создаваемую распределённую системы должно входить 3-4 принципиально различающиеся системы.


1. создаваемую распределённую систем_у_
2. системы, входящие в систему, называются подсистемами или компонентами. Или объединение систем лучше назвать как-то иначе - комплексом, например. Иначе, читая "система" непонятно о каком уровне речь.
3. "Принципиально различающиеся" - ничего не значащее выражение. Для кого-то принципиален фукнционал, для кого-то лицензия, для кого-то цена и т.д.

> В системе должно происходить изменение состояния системы,


Другими словами "Система должна что-нибудь делать" - тоже просто лишние буквы.

> конкуренция за некоторые ресурсы (например, номера в гостинице), а также обязательная возможность отмены и изменение заявок.


Должна поддерживать транзакции в многопользовательском режиме.

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


О каких ресурсах речь? Что значит имитация их наличия в случае их отсутствия? Это о живучести говорится или о функционале?

> Анализ предметной области и происходящих в ней процессов, на основании чего и

принимается решения о числе участников РСОИ и их функциях.

"Анализ ... и обоснование решения на базе РСОИ". Если участники разные по функционалу - глупо обосновывать их количество.

> исходя из отсутствия строгих гарантий о работе прочих участников распределённой системы и каналов связи


Устойчивой к [долго]временным сбоям компонентов системы и/или каналов связи

> Кодирование спроектированной системы


Написание программного кода имеется в виду или зашифрование или что?

anonymous
()

Оффтопик: как-то странно смотрится официальный документ с вкраплениями сленга ("копипаста" и т.д.).

gaa ★★
()
Ответ на: комментарий от Davidov

> (наверняка курсов по этому у них не было, можно какой-нибудь intro перевести и раздавать под видом методички).

Был, уря! По svn. Называния добавлю.

> желательно на лазерном принтере

> Почему?

На струйнике -- хуже выглядит (на практике). Особенно мелкие рисунки.

> Сноска 16 не понятна.

В прошлом году трахались с виртуалками, куда каждый норовил засунуть свою версию MS SQL или oracle. Грустно было. Это сноска для преподавателей, уберу из итоговой версии.

> Запрет Erlang и C, и рекомендация Java? Странно всё это.

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

А программные инженеры, не имевшие опыта секcа с явой -- это всё-таки нонсенс. Жуткая многословность кода для курсового не проблема, я его обычно смотреть подробно не буду, тем более -- писать. :)

Насчёт Си --- у нас есть курсы и курсовые с практикой на Си, но зачём он тут?

sv75 ★★★★★
() автор топика
Ответ на: комментарий от gaa

> ("копипаста" и т.д.).

Там написано "т.н. <<копипаста>>" -- для пояснение, что нельзя делать. Вынесу в сноску. Или где-то осталось ещё от черновика? А какой ещё сленг, будут смотреть, не рудименты ли это конспекта мыслей?

sv75 ★★★★★
() автор топика
Ответ на: комментарий от sv75

> Или где-то осталось ещё от черновика? А какой ещё сленг, будут смотреть, не рудименты ли это конспекта мыслей?

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

gaa ★★
()
Ответ на: комментарий от anonymous

> 2. системы, входящие в систему, называются подсистемами или компонентами. Или объединение систем лучше назвать как-то иначе - комплексом, например. Иначе, читая "система" непонятно о каком уровне речь.

Да, тут есть некоторая проблема с терминологией, бузесловно. Приемлемого решения пока нет. Особенно с учётом гостов, мать их.

> 3. "Принципиально различающиеся" - ничего не значащее выражение. Для кого-то принципиален фукнционал, для кого-то лицензия, для кого-то цена и т.д.

Это чтобы не сделали одну систему, запустили в трёх копиях, и сказали что "требование наличия трёх систем выполнено".

> Должна поддерживать транзакции в многопользовательском режиме.

Это очевидная банальность, не обязательно. Тут речь вот о чём: cначала запрос, потом коррекция, потом отмена. С сообщениями по smtp. И, в худшем случае, "транзакции руками" --- если отмена вызывает необходимость изменений у другого партнёра.

Остальное читаю, спасибо.

sv75 ★★★★★
() автор топика
Ответ на: комментарий от gaa

> Что-то подобное видел в предыдущем документе, но сейчас уже не вспомню.

Да, предыдущий пока ещё не официальный, там полного нестрогостей осталось.

sv75 ★★★★★
() автор топика
Ответ на: комментарий от sv75

> Это чтобы не сделали одну систему, запустили в трёх копиях, и сказали что "требование наличия трёх систем выполнено".

Им же там предложено обосновать. Да и выше было сказано, что система должна строиться из разнородных компонент.

> Это очевидная банальность, не обязательно.


Это перевод отквоченного высказывания был, в моём понимании смысла прочтённого. На самом деле для курсовика неочевидна такая глубина - новое решение проблемы транзакций в распределённых системах в принципе на научную работу потянет, а реализация известного - на диплом.

> Тут речь вот о чём: cначала запрос, потом коррекция, потом отмена.


Ну это уже ребования к функционалу приложения, который определяется студентом в процессе анализа и обоснования.. Впрочем всегда можно привинтить что-нибудь "сбоку", что бы продемонстрировать insert/select/update/delete.

> С сообщениями по smtp.


Почему именно по SMTP? Просто с асинхронными уведомлениями.

> И, в худшем случае, "транзакции руками" --- если отмена вызывает необходимость изменений у другого партнёра.


Очень неконцептуально.
И непонятно о чём речь:
1. Если про откат транзакции - то для того и транзакция, что бы не допускать актуализацию данных до того момента, как получено согласие от всех участников.
2. Если речь о логике приложения - например отменить заявку на билетики, то это уже другая транзакция с т.з. системы. Да, должна быть предусмотрена временная недоступность узлов, но это вопрос реализации транзакций в распределённой системе.


anonymous
()
Ответ на: комментарий от anonymous

> Им же там предложено обосновать. Да и выше было сказано, что система должна строиться из разнородных компонент.

Поскольку каждая компонента включает в себя ещё три подсистемы, не могу счесть термин удачным. Так что в этом году будем всё-таки использовать: Распр. система --> информационная система (слово "информационная" везде добавлю, где есть двусмысленность) --> подсистема.

sv75 ★★★★★
() автор топика
Ответ на: комментарий от sv75

Да они все информационные.. Только длиннее будет. Я бы забил, раз такие сложности с ГОСТом - д.с. из введения понятно о чём речь, это лишь вопрос "красивости".

anonymous
()
Ответ на: комментарий от anonymous

> На самом деле для курсовика неочевидна такая глубина - новое решение проблемы транзакций в распределённых системах в принципе на научную работу потянет, а реализация известного - на диплом.

Здесь речь только о логике приложения, а не о тразакциях или рапсределённых транзакциях, посколько в такой системе их (на уровне менеджера транзакций и ресурсов) быть не может. К следующему году я, надеюсь напишу на эту тему несколько лекций и требования и, возоможно, термины пересмотрю. Конспект лекций тоже выложу на "поругать". > Ну это уже ребования к функционалу приложения, который определяется студентом в процессе анализа и обоснования...

Да. Но требование есть, чтобы студент не взял область без таких требований к функционалу. > Почему именно по SMTP? Просто с асинхронными уведомлениями.

Они же сделают их на MSMQ, если не подгонять (был прецедент; несмотря на запрет MSMQ).

> Очень неконцептуально. > И непонятно о чём речь:

О п.2.

sv75 ★★★★★
() автор топика
Ответ на: комментарий от anonymous

> Да они все информационные.. Только длиннее будет. Я бы забил, раз такие сложности с ГОСТом - д.с. из введения понятно о чём речь, это лишь вопрос "красивости".

Тогда ограничусь сноской ("в дальнейшем называемая просто система").

sv75 ★★★★★
() автор топика
Ответ на: комментарий от sv75

> Здесь речь только о логике приложения, а не о тразакциях

Тогда, наверное, термин "операция" более уместен. Операторы совершают операции, а соответствующие им транзакции совершаются системами. Ну, опять же, х/з что там с ГОСТом..

> Но требование есть, чтобы студент не взял область без таких требований к функционалу.

Просто любопытно - они двухфазные транзакции проходили за время курса?

> Они же сделают их на MSMQ, если не подгонять (был прецедент; несмотря на запрет MSMQ).

А чем это плохо? Если обосновывают решение - пусть и делают.

anonymous
()
Ответ на: комментарий от sv75

> Они же сделают их на MSMQ, если не подгонять (был прецедент; несмотря на запрет MSMQ).

Кстати, а каково отношение к AMPQ, который вроде бы вполне топичен?

> anonymous> А чем это плохо? Если обосновывают решение - пусть и делают.


Такое решение заведомо не будет соответствовать пункту ТЗ "всё должно работать под дебианом".

gaa ★★
()
Ответ на: комментарий от anonymous

> Просто любопытно - они двухфазные транзакции проходили за время курса?

За аж годовой курс БД? Да (в последний раз, когда я проверял).

>> Они же сделают их на MSMQ, если не подгонять (был прецедент; несмотря на запрет MSMQ).

> А чем это плохо? Если обосновывают решение - пусть и делают.

MSMQ через интернет? Обосновать кроме как "так было проще" не удавалось. Ну и кроме того это прямое нарушение требование -- платформенно-зависимая технология.

sv75 ★★★★★
() автор топика
Ответ на: комментарий от gaa

> Кстати, а каково отношение к AMPQ, который вроде бы вполне топичен?

В этом сезоне я решил *Q не трогать. Причина: нативного клиента к *Q может не быть для выбранной платформы. Ну и ещё есть проблемы, по небольшому опыту.

sv75 ★★★★★
() автор топика
Ответ на: комментарий от sv75

> MSMQ через интернет? Обосновать кроме как "так было проще" не удавалось. Ну и кроме того это прямое нарушение требование -- платформенно-зависимая технология.

Я не знаю работает оно через интернет или нет и есть у него клиенты на не-микрософтовских платформах или нет. Но если оно противоречит ТЗ по этим пунктам - то тем более нет смысла ограничивать спектр решений из-за него.

anonymous
()
Ответ на: комментарий от anonymous

> Но если оно противоречит ТЗ по этим пунктам - то тем более нет смысла ограничивать спектр решений из-за него.

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

sv75 ★★★★★
() автор топика
Ответ на: комментарий от sv75

> тема освящена

научитесь уже писать "освещена" грамотно

или идите в семинарию преподавать

anonymous
()
Ответ на: комментарий от anonymous

> научитесь уже писать "освещена" грамотно или идите в семинарию преподавать

Видимо, это уже не лечится. Зато у чтецов будет вечный повод меня подкалывать.

sv75 ★★★★★
() автор топика

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

И вы всячески хотите оставить студенту только одну лозейку - чтоб он как не пытался, но сделал так, как вы хотите (вводите кучу ограничений, запретов, и т.п.)

Не очень понятно, зачем. Я всегда думал, задача студента - это изучение чего-либо, и переработка информации и создание, грубо говоря, "новой системы", если говорить о курсовой.

Может, проще написать задание, к заданию приложить диаграмки с архитектурой, с требованием писать на определенном языке и используя определенные либы?

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

anonymous
()
Ответ на: комментарий от anonymous

> И вы всячески хотите оставить студенту только одну лозейку - чтоб он как не пытался, но сделал так, как вы хотите (вводите кучу ограничений, запретов, и т.п.)

Это курсовик технического вуза. Где под курсовым исторически понималоась "проектируй типовую форсунку". Get over it.

Времена, когда никаких требовний и ограничений не было -- тоже помню, и споры в комисии "так это система была распределённой или нет?". Помню и оракл и три версии MSSQL, который требовали поставить студенты. И MSMQ, используемый через "интернет". И .NET Remoting по публичной сети. И ASP.NET как платформу для сервера логики (постоянно работающей, ага). И курсовые с кодом в конструкторской части. И описания протокола в виде сообщений (и только их). Много чего помню, вот поэтому есть и требования.

> Не очень понятно, зачем. Я всегда думал, задача студента - это изучение чего-либо, и переработка информации и создание, грубо говоря, "новой системы", если говорить о курсовой.

Это задача бакалаврского, курсового по специальности и диплома.

> В общем, не нравится, что вы наплодили кучу бессмысленных ограничений. Ну напишет кто-то за студента код на эрланге. И что, разве вы этого не заметите?

Замечу. И что делать? Ставить два? Три? Не хочу терзаться сомнениями.

> Хотите сразу подстраховаться? А как же те, кому захочется написать именно на эрланге?

А почему они этого не сделали на д/з? А если делали -- то пожалуйста, пусть пишут.

sv75 ★★★★★
() автор топика
Ответ на: комментарий от anonymous

> Не очень понятно, зачем. Я всегда думал, задача студента - это изучение чего-либо, и переработка информации и создание, грубо говоря, "новой системы", если говорить о курсовой.

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

sv75 ★★★★★
() автор топика
Ответ на: комментарий от sv75

> Да, кстати. Для недовольных есть исследовательская тематика на практически вольную тему

Ну, значит не всё так плохо.

> > В общем, не нравится, что вы наплодили кучу бессмысленных ограничений. Ну напишет кто-то за студента код на эрланге. И что, разве вы этого не заметите?

> Замечу. И что делать? Ставить два? Три? Не хочу терзаться сомнениями.

Да, сразу пару, так как задание не выполненно (после опроса по коду/етц). Пусть берёт год повторного обучения.

> > Хотите сразу подстраховаться? А как же те, кому захочется написать именно на эрланге?

> А почему они этого не сделали на д/з? А если делали -- то пожалуйста, пусть пишут.

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

anonymous
()
Ответ на: комментарий от anonymous

> Да, сразу пару, так как задание не выполненно (после опроса по коду/етц).

Эхм... ладно. В этом сезоне будет два.

> Ну, если это задание для пассивных двоечников, неспособных ни к чему и ничем не увлекающиихся - то тогда всё ок.

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

> Хотя бы выгнал таких как "проф. непригодных".

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

> Главное, чтобы таких людей было не большинство в группе.

Тут проблема -- их примерно половина потока.

sv75 ★★★★★
() автор топика
Ответ на: комментарий от sv75

>> Главное, чтобы таких людей было не большинство в группе.
> Тут проблема -- их примерно половина потока.


Это вечная проблема, так что не стоит так переживать :)

gaa ★★
()
Ответ на: комментарий от gaa

> Это вечная проблема, так что не стоит так переживать :)

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

sv75 ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.