Разработка технического задания (ТЗ) на программное обеспечение. Постановка целей и требований
Автор: MrSnphilo6 • Октябрь 9, 2025 • Практическая работа • 505 Слов (3 Страниц) • 40 Просмотры
Практическая работа
Тема: Разработка технического задания (ТЗ) на программное обеспечение. Постановка целей и требований
Цель занятия
Научить студентов формулировать цели и задачи проекта, а также фиксировать функциональные и нефункциональные требования, чтобы они были понятны разработчикам.
Теоретическая часть
Как формулировать цель и задачи проекта
Цель — это общий ожидаемый результат. Она отвечает на вопрос: «Зачем создаётся ПО?»
Хорошая цель: «Создать веб-приложение для размещения и поиска объявлений».
Плохая цель: «Сделать удобное приложение» (слишком абстрактно).
Задачи — это конкретные шаги, которые нужно выполнить, чтобы достичь цели. Они отвечают на вопрос: «Что нужно сделать?»
Пример задач:
- Разработать интерфейс для добавления и редактирования объявлений.
- Реализовать поиск и фильтрацию объявлений.
- Обеспечить регистрацию и авторизацию пользователей.
- Настроить хранение данных в базе данных.
Правило: цель всегда одна, а задач может быть несколько.
Виды требований к ПО
- Функциональные требования
- Описывают что система должна делать.
- Примеры: регистрация пользователей, поиск данных, печать отчётов.
- Нефункциональные требования
- Описывают как система должна работать (качество, характеристики).
- Примеры: производительность, надёжность, удобство интерфейса, безопасность.
- Бизнес-требования
- Отражают цели заказчика и выгоды от проекта.
- Пример: «Сократить время обработки заявок на 30%».
- Пользовательские требования
- Формулируют, что именно хочет видеть конечный пользователь.
- Пример: «Пользователь должен иметь возможность сортировать товары по цене и рейтингу».
- Системные требования
- Описывают технические характеристики системы.
- Пример: «Система должна работать под Windows 10 и выше, а также Linux Ubuntu 20.04».
- Ограничения (constraints)
- Условия, в рамках которых нужно разрабатывать ПО.
- Пример: «Разработать систему за 3 месяца», «Использовать только PostgreSQL».
- Интерфейсные требования
- Связаны с взаимодействием ПО с пользователями и другими системами.
- Пример: «Программа должна обмениваться данными через REST API».
- Требования к данным
- Определяют правила работы с информацией.
- Пример: «Система должна хранить историю операций за последние 5 лет».
- Требования к безопасности
- Специальная подгруппа нефункциональных, но часто выделяется отдельно.
- Пример: «Все пароли должны храниться с хэшированием (SHA-256)».
В учебных проектах чаще всего используют 2–4 группы: функциональные, нефункциональные, пользовательские и ограничения.
А в реальных промышленных проектах — весь спектр.
Практическая часть
Задания для студентов
- Выбор темы ПО Каждая группа выбирает тему
- Описание проблемы и цели проекта
- Опишите проблему: какая потребность или неудобство существует без этой системы?
- Сформулируйте цель: какой результат вы хотите получить?
Пример:
- Проблема: студенты не могут удобно обмениваться объявлениями о продаже книг.
- Цель: создать веб-приложение для размещения и поиска объявлений между студентами.
- Определение заинтересованных сторон
- Пользователи (например, студенты, покупатели).
- Администраторы (например, преподаватель, модератор).
- Заказчик (например, учебная организация).
- Формирование требований
- Составьте минимум 6–8 функциональных требований.
- Составьте минимум 3–5 нефункциональных требований.
- Посмотрите на остальные требования, напишите какие требования необходимы для вашего продукта, какие можно пропустить?
- Классификация требований
- Запишите эти требования в таблицу:
№ | Тип требования | Формулировка |
1 | Функциональное | Пользователь может зарегистрироваться с помощью email |
2 | Функциональное | Пользователь может добавлять и удалять объявления |
3 | Нефункциональное | Время отклика не более 2 секунд |
4 | Нефункциональное | Данные пользователей хранятся в зашифрованном виде |
...