вторник, 9 января 2018 г.

Честность, смирение и достоинство

Наука – очень демократичное занятие в плане того, что вы, как любой исследователь, имеете право опровергнуть любые взгляды, оспорить любые мнения, критиковать любую научную работу. То же касается и вашей работы. Главное правило – критика должна быть серьезно обоснована.
Никогда не делайте необоснованных заявлений и выводов, так как они легко могут быть оспорены оппонентами, могут открыть вашу недостаточную компетентность, поскольку часто нам трудно понять тексты, в которых стиль изложения или взгляды отличаются от привычных нам. Ваши вчерашние «гениальные» мысли, которые восхищали вас вчера, часто кажутся смешными через месяц, если не на следующее утро. Будьте терпимы, осторожны и уважительны в своей критике чужих трудов, так как даже скромная работа малоизвестного автора может подсказать вам интересную идею.  Это качество называют научным смирением, научной скромностью.
Например, когда я писала программу трассировки микросхем, то выбрала метод Аккерса для кодирования ячеек матрицы, которая моделировала слои проводников. Программа упорно не работала, и когда я поняла, что ошибка не в программе, а в классическом алгоритме, я стала бурно возмущаться и даже написала статью с опровержением кода Акерса. Научный руководитель смирил мое тщеславие, и статья состоялась, но не в первом варианте, а с описанием ограничений применимости кода Акерса. Это был для меня урок научного смирения.

Когда вы пишете свою дипломную работу, вы наверняка используете тексты других авторов. Научитесь пользоваться ими правильно:
  • не списывайте всё подряд, а излагайте основные идеи своими словами; 
  • не искажайте мысли тех авторов, на которых вы ссылаетесь; 
  • заключайте скопированные фразы в кавычки и указывайте источник в сноске; 
  • не придумывайте библиографические ссылки «с потолка» и не исправляйте год издания книг и статей;
  • статьи из википедии и других сайтов интернета использовать можно, указав их в списке литературы.

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

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

Короче, не обижайте своих коллег и себя самого!

Сравнительный анализ как источник научной новизны

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

  • Исследуйте в деталях бизнес-процессы на том же предприятии:  постройте их качественные и количественные модели,   проведите имитационное моделирование бизнес-процессов, на основе которого определите узкие места и предложите изменения в процессах обработки информации. Вам только нужно убедиться, что ранее никто не делал аналогичного исследования тех же бизнес-процессов или описать, что вы внесли нового в модель. Модель может быть впервые создана для данного предприятия, но даже в существующую модель вы можете внести изменения, например, предложите какие-то другие показатели качества / эффективности / надежности при моделировании, которые не были учтены предшественниками. Например, все до вас исследовали трудоемкость обработки данных, а вы рассмотрите показатели надежности: вероятность внесения ошибок, вероятность сбоев и потери данных. Также рассчитайте риски, связанные с потерей и искажением данных, а заодно предложите метод автоматизации расчета рисков.
  • Проведите сравнительный анализ существующих типов моделей (бизнес-процессов, данных) и выберите оптимальные варианты именно для вашего случая. 
  •   Исследуйте всевозможные инструменты разработки и моделирования предметной области с целью выбора подходящего инструмента, новизна может быть в сравнении какого-то нового, недавно появившегося на рынке инструмента с другими. 
  • Рассмотрите и сравните различные виды архитектуры вашей информационной системы (разные виды клиент-серверной, веб-сервисы, облачные сервисы, локальные приложения).

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

