Требования к созданию курсового проекта и работе за семестр

Требования к курсовому проекту

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

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

Требования к презентации стартапа

Презентация вашего проекта должна содержать описание следующих пунктов (по каждому пункту вы проводите исследование и описываете результаты в презентации и ПЗ):

  • Актуальность
    1. Обоснование актуальности
    2. Цели проекта
    3. Задачи, которые необходимо решить для достижения цели
    4. Презентация самой идеи (прототип, различные схемы, красочные заставки)
    5. Перспективы дальнейшего развития
  • Макроуровень
    1. Вы – компания или просто продукт/идея?
    2. Ваше видение компании
  • Ваш продукт
    1. Что это
    2. Какую проблему он решает
    3. Почему он лучше остальных
    4. Почему в течение некоторого времени его не вытеснит какой-то другой продукт
  • Команда
    1. Это часть презентации, которая отражает ваш характер. Вы должны объяснить, почему именно вы подходите для этой задачи и почему инвестор должен вам доверять.
    2. В вашей команде не хватает кого-нибудь?
    3. Как вы производите рекрутинг или как вы убедите присоединиться к вам двадцатого сотрудника?
    4. Какую систему компенсаций вы применяете?
  • Бизнес
    1. Объем рынка, а именно, целевого рынка
    2. Какую долю рынка вы планируете захватить и каким образом
    3. Конкурентный анализ / ваши преимущества
    4. Бизнес-модель
    5. Как вы будете создавать доход?
    6. Препятствия для входа/выхода

Если у вас есть желание разобраться в этих пунктах подробнее, то для этого есть замечательная лекция и целый курс от Питера Тиля, посвященный стартапам (по той же ссылочке)

Документация

Значит от вас требуются следующие документы:

  • Техническое задание на проект (ТЗ). В нем описывается, что вы хотите сделать в рамках своего проекта. В документе не забывайте указывать ссылки на обоснование вашего проекта в документе под названием Пояснительная записка (ПЗ). Примерный набор параграфов можете посмотреть в статье Написание ТЗ
  • Пояснительная записка (ПЗ). В пояснительной записке необходимо написать - для чего собственно вы делаете проект. Этот документ представляет собой системное исследование, а поскольку наш предмет носит название как раз "Системный анализ", то размер документа не должен ограничиваться 2 страничками с 18 шрифтом. В общем в документ должны быть внесены все ваши мысли, идеи, исследования, которые вы проводили, готовя презентацию проекта. По сути это технико-экономическое обоснование проекта. В помощь вам кидаю свою лекцию по стартапам, где описывается, что же требуется от стартапа. ПЗ должна включать следующие пункты:
    1. Цели и задачи вашего проекта
    2. Новизна и практическая значимость (для чего, где будет использоваться, зачем, какую проблему решает ваш продукт)
    3. Исследование конкурентов. Ваши преимущества перед ними (с обоснованием)
    4. Обзор вашей команды. Индивидуальные качества сотрудников (здесь вовсе не обязательно описывать всю автобиографию человека после выпускного в детском саду - кратко в нескольких словах). Описание вашей командной работы (например, какие методологии разработки ПО вы используете). Почему ваша команда настолько крута, что может реализовать вашу идею. Пожалуйста не разводите в этом пункте КамедиКлаб, поскольку документы будут затем изучаться заведующим кафедрой. Прошу быть серьезнее. Рекомендую ознакомиться со слайдом 32 моей презентации и описать указанные там пункты
    5. Бизнес-план согласно слайдам 40 и 41. Не забудьте расписать на чем будете зарабатывать и сколько планируете тратить на поддержку своего проекта
    6. Аудитория проекта и ее потребности
    7. Маркетинговая программа по раскрутке проекта. Какие креативные подходы планируете использовать, чтобы раскрутить проект
    8. Итоги исследования
  • Технический проект (ТП) (привыкайте к таким аббревиатурам). В ТП описываете процесс проектирования вашего проекта. Т.е. какие модули были придуманы, структура баз данных (БД), прототипы интерфейса, диаграммы UML по проекту (Необходимы 2 диаграммы - прецедентов, т.е. как пользователи будут работать с вашей программой и классов), скриншоты, описываете распределение задач между разработчиками в проекта. Не забудьте продублировать задачи в своем проекте на civnote.ru раздел "Задачи".
  • Документация пользователя (ДП). Кратко и понятно - как пользоваться вашим продуктом.

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

