joined_document
.pdfПользовательские требования
Регистратор:
Зарегистрировать читателя
Найти читателя
Изменить личные данные читателя
Отменить регистрацию читателя
Просмотреть список должников
Просмотреть список выданных книг
Просмотреть личные данные читателя
Пользовательские требования
Архивариус:
Зарегистрировать новую книгу
Отредактировать данные книги
Удалить книгу
5
Пользовательские требования
Архивариус:
Зарегистрировать экземпляр книги
Отредактировать данные экземпляра
книги
Удалить экземпляр книги
Пользовательские требования
Архивариус:
Найти автора
Добавить автора
Отредактировать автора
Удалить автора
6
Пользовательские требования
Архивариус:
Просмотреть все типы обложек
Добавить тип обложки
Редактировать тип обложки
Удалить тип обложки
Пользовательские требования
Администратор:
Найти пользователей
Добавить пользователя
Редактировать данные пользователя
Сбросить пароль пользователя
Удалить пользователя
7
Функциональные требования
Администратор:
Найти пользователей
На стартовой странице отображается таблица с двумя колонками: имя пользователя; роль пользователя. В таблице отображается список пользователей, удовлетворяющих некоторому критерию
Функциональные требования
Администратор:
Найти пользователей
В таблице с результатом поиска пользователей щелчок по заголовку столбца с именем пользователя открывает всплывающее окошко для ввода регулярного выражения, которому должны соответствовать имена пользователей, и кнопку «применить» для активизации фильтра по регулярному выражению
8
Функциональные требования
Администратор:
Найти пользователей
В таблице с результатом поиска пользователей щелчок по заголовку столбца с ролью пользователя открывает всплывающее окошко со списком ролей, возле которых располагаются checkbox-ы, и кнопка «применить» для активизации фильтра по роли
Функциональные требования
Администратор:
Найти пользователей
В таблице с результатом поиска пользователей отображаются по умолчанию пользователя с фильтром по всем ролям, кроме читателя
9
Функциональные требования
Администратор:
Найти пользователей
При щелчке по строке таблицы с результатом поиска пользователей открывается форма редактирования пользователя, содержащая имя пользователя и выпадающий список с ролями пользователей
Функциональные требования
Администратор:
На каждой странице администратора отображается блок статуса, в котором содержится информация о количестве пользователей, работающих в данный момент в системе (всего и по каждой роли), среднее, максимально и минимальное время обработки запроса читателей и сотрудников (всего 6 чисел) за последние 15 минут. Информация в блоке обновляется каждые 5 секунд
10
Виды нефункциональных требований
Требования безопасности
Требования надёжности (отказоустойчивости)
Требования выдерживания нагрузки
Требования быстродействия
Требования удобства использования и т.д.
Нефункциональные
требования
Максимальное время отклика на странице читателя 25 миллисекунд при одновременной работе в системе до 5000 читателей и до 100 сотрудников
Максимальное время отклика на странице сотрудника 10 миллисекунд при одновременной работе в системе до 5000 читателей и до 100 сотрудников
11
Моделирование предметной области ИС
Сущности
Информационные эксперты
DTO – Data Transfer Object
JavaBeans
Требования к JavaBeans
public-конструктор без параметров
get-теры и set-теры
реализация интерфейса Serializable
1
Пример JavaBeans
package com.shop.entity;
import java.io.Serializable;
abstract public class Entity implements Serializable { private Integer identity;
public Integer getIdentity() { return identity;
}
public void setIdentity(Integer identity) { this.identity = identity;
}
}
Пример JavaBeans
package com.shop.entity;
public class Test extends Entity { private boolean visible;
/* . . . */
public boolean isVisible() { return visible;
}
public void setVisible(boolean visible) { this.visible = visible;
}
}
2
Пример JavaBeans
package com.shop.entity;
public class Test extends Entity { private Boolean visible;
/* . . . */
public Boolean getVisible() { return visible;
}
public void setVisible(Boolean visible) { this.visible = visible;
}
}
Пример ассоциации
package com.shop.logic;
import com.shop.entity.Test;
public class SomeClass { private Test test;
}
3