Общий порядок экспертной оценки:


  • Сначала перечислите все критерии, по которым будете сравнивать исследуемые модели или инструменты. Для сравнения программных средств годится список критериев качества, приведенный в ГОСТ 28195-89 «Оценка качества программных средств» (http://aquagroup.ru/normdocs/7621) или в лекции на Интуите (http://www.intuit.ru/studies/courses/651/507/lecture/11551).  Для сравнения моделей могут использоваться и другие критерии: адекватность отображения моделируемого объекта (релевантность, полнота и точность), сложность,  удобство использования (интерпретируемость, сложность, наличие справочной информации,  наличие средств автоматизации) и др.  
  • Соберите литературу, в которой приводится более или менее похожее сравнение. Хорошо, если в этой литературе описаны не все  объекты и не все критерии сравнения (это и будет предметом для вашего вклада в науку). 
  • Каждый критерий может иметь определенный приоритет как для вас, так и для других разработчиков, участвующих в процессе создания данного ПО. Назначьте степени весомости критериев качества методом экспертных оценок (экспертами могут выступать ваши коллеги – разработчики и вы сами).  
  • Предложите способ количественного определения каждого показателя (он может быть описан в литературе, но вы можете его предложить сами, тут надо писать формулы, описывать алгоритмы и процедуры получения значений показателей).
  • Предложите вариант расчета интегральных показателей качества, с помощью которых вы будете  выбирать модели или инструменты
  • Проведите все расчеты, сведите их в таблицы.
  • Завершите анализ выводами: что именно вы выбрали на основе расчетов, какие новые методы расчета показателей или сравнительные анализы вы сделали (этот вывод войдет в заключение вашей дипломной работы).


Что такое "обзор литературы"

Исследовательскую часть диплома обычно начинают с обзора литературы. Например, сюда можно отнести анализ аналогов: вы должны найти и описать программные продукты и ИТ, которые решают задачи, похожие на вашу.
Цель этого раздела – доказать, что для решения вашей задачи действительно требуется разработать новую программу или информационную технологию, а также составить список того, чем ваша разработка будет отличаться от аналогов. Если не исследовать аналоги, то вы рискуете изобрести велосипед. Новая программа или информационная технология должна отличаться от существующих в лучшую сторону функциями, качеством или эффективностью.
Например, ваша тема – автоматизация расчета зарплаты на предприятии ХХ. Вы должны исследовать, какие программы существуют для этого на мировом рынке, составить перечень их основных свойств и сравнить с требованиями ваших пользователей. Если какой-то продукт полностью решает вашу задачу сейчас и в ближайшем будущем, то новую программу писать не надо: смените тему работы или сделайте шаг вбок: разработайте проект внедрения найденной программы на предприятии. Возможно, новизна в вашем решении будет состоять в том, как новая программа будет вписана в существующую информационную среду, например, предложите способ переноса имеющихся данных в БД, способ обмена информацией с другими программами, проведите локализацию (перевод на русский язык) иноязычной программы.

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

Иногда исследование аналогов предшествует формулировке требований, так как ни вы, ни заказчик «не в теме» и не можете внятно сформулировать требования к системе. Например, при разработке интернет-магазина можно изучить существующие сайты магазинов как в вашем регионе, так и в целом в мире. Не обязательно ассортимент товаров должен быть таким же, что у вашего магазина, ориентируйтесь на первые 20 сайтов в поисковой выдаче. Результатом обзора аналогов в этом случае будет описание всех функций нового магазина с учетом интересных маркетинговых фишек. Так же вы можете исследовать и программные средства для разработки интернет-магазинов, составив список нужных функций «бэк-офиса».

Сколько аналогов рассмотреть? В идеале вы должны найти все решения, актуальные на сегодняшний момент, то есть поддерживаемые производителями в ближайшие 2-3 года. Те продукты, которые не устраивают вас по какому-то признаку, сразу отбрасывайте, не углубляясь в их описание. Например, если требуется использовать только свободно распространяемое программное обеспечение, то нет смысла описывать характеристики Microsoft Visual Studio, как бы она вам не нравилась.

Дата публикации источника информации не должна быть старше, чем три-пять лет от текущего момента. Причем, учтите, что некоторые статьи на сайтах, в студенческих работах многократно копируются, так что желательно найти дату публикации первоисточника, иначе может оказаться, что вы воспользовались давно устаревшими данными (косвенное свидетельство этого – упоминание «умерших» операционных систем, например,  Windows Vista, XP:  в новом проекте нельзя использовать платформу, которая уже не поддерживается производителем).

Научная новизна

Понятие «научности» было сформулировано еще в XVII веке и по сей день предполагает, что:

  • Предмет научного исследования должен обладать узнаваемостью и поддаваться описанию. Для узнаваемости любого предмета мы приписываем ему некие качества, которые его отличают от других предметов и позволяют его узнать при встрече. Предмет исследования должен соответствовать той специальности, по которой вы защищаете дипломную работу. Описание предметной области должно быть рациональным, то есть составлено на основе наблюдений и измерений, а не на основе эмоций или воображения. 
  • В научном исследовании должно быть сказано о предмете нечто, чего ранее еще не говорилось, или должны быть переосмыслены ранее высказанные кем-то идеи.  Например, руководство по применению системы «1С: бухгалтерия» в АО «Метан» не является научной работой, так как не открывает ничего нового. А вот сравнительно-сопоставительное исследование многообразных бухгалтерских систем может претендовать на научную ценность, если его до вас никто не проводил, или если вы включили в имеющиеся описания что-то новое, например, рассмотрели новейшие версии программ, рассмотрели изменения в этих системах, связанные с только что вышедшим законом. 
  •  Исследование должно быть полезно для других. Например, полезна модель документооборота конкретного предприятия, так как она может описывать индивидуальные особенности этой фирмы и обязательно будет использоваться во всех будущих работах по её  информатизации. Также полезно описание изменений в ранее описанной модели документооборота, которые возникли за время, прошедшее с момента создания модели. В полезности можно выделить два аспекта: актуальность темы (то есть, кто и почему интересуется темой сейчас) и практическая значимость (кто и как сможет пользоваться результатами вашей работы). 
    • Актуальность принято обосновывать ссылками на авторитетные мнения (директивы государства, руководителей предприятия, экспертов в отрасли). Например, актуальность автоматизации складского учета на предприятии Х можно обосновать тем, что тема диплома является составной частью проекта, реализуемого на этом предприятии. 
    • Степень практической пользы  может быть разной: от безусловно необходимых работ, без которых любое дальнейшее исследование этой предметной области не может быть успешным, - до микроскопической научной значимости, например, в подсчете среднего количества студентов, играющих в компьютерные игры на лекциях профессора Х в весеннем семестре 2018 года. Хотя для профессора Х, возможно, это будет открытием, для остального человечества эта информация мало значима. Значимость проблемы можно увеличить, расширив рамки исследования, но это не всегда можно успеть за время подготовки диплома. Так, в последнем примере можно повысить значимость, если проследить количество играющих студентов с распределением по специальностям, вузам, странам, за разные временные периоды, определить ее корреляцию с количеством трудоустроенных по профессии и со средним заработком, предложить средства блокировки игр на уроках и использования игр в учебных целях, но эта тема уже тянет на кандидатскую или даже докторскую диссертацию. 
  • Исследование должно описывать способы проверки и опровержения предлагаемой идеи, которые позволят другим исследователям продолжить ваш труд. Например, вы разработали проект сайта, который пока существует на вашем личном компьютере, а также описываете условия, при которых ваш проект окупится через год. Для проверки вы должны привести в дипломе формулы расчета окупаемости проекта, предложить несколько вариантов хостинга и продвижения сайта, описать возможные риски внедрения сайта в работу предприятия, а также перечислить, при каких условиях ваш сайт будет бесполезным или убыточным. В ИТ-проектах вы можете свою разработку сделать общедоступной, например, выложить файлы проекта на сервисе GitHub. Итак, вы не только предложили свою идею, но и наметили тропинку для последователей: обозначили задачи, предоставили код и предупредили об опасностях. Достоверность результатов можно подтвердить актом внедрения материалов дипломной работы на конкретном предприятии: не стесняйтесь попросить директора подписать эту бумагу, особенно, если вы не претендуете на материальное вознаграждение.
Таким образом, основные критерии дипломной работы с точки зрения научности:

  • соответствие предмета исследования и вашей специальности, 
  • рациональность, 
  • актуальность, 
  • новизна, 
  • практическая значимость, 
  • достоверность результатов.


Значение практического опыта

Я очень рекомендую выбирать знакомый вам объект исследования и подняться хотя бы на одну ступеньку вверх по иерархии управления. Например:
  • если вы бухгалтер-практикант, выбирайте автоматизацию бухучета на смежных рабочих местах;
  • если вы менеджер по продажам или продавец, автоматизируйте торговую или маркетинговую деятельность вашего предприятия или отдела;
  • если вы веб-дизайнер, - проектируйте и оптимизируйте сайты;
  • если вы рабочий на заводе – изучите управление производством на уровне мастера и автоматизируйте его деятельность;
  • если вы программист – выберите одну из ваших программ и подумайте об ее улучшении.
  • Если у вас есть хобби (не важно какое, плетение ли корзинок, пчеловодство, сочинение фантастических рассказов, спорт или туризм), объектом вашего исследования можно выбрать веб-сайты, посвященные  вашему увлечению. 
  • Если вы молодая мама, рассмотрите тему создания сайта для домохозяек в вашем городе на темы: совместные покупки, подработка в отпуске, срочная помощь, обмен вещами и т.п. Годится не только отдельный сайт, но и создание групп в социальных сетях и способы их раскрутки. 
  • Если вы никогда не работали и ничем не увлекаетесь, то превратите в дипломную работу самый последний курсовой проект.

Бывает, чтобы сменить или расширить сферу знаний или просто из соображений доступности магистрант продолжает учиться после бакалавриата по другой специальности. Например, преподаватель информатики решает переквалифицироваться в программиста и поступает на «Прикладную информатику».
 Старая специальность может мешать взглянуть на объект исследования с другой стороны: магистрант должен выбрать предметом исследования не педагогические методы (они используются в обучении), а методы информатики (они используются при разработке новых информационных систем и технологий). Отличается и научный стиль текстов в гуманитарных и прикладных науках: необходимо тщательно «отжимать воду», которой наполнены большинство экономических и педагогических трактатов, удерживать себя от желания писать общеизвестные истины, нельзя детально описывать общепринятые среди специалистов вашей сферы методы и модели, надо стараться излагать мысли не столько «красиво» или "заумно", сколько лаконично, логично, без противоречий.
Однако, прежняя специализация может и помочь магистранту информатики, если его проект будет использоваться в знакомой сфере трудовой деятельности: ему легче описать информационные потребности пользователей и актуальные для них задачи. Итак, при смене специальности вас ждут как трудности адаптации в новой сфере, так и «плюшки» большей широты взгляда по сравнению с другими студентами.
Это касается и тех, кто работает в одной сфере, а получает образование по другой: ваш опыт практической деятельности в любой сфере поможет вам, если тема диплома связана с вашей работой.

Вторая проблема связана с выбором средств разработки ПО. Можно ли использовать не знакомые для вас инструменты разработки?   Ответ:

  • нельзя, если вы намерены уложиться в 1-3 месяца, так как целый месяц уйдет только на то, чтобы разобраться с новым инструментом: изучить новый фреймворк, язык или среду программирования, средство моделирования. А ведь нужно и начать думать в терминах нового инструмента.
  • можно, если у вас в запасе целый год
Итак, предпочитайте инструменты разработки, которые вы уже использовали раньше. 

Надо ли знать иностранные языки?

В программу высшего образования любой степени входит иностранный язык, но насколько он нужен ИТ-специалисту непосредственно при подготовке дипломной работы?
Ответ: вы должны знать английский язык на уровне чтения и понимания «Помощи» при использовании инструментов разработки; вы должны быстро понимать содержание статей по специальности, хотя бы с помощью онлайн-переводчика.

Особенность ИТ-индустрии состоит в том, что чаще всего инструменты разработки (программные среды, CMS, веб-сервисы, программы для моделирования, СУБД) используются «в оригинале», то есть имеют англоязычный интерфейс. Конечно, есть исключения, которые лишь подтверждают общее правило.
Невозможно уложиться в разумные сроки разработки, если каждый пункт меню вам надо переводить со словарем. Выучите 100 самых нужных ИТ-терминов по-английски (выпишите их на листочки крупными буквами, развесьте по своей комнате, на кухне и в туалете, чтобы глазами постоянно натыкаться на эти слова, повторяйте их вслух при каждой возможности. Через неделю вы их запомните, но листочки не снимайте).

Новости ИТ публикуются, как правило, сначала по-английски. Поэтому в магистерской диссертации, где вы должны рассмотреть самые свежие публикации по своей теме, без знания иностранного языка вы не сможете изучить всю необходимую литературу. Если вы в состоянии читать только русскоязычные статьи и переводы, то выбирайте тему из классических и инструменты – из локализованных, не трогая самые «горячие и модные» темы ИТ-индустрии.

Сколько времени отвести на дипломный проект?

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

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

Еще одно соображение в пользу постепенного неторопливого написания диплома – это более тщательная его проверка вашим руководителем. Если вы принесете все 100 страниц текста за  день до защиты (а так могут сделать 5 – 7 дипломников), то судите сами, какие советы сможет сделать преподаватель и какой отзыв он даст о вашей работе?
Гораздо лучше, если вы приносите текст по частям, имея запас времени на его проверку и исправление замечаний.

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

  • для бакалаврской ВКР - это месяц ежедневного упорного труда: две недели на программную разработку и две недели – на текст и схемы;  
  • для магистерской нужно добавить еще месяц на поиск и обзор литературы. 

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

  • Тема диплома очень конкретная, узкая и «типовая»,
  • Весь исходный материал вам доступен (например, опубликован в интернете или связан с вашей работой);
  • Вы имеете навыки использования инструментов разработки; 
  • У вас есть образец для подражания.
  • Вы трудитесь ежедневно не менее четырех часов.


Выбор языка программирования и среды разработки

Студенты часто удивляются, когда я предлагаю им тему, связанную с разработкой сайта с помощью конструктора, ведь там «не надо программировать». Так какие языки программирования и какое инструментальное программное обеспечение разрешается использовать в дипломной работе?
Ответ: инструменты могут быть любыми, лишь бы они решали поставленную задачу с приемлемым уровнем качества и позволяли вам продемонстрировать компетенции, характерные для вашей специальности.
SaaS (программное обеспечение как сервис), в том числе конструкторы сайтов – это равноправные инструменты по сравнению с теми, которые требуется устанавливать на ваш компьютер. Конструктор сайтов – такой же высокоуровневый инструмент разработки, что и 1С: Предприятие. Вместо низкоуровневого кодирования вы строите информационную систему из крупных типовых блоков, производя их параметрическую настройку. Вы выигрываете в скорости разработки, но можете проиграть в индивидуализации пользовательского интерфейса. То есть в дипломе вам надо доказать, что использование данного инструмента уместно в вашем конкретном случае.

Не забудьте также о правах на интеллектуальную собственность: вы не имеете права использовать не лицензионные программные средства, а также применять для коммерческих проектов ПО, предназначенное для учебных целей. Однако вы можете использовать средства, имеющиеся на предприятии, для которого выполняется дипломная работа. Лучший выбор с этой точки зрения – свободное программное обеспечение: СУБД MySQL, PostreSQL, Firebird, SQLite и др.; среды разработки  Android Studio, App Inventor,  Eclipse, NetBeans, Visual Studio Code и др.

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

Что же писать в разделе «Разработка информационного и программного обеспечения», если вы не писали код на С++ или Java?
Вы будете описывать адаптацию программного продукта: перечислите, какие компоненты программы вы выбрали для своего проекта и как их настроили. Если требуется нарисовать модель ПО - составьте абстрактную инфологическую модель предметной области в виде диаграммы классов, а также модель пользовательского интерфейса в виде карты сайта или иерархической схемы меню приложения.

В магистерской диссертации вы можете более аргументированно сопоставить разные методы разработки сайтов, разные средства их продвижения, которые встроены в тот или иной конструктор, можете предложить свои улучшения, например, разработать нестандартную таблицу стилей или расширить/заменить какой-то модуль собственной разработкой, если это позволяет выбранный конструктор. Наконец, вы можете предложить гибридные решения: типовую часть сайта собрать из конструктора, а уникальные функции – реализовать другими средствами, в том числе другими SaaS. Таким образом, вовсе не обязательно разрабатывать сайт «с нуля» в блокноте.
Все сказанное о сайтах в равной степени относится и к разработке приложений, например, 1С: Предприятие  - тот же "конструктор", из деталей которого собирается информационная система уровня предприятия.

Итак, выбирайте тот язык и инструмент разработки, который решает поставленную задачу дешевле, быстрее и с приемлемым уровнем качества.

Классические или новейшие информационные технологии


«В целом современный предмет всегда труднее классического» (У.Эко, с.26). 

Информатика – новая наука по сравнению с философией, но и в ней можно выделить классические предметы исследования, то есть те, которые давно изучаются, по которым много написано. Например, программы для бухгалтерского учета – одни из старейших классических приложений. Тем не менее каждый год появляются новые аналоги, использующие новые программно-аппаратные платформы или учитывающие обновление законодательства.
К современным (на 2018 год) можно отнести технологии дополненной реальности, интеллектуальную обработку больших данных, ИИ в бизнес-приложениях, «умный дом», мобильные приложения и др.

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

Для работы с новейшими ИТ, как правило, необходимо использовать новые инструментальные программные средства, которые могли не изучаться в рамках вашей образовательной программы. С точки зрения вашего профессионального развития, это интересно и полезно, но не реально из-за сжатых сроков дипломного проектирования. Вы можете выбрать такую тему в двух случаях: 1) если у вас не дипломный проект, а дипломная работа, в которой не требуется реальное программирование, а допускается только аналитическая и абстрактная проектная часть; 2) вы уже работаете с данной ИТ не менее года.

