docs: add data source update
This commit is contained in:
@@ -0,0 +1,81 @@
|
|||||||
|
# Дополнение к техническому заданию: изменение типа `recordBookNumber`
|
||||||
|
|
||||||
|
Данное дополнение имеет **приоритет над основным ТЗ `DataSource.md`**.
|
||||||
|
|
||||||
|
## Изменение модели `Student`
|
||||||
|
|
||||||
|
Поле:
|
||||||
|
|
||||||
|
```java
|
||||||
|
private final String recordBookNumber;
|
||||||
|
```
|
||||||
|
|
||||||
|
заменено на:
|
||||||
|
|
||||||
|
```java
|
||||||
|
private final int recordBookNumber;
|
||||||
|
```
|
||||||
|
|
||||||
|
Метод:
|
||||||
|
|
||||||
|
```java
|
||||||
|
getRecordBookNumber()
|
||||||
|
```
|
||||||
|
|
||||||
|
возвращает `int`.
|
||||||
|
|
||||||
|
## Требования к `DataSource`
|
||||||
|
|
||||||
|
Во всех реализациях источников данных необходимо учитывать новый тип `recordBookNumber`.
|
||||||
|
|
||||||
|
### `ManualDataSource`
|
||||||
|
|
||||||
|
`recordBookNumber` должен передаваться как `int`:
|
||||||
|
|
||||||
|
```java
|
||||||
|
setStudent(
|
||||||
|
int index,
|
||||||
|
String groupNumber,
|
||||||
|
double averageGrade,
|
||||||
|
int recordBookNumber
|
||||||
|
);
|
||||||
|
```
|
||||||
|
|
||||||
|
Строковое значение номера зачётной книжки больше не используется.
|
||||||
|
|
||||||
|
### `RandomDataSource`
|
||||||
|
|
||||||
|
Для `recordBookNumber` необходимо задавать и генерировать **числовой диапазон**:
|
||||||
|
|
||||||
|
```text
|
||||||
|
минимальное значение — int
|
||||||
|
максимальное значение — int
|
||||||
|
```
|
||||||
|
|
||||||
|
Генерируемое значение должно быть целым числом и соответствовать ограничениям `Student`.
|
||||||
|
|
||||||
|
### `FileDataSource`
|
||||||
|
|
||||||
|
В файле `recordBookNumber` должен записываться как целое число.
|
||||||
|
|
||||||
|
Формат записи:
|
||||||
|
|
||||||
|
```text
|
||||||
|
groupNumber;averageGrade;recordBookNumber
|
||||||
|
```
|
||||||
|
|
||||||
|
Пример:
|
||||||
|
|
||||||
|
```text
|
||||||
|
A12;4.75;12345
|
||||||
|
B32;3.80;12346
|
||||||
|
C17;4.20;12347
|
||||||
|
```
|
||||||
|
|
||||||
|
При чтении значение необходимо преобразовать в `int` до создания `Student`.
|
||||||
|
|
||||||
|
## Приоритет
|
||||||
|
|
||||||
|
При противоречии между данным дополнением и основным `DataSource.md` использовать требования этого дополнения.
|
||||||
|
|
||||||
|
Все остальные требования основного технического задания остаются без изменений.
|
||||||
Reference in New Issue
Block a user