Път 04Урок 2 / 10

Пазете изискванията проследими при промени в софтуера

Свържете потребителски резултат с решения, критерии за приемане, реализация и доказателства. Обновявайте връзките при промяна на предположенията.

Практическо ниво10 минПрегледано

Публикувано от Как пишем

Проверете разбирането сиСпецификацията се променя след подготовката на архитектурата и тестовете. Какво трябва да се случи?Направете упражнението
Спецификацията се променя след подготовката на архитектурата и тестовете. Какво трябва да се случи?

Какво ще научите

  • Напишете наблюдаемо изискване с изрични граници.
  • Проследете изискване през промяна и нейните проверки.
  • Определете последващите документи, засегнати от променено предположение.

Опишете поведение, което някой може да провери

„Създайте модерен клиентски експорт“ оставя важни решения отворени. Не определя потребители, записи, полета или поведение при неуспех. Агент трябва или да попита, или да направи предположения. Незаписаните предположения са трудни за по-късен преглед.

Използвайте измислено изискване с ясна граница: удостоверен мениджър може да експортира активни клиенти от собствената си организация. Експортът съдържа идентификатор на клиента и показвано име. Изключва данни за контакт и архивирани записи. Потребител без роля на мениджър не получава експорт.

Това все още изисква решения за формат, обем, време за отговор и обработка на неуспехи. Отбелязвайте неизвестните изрично. Полезна спецификация показва несигурността, вместо да я скрива в уверен текст.

Разграничете изискванията от избора на реализация

Потребителят се нуждае от разрешен набор записи в използваем формат. Заявката към базата данни, библиотеката и структурата на endpoint-а са избори на реализация. Свържете ги с изискването, без да третирате всеки текущ избор като постоянна бизнес нужда.

Запишете решение с важни последствия заедно с контекста, алтернативите и причината. Например синхронен експорт може да е подходящ за малки обеми. По-голям обем може да изисква фонова задача и отделна проверка на правото за изтегляне.

Пазете изискването стабилно, когато е възможно, като версионирате промененото решение. Това помага на проверяващите да разграничат различна реализация от различно обещание към потребителите.

Създайте кратка верига от доказателства

Използвайте идентификатори, които остават разбираеми при преглед. В този пример EXPORT-01 може да означава границата на организацията. Името е илюстративно, а не задължителна система за номерация.

ВръзкаПример
ИзискванеEXPORT-01: само записи в организацията на мениджъра
Проектно решениеНаложете условие за членство на сървъра, не в браузъра
РеализацияPR променя заявката към данните и пътя за проверка на правата
ПроверкаЗаявка за записи на друга организация получава отказ
Доказателства за пусканеРезултатът от проверката определя приетия commit и артефакт

Веригата трябва да сочи към реални доказателства. Име на тест с идентификатор на изискването не доказва, че проверяваното условие го тества. Прегледайте теста и пътя през продукционния код, който той изпълнява.

SSDF на NIST дава контекст за изискванията и проверките в сигурната разработка. Използвайте проследимостта, за да направите тези дейности достъпни за преглед, вместо да създавате документация заради самата нея. Прочетете рамката.

Прегледайте въздействието на променено предположение

Да предположим, че бизнесът вече се нуждае от архивирани клиенти. Тази промяна засяга повече от флаг в заявката. Проверете правилата за съхранение, правата, очаквания обем, обясненията за потребителите и значението на съществуващите отчети.

Отбележете засегнатите документи и проверки за преглед. Запазете предишното решение, за да може оператор да обясни по-стара версия. Не пренаписвайте неявно историята, за да изглежда последният проект неизбежен.

Агент може да помогне да се намерят препратки и да предложи обновявания. Съответните отговорници трябва да разрешат противоречащите си изисквания и да приемат промененото поведение. Списък с файлове, отговарящи на търсенето, е отправна точка, а не пълна оценка на въздействието.

Поддържайте записа достатъчно малък за употреба

Записвайте решенията, които влияят на реализацията, проверката и експлоатацията. Избягвайте да повтаряте едно изискване в много несвързани документи. Предпочитайте връзки към един поддържан източник.

Преди да приемете промяна, попитайте дали проверяващ може да проследи целта ѝ до действителните доказателства. Преди експлоатация попитайте дали отговорникът за услугата може да намери съответната граница и решението за възстановяване. Това са практически проверки за полезна проследимост.

Направете упражнението

Напишете изискване мениджър да експортира активни клиенти. Включете разрешените потребители, границата на организацията, полетата, поведението при неуспех и измеримо условие за завършване. Свържете го с измислен тест и пусната версия. После променете изискването, за да включва архивирани клиенти, и избройте засегнатите решения.

Изтеглете работния лист (Markdown)
Проверете разбирането си ↑

Продължете ученето

Източници и допълнително четене

Свързани материали от Taiga

← Предишен урок: Свържете целия жизнен цикъл на софтуера