Теоретическое исследование или практическая разработка?

Теоретический диплом — это сочинение, где предлагается рассмотреть отвлеченную проблему, уже когда-то выступавшую или еще никогда не выступавшую предметом обсуждения… (У.Эко, с.23).

Примеры из области информатики: теория алгоритмов, структуры данных, представление знаний, теория кодирования. Обычно теоретической информатикой занимаются ученые, имеющие большой опыт научной работы, позволяющий им обобщить накопленные знания. От выпускника бакалавриата и магистратуры не требуется фундаментальных открытий, он просто должен доказать свою пригодность к инженерной или научной деятельности.
Поэтому 99,9% дипломов имеют практическую направленность.

Обычно дипломная работа на 30% состоит из изложения теории и на 70% из описания ее практического применения для решения конкретной задачи. При этом теория – это краткое описание применяемой терминологии, выбранных моделей, методов, алгоритмов, программных средств.
Например,:

  • перед проектированием базы данных на 1-3 страницах опишите модель «сущность – связи» и поясните, зачем и какой именно вариант этой модели вы будет дальше использовать в своем проекте. 
  • Перед изложением функциональности вашего приложения кратко перечислите  основы модели use-case и ее достоинства по сравнению с другими способами самого общего описания информационной системы.


Объект и предмет исследования


