실전 URS 문장 해체쇼

문장을 고쳐보자

by 유정빈

먼저, URS 문장 3요소 공식을 기억해 주세요


모든 요구사항(URS) 문장에는 반드시 아래 세 가지가 담겨야 합니다.

조건: 언제/어떤 상황에서 동작합니까?


통제: 누가/어떤 절차로 설정·해제·변경합니까?


기록: 무엇을/어디에/얼마 동안 변경 불가로 남깁니까? (Audit Trail/보존)


한 줄 공식: [조건]에서 [동작]하고, 설정·해제는 [권한자/절차]만 가능, 결과는 [변경불가 로그 + 보존기간].

1) 알람(Alarm)


부적합 문장

“시스템은 알람 기능을 제공해야 한다.”


왜 위험한가

언제 울리는지, 누가 해제하는지, 무엇이 기록되는지 불명확하여 시험도, 감사 대응도 불가합니다.


정합 문장

임계값 초과 시 시각·청각 알람을 자동 발생하며, 발생 시각·조건·해제자변경 불가능한 Audit Trail에 기록합니다. 알람 해제는 관리자만 가능하고, 이력은 2년 이상 보존합니다.”


핵심 포인트

‘알람이 있다’가 아니라 언제/누가/무엇을까지 문장에 포함되어야 합니다. (CSV·GAMP5·데이터 무결성 기준)


2) 백업(Backup)


부적합 문장

“백업은 자동으로 수행되어야 한다.”


왜 위험한가

주기, 저장소, 실패 시 조치, 설정 권한, 변경 이력의 근거가 없음 → OQ 케이스 작성 불가.


정합 문장

운영 데이터5분 주기외부 서버에 자동 백업합니다. 성공/오류 내역Audit Trail에 기록하고, 주기·경로 변경은 관리자만 가능하며 변경 전/후 값·변경자·시각을 자동 기록합니다. 보존 5년으로 관리합니다.”


핵심 포인트

백업 요구는 주기·저장소·실패대응·권한·로그의 5요소가 빠짐없이 필요합니다. (EU GMP Annex 11, GAMP5)


3) 계정/권한(Access Control)


부적합 문장

“사용자는 권한에 따라 기능을 사용할 수 있어야 한다.”


왜 위험한가

권한 단계, 허용 기능, 승인 절차, 변경 이력이 모호합니다.


정합 문장

“역할 기반 권한(운영자/관리자/QA/벤더)을 구분해 기능 접근을 제한합니다. 권한 변경은 ‘관리자 요청 → QA 승인’ 절차로 처리하며, 변경자·사유·전/후 권한·시각변경 불가 로그에 기록합니다. 로그인 성공/실패 이력은 자동 기록합니다.”


핵심 포인트

권한 단계 + 승인 절차 + 로그 항목이 보여야 통제되는 시스템입니다. (Annex 11 Sec.12)


4) 트렌드(Trend/조회)


부적합 문장

“트렌드는 온도 데이터를 조회할 수 있어야 한다.”


왜 위험한가

조회 기간, 권한, 원본 일치, 출력 무결성 기준이 없어 Data Review 기능으로서 미흡합니다.


정합 문장

최근 30일 온도 데이터를 시계열 그래프로 제공합니다. 권한별 조회 구간을 제한하고, 조회 이력은 Audit Trail에 기록합니다. PDF 출력 시점의 데이터는 정적으로 고정하며 변경·재저장 불가로 관리합니다.”


핵심 포인트

트렌드는 ‘보기’가 아니라 검토(Review) 입니다. 원본 일치·출력 무결성을 명시하세요. (EMA DI 가이드)


5) 설정 변경 로그(Change History)


부적합 문장

“설정을 변경할 수 있어야 한다.”


왜 위험한가

누가 무엇을 언제 어떻게 바꾸는지, 이전 값과 보존 기준이 없어 추적성(Traceability) 부재입니다.


정합 문장

임계값·백업 주기·알람 설정 변경은 관리자만 가능하며, 변경 전/후 값·변경자·사유·시각삭제/수정 불가 로그로 자동 기록합니다. 최소 5년 보존을 적용하고, 변경 알림을 시스템 내 통지로 남깁니다.”


핵심 포인트

전/후 값 + 사유 + 시각이 없으면 ‘변경’이 아니라 리스크입니다. (Annex 11 Sec.9)


10초 자가 진단 체크리스트 (URS 문장 점검)

조건이 명시되어 있습니까? (언제/무엇이 트리거)


통제가 보입니까? (권한자/승인 절차/변경 가능 범위)


기록이 남습니까? (무엇/어디/얼마나, 변경 불가)


시험 가능합니까? (즉시 OQ 케이스 도출)


추적 가능합니까? (URS → FDS → OQ로 연결)


모호한 표현을 제거했습니까? (“~할 수 있어야 한다” 금지)


바로 쓰는 템플릿 (값만 바꿔 넣으면 됩니다)


“시스템은 [조건/상황] 발생 시 [동작/처리]해야 합니다.
[설정/해제/변경]은 [권한자/절차]만 가능하며, [전/후 값·변경자·사유·시각]을 [변경 불가 Audit Trail]에 기록합니다. 관련 기록은 [보존기간] 동안 보존하고, [조회/출력] 시 [원본 일치/변경 불가]를 보장합니다.”


예시

“임계값 초과 시 알람을 자동 발생합니다. 알람 해제는 관리자만 가능하며, 해제자·시각·사유를 변경 불가 Audit Trail에 기록합니다. 알람 이력은 2년 보존하고, PDF 출력 값은 시점 기준으로 정적으로 고정합니다.”


마무리


“있어야 한다”는 요구는 기능이 아니라 선언입니다.

URS는 기술 목록이 아니라 품질 통제 선언문이어야 합니다.

Testable·Traceable·Unambiguous(명확성) — GAMP5가 요구하는 이 세 가지를 문장 하나에 담아주세요. 그 순간, CSV·데이터 무결성·밸리데이션 전 과정이 문서로 설득됩니다.


그리고 다음 글에서는, 위 항목 중 알람 기능만 단독으로 파고들어

실사에서 실제로 무엇을 어떻게 묻는지까지 완전 분해해 보겠습니다.

현장에서 바로 쓰실 수 있게 만들겠습니다.



https://kmong.com/gig/679202


keyword
작가의 이전글“그냥 알람 기능만 있으면 됐잖아요?”