Skip to content

Практическая работа №1

Исследование предметной области и оформление паспорта проекта

Section titled “Исследование предметной области и оформление паспорта проекта”

Цель работы:

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

Основные теоретические положения

Section titled “Основные теоретические положения”

Что такое предметная область?

Section titled “Что такое предметная область?”

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

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

Предметная область помогает понять:

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

Что такое целевая аудитория?

Section titled “Что такое целевая аудитория?”

Целевая аудитория — это группа пользователей, для которых создаётся проект.

ПроектВозможная целевая аудитория
Стоматологическая клиникаПациенты, администратор клиники
Курсы программированияСтуденты, школьники, администратор образовательного центра
Интернет-магазин книгПокупатели книг, администратор магазина
Афиша мероприятийПосетители мероприятий, организаторы, администратор
Каталог вакансийСтуденты, работодатели, администратор

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


Контентная и операционная сущность

Section titled “Контентная и операционная сущность”

В каждом проекте необходимо выделить две основные сущности.

Тип сущностиНазначениеПримеры
Контентная сущностьТо, что отображается в публичной части сайтауслуга, товар, курс, мероприятие, вакансия
Операционная сущностьТо, что создаёт пользовательзапись, заказ, бронирование, заявка, отклик

Примеры:

Предметная областьКонтентная сущностьОперационная сущность
Стоматологическая клиникаУслуга, врачЗапись на приём
Интернет-магазин книгКнига, жанрЗаказ
Афиша мероприятийМероприятиеРегистрация на мероприятие
Каталог вакансийВакансияОтклик
ФотостудияЗал, пакет съёмкиБронирование

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


Что такое паспорт проекта?

Section titled “Что такое паспорт проекта?”

Паспорт проекта — это краткий документ, в котором фиксируется основная идея будущего веб-приложения.

Паспорт проекта нужен для того, чтобы до начала разработки определить:

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

Паспорт проекта оформляется в файле:

docs/project-passport.md

Производственная ситуация

Section titled “Производственная ситуация”

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

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


Основные требования к практической работе

Section titled “Основные требования к практической работе”

В рамках практической работы необходимо:

  1. Получить или выбрать индивидуальную предметную область.
  2. Проанализировать назначение будущего проекта.
  3. Определить проблему, которую решает проект.
  4. Описать целевую аудиторию.
  5. Определить роли пользователей.
  6. Выделить контентную сущность.
  7. Выделить операционную сущность.
  8. Составить список основных функций.
  9. Определить данные, которые необходимо хранить.
  10. Сформировать предварительный список страниц.
  11. Создать Git-репозиторий.
  12. Оформить паспорт проекта.

Задания для выполнения

Section titled “Задания для выполнения”

Задание 1. Получение предметной области

Section titled “Задание 1. Получение предметной области”

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

Примеры предметных областей:

№Предметная областьОсновная идея
1Стоматологическая клиникаУслуги, врачи, запись на приём
2Строительная компанияУслуги, портфолио, заявка на расчёт
3Интернет-магазин книгКаталог книг, жанры, заказ
4Афиша мероприятийМероприятия, категории, регистрация
5Курсы программированияКурсы, направления, запись
6КофейняМеню, категории, заказ
7ФотостудияЗалы, услуги, бронирование
8Каталог вакансийВакансии, работодатели, отклики

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


Задание 2. Анализ предметной области

Section titled “Задание 2. Анализ предметной области”

Опишите предметную область в свободной форме.

В описании необходимо указать:

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

Пример описания:

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


Задание 3. Определение проблемы и цели проекта

Section titled “Задание 3. Определение проблемы и цели проекта”

Сформулируйте проблему, которую решает проект.

Примеры проблем:

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

После этого сформулируйте цель проекта.

Пример:

Цель проекта — разработать веб-сайт стоматологической клиники, позволяющий пользователям просматривать услуги и врачей, записываться на приём, а администратору — управлять данными и обрабатывать записи.


Задание 4. Определение целевой аудитории

Section titled “Задание 4. Определение целевой аудитории”

Опишите целевую аудиторию проекта.

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

Пример:

## Целевая аудитория
- новые клиенты клиники, которые хотят ознакомиться с услугами;
- постоянные пациенты, которым необходимо записаться на приём;
- администратор клиники, который обрабатывает записи.

Задание 5. Определение ролей пользователей

Section titled “Задание 5. Определение ролей пользователей”

Определите роли пользователей в проекте.

Минимальный набор ролей:

РольВозможности
ГостьПросмотр публичной части, регистрация, авторизация
ПользовательВыполнение основного действия, просмотр своих заявок
АдминистраторУправление каталогом и обработка пользовательских действий

Опишите роли применительно к своей предметной области.


Задание 6. Выделение сущностей проекта

Section titled “Задание 6. Выделение сущностей проекта”

Определите:

  1. Контентную сущность.
  2. Операционную сущность.
  3. Дополнительные сущности, если они нужны.

Пример для стоматологической клиники:

ТипСущность
Контентная сущностьУслуга
Дополнительная сущностьВрач
Операционная сущностьЗапись на приём

Пример для интернет-магазина книг:

ТипСущность
Контентная сущностьКнига
Дополнительная сущностьЖанр, автор
Операционная сущностьЗаказ

Задание 7. Составление списка функций

Section titled “Задание 7. Составление списка функций”

Составьте список основных функций проекта.

Функции необходимо разделить по ролям.

Пример:

## Основные функции
### Гость
- просмотр главной страницы;
- просмотр каталога услуг;
- просмотр детальной страницы услуги;
- регистрация;
- авторизация.
### Пользователь
- отправка заявки на запись;
- просмотр своих записей;
- выход из системы.
### Администратор
- добавление услуги;
- редактирование услуги;
- удаление услуги;
- просмотр записей пользователей;
- изменение статуса записи.

Задание 8. Определение данных проекта

Section titled “Задание 8. Определение данных проекта”

Определите, какие данные необходимо хранить в базе данных.

Пример:

## Данные, которые необходимо хранить
- пользователи;
- роли пользователей;
- услуги;
- врачи;
- записи на приём;
- статусы записей.

Задание 9. Предварительный список страниц

Section titled “Задание 9. Предварительный список страниц”

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

Минимально необходимо предусмотреть:

  • главную страницу;
  • каталог объектов;
  • детальную страницу объекта;
  • регистрацию;
  • авторизацию;
  • личный кабинет;
  • страницу «Мои действия»;
  • форму основного действия;
  • административную панель;
  • управление каталогом;
  • управление пользовательскими действиями.

Задание 10. Создание Git-репозитория

Section titled “Задание 10. Создание Git-репозитория”

Создайте индивидуальный Git-репозиторий для проекта.

В репозитории необходимо создать начальную структуру:

/docs
project-passport.md
/database
/public
/src
README.md

После создания структуры выполните первый коммит.

Пример сообщения коммита:

init project structure and add project passport

Задание 11. Оформление паспорта проекта

Section titled “Задание 11. Оформление паспорта проекта”

Создайте файл:

docs/project-passport.md

Оформите паспорт проекта по следующей структуре:

# Паспорт проекта
## Название проекта
[Название проекта]
## Предметная область
[Описание предметной области]
## Проблема
[Какую проблему решает проект]
## Цель проекта
[Цель разработки]
## Целевая аудитория
[Для кого разрабатывается проект]
## Роли пользователей
[Гость, пользователь, администратор]
## Контентная сущность
[Основная сущность публичной части]
## Операционная сущность
[Действие пользователя]
## Основные функции
[Список функций]
## Данные, которые необходимо хранить
[Список данных]
## Планируемые страницы
[Список страниц]
## Предполагаемое дизайн-направление
[Цвета, стиль, настроение интерфейса]
## Ожидаемый результат
[Что должно быть готово к защите]

Требования к результату

Section titled “Требования к результату”

К завершению практической работы должны быть подготовлены:

  • Git-репозиторий проекта;
  • файл docs/project-passport.md;
  • начальная структура проекта;
  • описание предметной области;
  • цель проекта;
  • целевая аудитория;
  • роли пользователей;
  • контентная и операционная сущности;
  • предварительный список страниц;
  • первый осмысленный коммит.

  1. Что такое предметная область проекта?
  2. Для чего необходимо определять целевую аудиторию?
  3. Чем контентная сущность отличается от операционной?
  4. Какие роли пользователей должны быть в проекте?
  5. Для чего нужен паспорт проекта?
  6. Почему Git-репозиторий необходимо создавать в начале работы?
  7. Какие данные необходимо определить до проектирования базы данных?

Рекомендуемые материалы

Section titled “Рекомендуемые материалы”
  1. Банк предметных областей учебной практики.
  2. Шаблон паспорта проекта.
  3. Требования к итоговому проекту.
  4. Материалы по работе с Git.
  5. Материалы по проектированию пользовательского интерфейса.