Многие путаются со словами «объект исследования» и «предмет исследования». Вносит путаницу еще и такой термин, как «предметная область». На самом деле все просто:

  • объект исследования – это часть реальности, с которой мы собираемся работать,
  • предмет исследования – это те свойства, связи, части объекта, которые мы описываем в своей работе;
  • предметная область – это та часть мира, где находятся предметы, отображаемые  информационной системой. То есть, практически – то же самое, что объект исследования, но применительно к дипломам по созданию информационных систем. 

Объектом может быть предприятие и его подразделения, типовой бизнес-процесс, сообщество, социальный процесс, программные продукты. Например:

  • объект – бизнес-процесс торговли, предмет – программные средства для автоматизации этого процесса в организации Х;
  • объект – торговое предприятие Х, предмет – информационные технологии для автоматизации торгово-закупочной деятельности на этом предприятии;
  • объект – интернет-коммерция, предмет – инструменты создания и продвижения сайта интернет-магазина;
  • объект – интернет-коммерция, предмет –  сайт интернет-магазина пончиков;
  • объект – сайт интернет-магазина пончиков, предмет – поисковая оптимизация этого сайта;
  • объект – социальные сети, предмет – способы реализации социальной сети выпускников вуза.

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

Широта и глубина исследования

«Первый импульс у любого студента – написать такой диплом, где говорилось бы сразу о многом» (У.Эко, с. 18). 

