3. Планирование проекта и требований?
1) Определить цель проекта
2) Определить, что мы НЕ делаем — границы
проекта (scope)
3) Кратко описать все остальное
Документ: Концепция или Vision
5. Концепция
● Для кого?
● Что им нужно?
● Каков вид приложения?*
● Какова главная функция продукта?
● Какие существуют аналоги продукта?
● В чем преимущество перед аналогами?
* Интернет-сервис? Desktop приложение? Мобильное приложение? API?
6. Концепция
● Для <кого-то>, которым нужно <что-то> наш
<класс продукта> <название> будет делать
<главную функцию>.
● В отличие от <альтернатив>, наш продукт
<лучше потому-то и потому-то>.
7. Концепция: пример
Для студентов, которым нужно узнавать об
изменениях в расписании, наш веб-сервис с
мобильным приложением будут предоставлять
актуальное расписание занятий на ближайшие
дни, с указанием аудиторий и преподавателей.
В отличие от форума, мобильное приложение
будет само получать обновленное расписание и
оповещать студента об изменениях.
8. Концепция: пример
Для кредитных менеджеров, которым нужно
оценить благонадежность заемщика, наше
клиент-серверное приложение будет
автоматически на основе анкетных данных
выдавать скоринговую оценку заемщика.
В отличие от базы данных на Access, наше
приложение будет лучше защищать данные,
работать быстрее и анализировать больше
параметров анкеты.
9. Формальным языком:
● Заинтересованные лица
● Цели заинтересованных лиц
● Предварительная архитектура
● Основные функции
● Альтернативные решения
● Ключевые преимущества
10. Корпоративное ПО: много
заинтересованных лиц
● Руководство
● Пользователи
● Системные
администраторы
● Смежные отделы
● Служба безопасности
● Маркетинг
● Юристы
● Служба кадров
14. Масштаб
● Типы пользователей
Сколько разных рабочих мест нужно
разработать?
● Концептуальная модель данных.
Что есть в мире?
● Диаграмма состояний.
Как меняется мир?
15. Типы пользователей
● Кто из заинтересованных лиц будет
пользователями?
● Какие у них цели?
● Количество разных рабочих мест =
количеству пользователей с разными
целями
16. Модель данных
● Глоссарий (словарь терминов)
или
● Онтология (понятия и их связи)
или
● Диаграмма классов
Атрибутные модели vs фактологические
18. UML
● Unified Modeling Language
● Промышленный стандарт
● Графический язык
● Объектно-ориентированный язык
● Диаграммы:
– Структуры
– Деятельности
– Взаимодействия
22. Оценка сложности
● Сложные данные и простые алгоритмы
Понятно — что делать, но нужно учитывать
много частных случаев (сложная диаграмма
классов).
● Простые данные и сложные алгоритмы
Понятно — с чем работать, но непонятно - как.
● Сложные данные и сложные алгоритмы =
декомпозиция системы