Особое требование по качеству документации будет к тем проектам, где с программированием будет плоховато. Если с кодом совсем все плохо, то даже идеальная документация не поможет.

Требования по работе за семестр

С семестровой оценкой все проще - она складывается из баллов за лабы и баллов за выступления на семинарах.

Предполагается, что за семестр вы можете набрать 100 баллов.

Расклад баллов таков:

  1. 80 баллов за написание персонального сайтика на нативном JS, CSS, HTML, NodeJS (без использования сторонних библиотек),
  2. 20 баллов за доклады на семинаре по JS и работе со страницей в браузере.

Соответственно, посещаемость суммируется к итоговым баллам при недоборе баллов.

Пример того, как персональный сайт должен примерно выглядеть в конце семестра, можно склонировать отсюда через git:

http://git@civnote.ru/sisan/regexp.git

Далее в папке проекта необходимо запустить из терминала:

node server.js

И просмотреть ссылку http://localhost:4000

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

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

За копипасту получаете также как и в предыдущем семестре по 1 баллу за лабу.

Если вы не выкладываете лабы в Git репозиторий, то ваши максимальные баллы урезаются ровно в 2 раза. В общем, мотивация пользоваться Git хорошая. Как пользоваться Git я писал ранее в двух статьях (они полностью обновлены): Основы Git и Управление репозиториями

Соответственно, просроченные лабы, не залитые в репозиторий, равняются 0 баллам.

Требования к дополнительной лабе:

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

Первая лаба заключается в том, что вы рисуете согласно патерну "Стратегия" или любому другому патерну (файл презентации с описанием паттерна можно скачать здесь) в Astah 5 диаграмм UML: прецедентов, классов, последовательностей, активностей и состояний. Остальные файлы с патернами приложены внизу этого документа. Тема для изображения паттерна свободная. Можно также делать первую лабу на основе анализа любого популярного сайта (яндекс, вконтакте и т.д.). Или же делите свой командный курсач на подсистемы и каждый участник команды рисует свою подсистему в виде UML. Такой вариант будет оценен выше произвольной темы про гоблинов.

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

Затем вы создаете подпроект на сайте civnote.ru в вашем курсовом проекте с названием в следующем шаблоне: "ФИО, название группы". И загружаете ваши файлы первой лабы в раздел Документы вашего проекта в виде картинок (необходимо создать новый документ). Крайне желательно, чтобы картинки отображались на странице документа. Чтобы картинка отобразилась на странице документа, название ее файла необходимо обернуть в 2 восклицательных знака (!). Минимальные требования к диаграммам: 12 прецедентов, 10 классов и остальные диаграммы исходя из содержимого первых двух.

Для выполнения ЛР1 рекомендую пользоваться краткой и понятной книгой "UML Distilled / UML Основы" Фаулер М. 2005 3-е издание. Очень многие пособия по UML, опубликованные в интернете, основаны на этой книге.

Паттерны.ppt (1,835 МБ) Дмитриев Александр, 22.04.2016 15:52

Паттерны3.ppt (1,339 МБ) Дмитриев Александр, 22.04.2016 16:39

Паттерны2.ppt (1,904 МБ) Дмитриев Александр, 22.04.2016 16:39

Паттерны-Финал.ppt (2,359 МБ) Дмитриев Александр, 22.04.2016 16:40

Фабрика.ppt (1,982 МБ) Дмитриев Александр, 22.04.2016 16:40

UML2.pdf (219,718 КБ) Дмитриев Александр, 22.04.2016 17:15

UML1.pdf (455,603 КБ) Дмитриев Александр, 22.04.2016 17:15

UML3.pdf (680,726 КБ) Дмитриев Александр, 22.04.2016 17:15

Добавить изображение из буфера обмена (Максимальный размер: 20 МБ)