Например, если студент интересуется мобильными приложениями, первый импульс у него – написать диплом «Исследование и разработка мобильных приложений», в лучшем случае «Мобильные приложения в образовании». Такой подход губителен, так как масштаб исследования необъятен, для двадцатилетнего молодого человека подобный подвиг нереален. Вы успеете рассмотреть десяток приложений, пару десятков статей, придумаете 100500-ую программу-квест и будете поставлены в тупик вопросом «Зачем потребовалась ваша разработка, если существующие программы Х и У успешно решают все поставленные вами задачи?»

Поэтому желательно сузить предмет вашего исследования. Если тема чересчур широкая, то вы рискуете рассмотреть ее поверхностно. А если она очень узкая, то наоборот, вы можете даже открыть там нечто, ранее никем не описанное, то есть появится научная новизна. Одно условие: в этой узкой теме вы должны разобраться досконально и изучить по ней все, что известно и неизвестно. К тому же вы наверняка узнаете эту тему гораздо глубже, чем члены экзаменационной комиссии.
 Вы можете сузить тему программной разработки, рассмотрев конкретную платформу, фреймворк, область применения, предприятие, организацию или автоматизированное рабочее место (АРМ), на котором программа будет использоваться. Например, «Разработка мобильного приложения для информационной поддержки абитуриентов Х-го колледжа на платформе Android 7.0». Такая тема вполне годится для бакалаврской ВКР. А для магистерской диссертации необходимо определить исследование, например: «Исследование информационной деятельности абитуриентов Х-го колледжа и разработка мобильного приложения на платформе Android 7.0 для её поддержки».

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

