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

« Предыдущее - Версия 49/56 (Разница(diff)) - Следующее » - Текущая версия
Дмитриев Александр, 12.02.2020 20:30


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

В рамках предмета "Системный анализ" для студентов 2-го курса работа каждого студента подразделяется на 2 основных этапа:

  1. Выполнение курсового проекта (в зачетку ставится оценка по 5-бальной шкале)
  2. Общая работа за семестр (происходит в виде выполнения лабораторных работ) (в зачетку ставится отметка о зачете)

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

Студенты 1-го курса отдельной оценки по курсовому проекту не имеют. Вместо курсового проекта студенты 1-го курса оформляют семестровую работу по тем же требованиям, что и курсовой проект (см ниже). В конце семестра ставится зачет. С той лишь разницей, что объем исследований и документации будет несколько меньший, чем это требуется от 2-го курса в курсовом проекте. Более подробно эти объемы мы будем оговаривать в рамках лекционных занятий. Задания по лабораторным работам у 1-го и 2-го курса совпадают.

Требования к курсовому проекту (семестровой работе для 1-го курса)

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

Проект вы должны выполнять в командах, численностью 3-4 человека. Участников команд можно брать из студентов всего курса (т.е. вы не ограничены вашей группой). Главное, чтобы это были ответственные люди, способные к какой-либо сложной работе. Подходите к выбору членов команды максимально ответственно. Каждая команда должна провести самостоятельный анализ современного IT рынка и выбрать для себя интересные идеи для реализации проекта. Где и как искать эти идеи мы с вами обсуждаем на первых лекционных, а также лабораторных занятиях.

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

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

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

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

Итак, курсовой проект (семестровая работа) включает в себя:

  1. Презентация проекта (см ниже)
  2. Документация курсового проекта (см ниже)
  3. Презентационная web-страница о проекте

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

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

  • Актуальность
    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 диаграммы - прецедентов, т.е. как пользователи будут работать с вашей программой и классов), скриншоты прототипов интерфейса, описываете распределение задач между разработчиками в проекта.
  • Документация пользователя (ДП). Кратко и понятно - как пользоваться вашим продуктом.

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

Требования по работе за семестр (лабораторные работы)

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

Предполагается, что за семестр вы можете набрать 100 баллов. Всего 4 лабораторных. За каждую лабораторную работу студенты 2-ого курса получает по 15 баллов, а 1-ый курс по 10 баллов + 20 баллов за семестровую работу. Зачет еще 40 баллов.

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

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

Требования к лабораторной работе №1 (задание этой лабы выполняет каждым студентом индивидуально):

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

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

Минимальные требования к диаграммам: 12 прецедентов, 10 классов и остальные диаграммы исходя из содержимого первых двух. Описание диаграмм можно посмотреть в данных презентациях: UML1, UML2, UML3

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

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

Требования к лабораторной работе №2 (начиная с этой лабы задания выполняются командно):

На второй лабораторной работе вам необходимо будет сделать презентацию своей идеи уже с полным анализом актуальности проекта. План презентации представлен выше. Кроме того, в рамках второй лабораторной необходимо по презентованной идее сделать техническое задание (ТЗ) на ваш курсовой проект. В ТЗ описывается, что вы хотите сделать в рамках своего проекта. В документе не забывайте указывать ссылки на обоснование вашего проекта в документе под названием Пояснительная записка (ПЗ). Примерный набор параграфов можете посмотреть в статье Написание ТЗ. Особое внимание в ТЗ должно быть уделено Требованиям к системе в целом и Функциональным требованиям к проекту. Чтобы любой человек, привлеченный в проект со стороны, прочитав ТЗ, мог понять что необходимо делать для того, чтобы успешно реализовать проект.

Требования к лабораторной работе №3 (командная работа)

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

Задание по Git должно выполняться командно. У каждой команды должен быть создан репозиторий на Github. В качестве примера предлагается совместное написание студентами ПЗ курсового проекта. В репозитории должны находиться несколько текстовых файлов, каждый из которых является отдельной главой ПЗ. Файлы в формате *.md (markdown), кодировка UTF-8. Картинки прикрепляются в виде ссылок. Каждый студент команды должен редактировать файлы ПЗ в своей локальной ветви разработки, периодически заливая свои ветви в главную ветвь репозитория. Менеджер проекта (один из студентов команды) должен следить за корректностью приходящих изменений. Очень рекомендуется использовать методологию Git flow. Необходимо, чтобы каждый файл репозитория редактировали как минимум 2 студента из команды. Это поможет им научиться разрешать конфликты слияния различных ветвей разработки. Как пользоваться Git я писал ранее в двух статьях (они полностью обновлены): Основы Git и Управление репозиториями. Рекомендую также для ознакомления книгу Pro Git

Составление плана выполнения проекта также производится командно. Учитывая, что весь проект является лишь описанием того, как в будущем должен выглядеть стартап, проект должен включать в себя довольно подробный план реализации. План реализации должен представлять собой список задач, распределенных среди членов команды. Задачи формируются согласно одной из методологий Agile (Scrum, Kanban, XP и др.). Задачи должны быть предварительно разбиты по итерациям и занесены в систему управления проектами. Все задачи должны иметь временные рамки, сложность и ответственных. Желательно использовать Jira, но по необходимости можно использовать другие системы, в том числе данный сайт, который является системой управления проектами Redmine. Итоговый план реализации проекта должен быть представлен на отчет в виде одной из Agile досок, а также в виде диаграммы Гантта с указанием крайних сроков реализации проекта.

Требования к лабораторной работе №4 (командная работа)

Последняя лабораторная работа будет заключаться в написании презентационной web-страницы (лэндинг-пейдж), описывающую ваш курсовой проект для конечных пользователей. Презентационная web-страница о проекте должна быть написана с использованием базовых технологий HTML, CSS, Javascipt. Весь исходный код этой страницы обязательно должен быть выложен в репозитории проекта на Github (обязательно при участии других членов команды)! Сама страница должна быть размещена в сети Интернет. Методические указания, как сделать такую страницу опубликую немного позднее.

Паттерны.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 МБ)