Практическая работа №1
Исследование предметной области и оформление паспорта проекта
Section titled “Исследование предметной области и оформление паспорта проекта”Цель работы:
- ознакомиться с выданной предметной областью индивидуального проекта;
- определить проблему, целевую аудиторию и назначение будущего веб-приложения;
- выделить основные роли пользователей;
- определить контентную и операционную сущности проекта;
- оформить паспорт проекта;
- создать Git-репозиторий для дальнейшей разработки.
Основные теоретические положения
Section titled “Основные теоретические положения”Что такое предметная область?
Section titled “Что такое предметная область?”Предметная область — это часть реального мира, для которой разрабатывается информационная система или веб-приложение.
Например, если разрабатывается сайт стоматологической клиники, то предметная область включает услуги клиники, врачей, пациентов, запись на приём, статусы записей и административную обработку заявок.
Предметная область помогает понять:
- какие данные нужно хранить;
- какие пользователи будут работать с системой;
- какие функции должны быть реализованы;
- какие страницы потребуются в интерфейсе;
- что должно быть доступно администратору.
Что такое целевая аудитория?
Section titled “Что такое целевая аудитория?”Целевая аудитория — это группа пользователей, для которых создаётся проект.
| Проект | Возможная целевая аудитория |
|---|---|
| Стоматологическая клиника | Пациенты, администратор клиники |
| Курсы программирования | Студенты, школьники, администратор образовательного центра |
| Интернет-магазин книг | Покупатели книг, администратор магазина |
| Афиша мероприятий | Посетители мероприятий, организаторы, администратор |
| Каталог вакансий | Студенты, работодатели, администратор |
При описании целевой аудитории важно указать, кто будет пользоваться сайтом и какие задачи эти пользователи решают.
Контентная и операционная сущность
Section titled “Контентная и операционная сущность”В каждом проекте необходимо выделить две основные сущности.
| Тип сущности | Назначение | Примеры |
|---|---|---|
| Контентная сущность | То, что отображается в публичной части сайта | услуга, товар, курс, мероприятие, вакансия |
| Операционная сущность | То, что создаёт пользователь | запись, заказ, бронирование, заявка, отклик |
Примеры:
| Предметная область | Контентная сущность | Операционная сущность |
|---|---|---|
| Стоматологическая клиника | Услуга, врач | Запись на приём |
| Интернет-магазин книг | Книга, жанр | Заказ |
| Афиша мероприятий | Мероприятие | Регистрация на мероприятие |
| Каталог вакансий | Вакансия | Отклик |
| Фотостудия | Зал, пакет съёмки | Бронирование |
Такой подход позволяет сделать проект не просто статичным сайтом, а небольшим веб-приложением с пользовательскими действиями.
Что такое паспорт проекта?
Section titled “Что такое паспорт проекта?”Паспорт проекта — это краткий документ, в котором фиксируется основная идея будущего веб-приложения.
Паспорт проекта нужен для того, чтобы до начала разработки определить:
- что разрабатывается;
- для кого разрабатывается;
- какую задачу решает проект;
- какие роли пользователей будут в системе;
- какие данные будут храниться;
- какие страницы нужно разработать;
- какой результат должен быть получен к защите.
Паспорт проекта оформляется в файле:
docs/project-passport.mdПроизводственная ситуация
Section titled “Производственная ситуация”Вы выступаете в роли начинающего веб-разработчика. Вам выдана предметная область, на основе которой необходимо разработать небольшой веб-проект.
Перед тем как переходить к дизайну, верстке и программированию, необходимо изучить предметную область и зафиксировать основную идею проекта. Это позволит избежать ситуации, когда страницы сайта уже сверстаны, но непонятно, какие данные должны храниться в базе, какие действия выполняет пользователь и что должно быть в административной панели.
Основные требования к практической работе
Section titled “Основные требования к практической работе”В рамках практической работы необходимо:
- Получить или выбрать индивидуальную предметную область.
- Проанализировать назначение будущего проекта.
- Определить проблему, которую решает проект.
- Описать целевую аудиторию.
- Определить роли пользователей.
- Выделить контентную сущность.
- Выделить операционную сущность.
- Составить список основных функций.
- Определить данные, которые необходимо хранить.
- Сформировать предварительный список страниц.
- Создать Git-репозиторий.
- Оформить паспорт проекта.
Задания для выполнения
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. Выделение сущностей проекта”Определите:
- Контентную сущность.
- Операционную сущность.
- Дополнительные сущности, если они нужны.
Пример для стоматологической клиники:
| Тип | Сущность |
|---|---|
| Контентная сущность | Услуга |
| Дополнительная сущность | Врач |
| Операционная сущность | Запись на приём |
Пример для интернет-магазина книг:
| Тип | Сущность |
|---|---|
| Контентная сущность | Книга |
| Дополнительная сущность | Жанр, автор |
| Операционная сущность | Заказ |
Задание 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; - начальная структура проекта;
- описание предметной области;
- цель проекта;
- целевая аудитория;
- роли пользователей;
- контентная и операционная сущности;
- предварительный список страниц;
- первый осмысленный коммит.
Контрольные вопросы
Section titled “Контрольные вопросы”- Что такое предметная область проекта?
- Для чего необходимо определять целевую аудиторию?
- Чем контентная сущность отличается от операционной?
- Какие роли пользователей должны быть в проекте?
- Для чего нужен паспорт проекта?
- Почему Git-репозиторий необходимо создавать в начале работы?
- Какие данные необходимо определить до проектирования базы данных?
Рекомендуемые материалы
Section titled “Рекомендуемые материалы”- Банк предметных областей учебной практики.
- Шаблон паспорта проекта.
- Требования к итоговому проекту.
- Материалы по работе с Git.
- Материалы по проектированию пользовательского интерфейса.