Обратите внимание, что исследовать надо то, что другие еще не исследовали, что имеет особенности и отличия от аналогов. Например, опасно выбрать тему «Сравнительный анализ CMS для разработки интернет-магазинов», так как эти системы неоднократно сравнивались, и вы вряд ли напишете что-либо оригинальное. Но если предложить ранее не рассмотренный и полезный критерий сравнения этих же систем, либо уточнить названия и конкретные новейшие версии систем, то все может быть не так печально. Например, «Сравнительный анализ удобства использования облачных версий CMS Joomla и Wordpress  и разработка … ». В этой теме вы должны провести целых два исследования: 1) современные методы анализа usability программных систем и 2) результаты применения выбранного метода к заявленным продуктам. Так сужение предметной области заставляет вас более глубоко ее исследовать.

Умберто Эко приветствует тех, кто подходит даже к решению маленькой задачи с серьезностью, так как «хорошая коллекция фантиков лучше, чем плохая картинная галерея». Или перефразируя для ИТшников, хороший сайт кондитерской на конструкторе WIX лучше, чем плохой самописный корпоративный портал. Потому что в первом случае вы продемонстрируете способность вычленить, полностью и в срок решить посильную для вас задачу, готовый сайт вы можете показать будущему работодателю или клиенту, а по его примеру разработать другие, даже можете похвастаться актом о внедрении разработки. А во втором случае недостаточно отлаженный код обязательно упадет во время демонстрации на защите, не оставит вам времени на написание толковой пояснительной записки, и в конце концов будет заброшен за ненадобностью.

Итак, запомним правило: чем конкретнее тема, тем лучше работается и тем достижимей успех (У.Эко, с.23).

Выбор темы дипломной работы

Четыре  правила выбора темы

«Хотя и веселее писать диплом по привлекательной теме, все же тема менее существенна, нежели метод обработки и опыт отражения материалов. В частности, если браться за дело с умом, ни одна тема не выглядит глупо» (У.Эко, с.16). 

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

Выбор темы работы должен отвечать четырем требованиям:

  1. Тема должна соответствовать склонностям конкретного студента, то есть, лучше, чтобы тема была интересна студенту, например, она может быть связана с его увлечением или бывшей, теперешней или будущей работой: проще работать с тем материалом, с которым вы хоть как-то знакомы; желательно также, чтобы тема не усыпляла вас и не наводила  тоску;
  2. Основные исходные материалы должны быть достижимы  (все нужные данные, документы, стандарты, руководства, книги можно найти в открытом доступе, скачать, скопировать на электронный носитель); например, не беритесь за тему «Автоматизация работы с клиентами в банке «ВТБ», если у вас нет доступа к документам бэк-офиса данного банка;
  3. Основные исходные материалы должны быть постижимы (то есть студент способен их осмыслить и систематизировать за отведенное время). Например, вы очень интересуетесь компьютерной безопасностью и поняли, что по этой теме есть масса учебников и статей, но ваш опыт ограничивается включением «Защитника» Windows. Или вы едва владеете английским, а на русском нет основной литературы по теме проекта. Такие темы брать не рекомендую.  
  4. Избранная методология должна соответствовать возможностям студента (то есть методы, алгоритмы, программные продукты, языки программирования, веб-сервисы и т.д. должны быть знакомы студенту, нужные вам программы вы можете установить на своем компьютере, или можете использовать онлайн за приемлемые деньги, при этом поставщик должен гарантировать безопасность, так чтобы ваша разработка не исчезла внезапно и бесследно). Например, не стоит браться за разработку мобильного приложения, если у вас слабый компьютер и нет смартфона на той платформе, под которую вы будете программировать. Не стоит надеяться, что администраторы компьютерной сети вуза позволят вам установить новое программное обеспечение: рассчитывайте только на свой собственный компьютер и те программы, с которыми вы  знакомы.


Диплом как тренинг

Есть три стороны полезности вашей дипломной работы:

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

Ведь, кроме написания кода программы, вам придется:
  •  сформулировать тему, 
  • собрать исходные материалы и систематизировать их, 
  • выбрать и построить модели разных объектов; 
  • осмыслить недостатки и предложить улучшения; 
  • выбрать подходящие инструменты разработки; 
  • написать типовые и не типовые тексты, 
  • пояснить читателям полезность и нужность вашей работы, а также ее отличия от аналогов;
  •  напечатать и правильно оформить около 100 страниц текста с иллюстрациями, таблицами и формулами.
Работа над дипломом научит вас терпению, рассудительности, систематичности и предусмотрительности. Эти навыки приобретаются на всю жизнь, то есть «не так важна тема работы, как опыт ее создания». (У.Эко, с.15).

Поэтому рассматривайте подготовку дипломной работы как профессиональную  тренировку.

Зачем пишут дипломную работу?

Высшее образовании в РФ имеет три уровня:
  1.  бакалавриат или специалитет,  
  2.  магистратура, 
  3.  аспирантура. 
Каждый уровень заканчивается написанием и защитой письменной работы, без которой вам не выдадут официальный государственный документ о том, что вы имеете соответствующий уровень высшего образования. Эту письменную работу и будем называть здесь дипломной, хотя официально она называется: ВКР для бакалавров, дипломная работа (или проект) для специалистов, магистерская или кандидатская диссертация для магистров и аспирантов. С повышением уровня высшего образования требования к вашей работе возрастают. В этой книге мы рассмотрим подготовку бакалаврской и магистерской работ. Главное отличие от них кандидатской диссертации – в ней обязательна научная новизна, а в первых двух – не обязательна, хотя замечательно, если она присутствует.

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

Защита дипломной работы длится примерно 10-15 минут, в течение которых за 7-8 минут вы описываете суть всего, что сочинили за 2 месяца, 5-7 минут отвечаете на вопросы комиссии (она состоит из 5-7 преподавателей, но могут быть и люди «с производства») и узнаете свою оценку. Комиссия ставит оценку не только за саму работу, но и за то, как вы выступали, учитывая то, как учились до этого. Весь процесс называется итоговая государственная аттестация (ИГА). В некоторых вузах надо сдать специальные экзамены вместо дипломной работы, но мы здесь не об этом.

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

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

Проблемы массового высшего образования

В былые социалистические времена большинство студентов учились, а не работали, стипендии хватало на еду, а у преподавателей было не больше 2-3 дипломников. В вузы поступало около 25% от всех выпускников школ, а остальным рабочая профессия или диплом техникума гарантировали даже более обеспеченную жизнь, чем врачам, учителям и инженерам. 
Ныне без высшего образования не берут на государственную службу и в секретари, не продвигают бухгалтеров и офис-менеджеров. Бывает, даже от продавщиц и официантов требуют предъявить диплом вуза, - вероятно, так работодатели пытаются застраховаться от полных придурков. Таким образом, на высшее образование имеется большой спрос,  оно становится массовым. Чтобы удовлетворить массовый спрос, производитель должен расширить производство, вкладывая в него больше средств, либо снижая затраты на единицу продукции.
В нашей стране объем бюджетных средств на образование не увеличивается, а затраты на обучение студентов сокращаются следующим образом:
- сокращается время: время пребывания студента в вузе вообще и время контактной работы с преподавателем в частности (сокращение часов аудиторных занятий, увеличение количества заочников);
- увеличивается интенсивность работы преподавателя:  за ту же заработную плату он фактически работает больше времени;
- объем бюджетных средств привязан к текущему количеству студентов: отчислять неуспевающих означает сокращать количество или заработную плату преподавателей;
- бюджетные затраты на вузы перераспределяются (небольшая часть вузов финансируется в достаточной степени, а остальные выживают живут за счет введения платного обучения).
Отмечу только несколько последствий такой политики:
- средний уровень подготовки абитуриентов снижается, поэтому преподаватели ориентируются на самых слабых студентов, а самые лучшие не получают должного внимания и развития;
- оценки определяются не только подготовленностью студента, но и угрозой увольнения преподавателей;
- чтобы иметь возможность учиться, многие студенты вынуждены зарабатывать себе на жизнь, поэтому не могут уделять учебе достаточно времени и сил;
- выбирая направление обучения, абитуриент думает не столько о будущей профессии, сколько о стоимости образовательной программы.

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

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


ИТ-профессии сохраняют свою привлекательность: средняя зарплата ИТ-шников выше, чем средняя зарплата вообще; многие любят компьютеры за игры и развлечения; многие  абитуриенты слабо представляют себе работу ИТ-специалиста, судя о ней по школьным урокам  информатики. Студенты, выбравшие ИТ-направление, представляют собой довольно разношерстную публику:
- часть студентов сделала осознанный выбор, имея перед глазами пример родителей или знакомых;
- часть молодых людей продолжают учиться, но не планируют работать по специальности, так как у них нет определенного склада ума и способностей,
- есть и такие студенты, кто пренебрегает занятиями, сравнивая себя с более слабыми сокурсниками и имея некоторый практический опыт, однако их знания бессистемны и не развиваются в результате такого отношения.
Так или иначе, все студенты для получения заветной корочки должны написать и защитить дипломную работу. И вот тут возникают проблемы, поскольку дипломная работа - это самая большая самостоятельная работа, которую студент выполняет в вузе, и не все студенты к этому готовы.
Руководитель дипломника обязан контактировать со студентом дважды – при выдаче темы и перед защитой дипломной работы. Зачастую ваш профессор загружен работой и неуловим, назначает консультации совсем не тогда, когда вы можете их посетить,  относится к вам как к неизбежному злу, а не как к любимому дитятке. В свою очередь,  студент не всегда способен организовать свою самостоятельную работу и  вовремя проконсультироваться. Куча «мелочей», связанных с написанием дипломной работы, не решается оперативно, а постепенно вырастает в целую гору. Студент зачастую не понимает, в чем состоит его ошибка, отмеченная преподавателем, или не знает, как её исправить, или представляет работу слишком поздно, когда на исправление не остается времени.
Трудности, связанные  с самостоятельной подготовкой дипломной работы, представляются многим студентам настолько большими, что они решаются на обходные пути, заказывая готовую работу на стороне или на одном из сайтов "помощи студентам". Тем самым они лишают себя важного этапа обучения, обманывают себя, своих преподавателей и будущих работодателей и не могут быть признаны достойными диплома по своей специальности.

Умберто Эко и эта книга

Написать эту книгу меня вдохновили два чувства: 
  1. легкая эйфория после чтения пособия Умберто Эко «Как написать дипломную работу» и 
  2. усталость от однообразия вопросов и ошибок моих дипломников. 
Итальянский философ и писатель Умберто Эко был нашим современником (1932 – 2016). Наряду с научными исследованиями и сочинением художественных романов он всю жизнь преподавал в различных университетах по всему миру. Его учебно-методическое пособие по подготовке дипломных работ издано в далеком 1977 году, через год после защиты моего дипломного проекта в Пензенском политехническом институте, а на русском языке опубликована в 2003 году, когда я уже защитила кандидатскую диссертацию.

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

Но я понимаю, что советы философа и лингвиста почти полувековой давности будут восприняты современными студентами ИТ-направления, с которыми я сейчас работаю, в лучшем случае, скептически. Молодому человеку свойственно отвергать все "старое" и считать бессмысленным то, что не дает очевидного и прямого ответа на текущие вопросы. Как ни жаль, но современная реальность состоит в том, что молодые  люди уверены, что все ответы есть в интернете!

Все это подвигло меня на то, чтобы адаптировать мысли Умберто Эко к современности и студентам ИТ-направлений, но постараться хотя бы отчасти сохранить тот аромат итальянского обаяния, теплоты и любви к читателям, которым пронизан первоисточник. Ремейк выполнялся по русскому переводу Е. Костюкович, изданию книжного дома «Университет» 2003 года.  Книга может быть полезна всем студентам, которым предстоит писать дипломный проект.

Боюсь, что телевидение и интернет за последние 40 лет сильно сократили долю читающих книги людей. Например, в моем городе исчезли почти все книжные магазины. И те, кто еще читает по привычке, по любви к этому занятию или по долгу, чаще выбирают электронные носители: это дешевле и быстрее. Некоторые вместо книг смотрят видеозаписи или слушают аудио. По этой причине я старалась по возможности сократить текст, чтобы не устрашить нетерпеливого юного читателя объемом этого сочинения.

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

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

Автор будет благодарен за любые замечания и предложения.


Читателям

Студенты, которым не нужна эта книга Эта книга не для тех, кто хочет списать.  Их цель – не знания и саморазвитие, а бумажка для показ...