Skip to main content

417 posts tagged with "professional-engineer"

기술사 관련 포스트

View All Tags

큐싱

· 2 min read

큐싱의 개념

  • QR Code와 Phishing의 합성어로 QR코드를 활용하여 개인정보, 결제정보 등을 탈취하는 공격 기법

큐싱의 개념도, 공격흐름

큐싱의 개념도

큐싱의 공격 흐름

구분내용비고
QR코드과금, 결제, 링크QR
피싱사이트UI카피, XSS
해커개인, 범죄조직
다크웹2차 피해

큐싱 대응방안

구분내용비고
공공큐싱 URL 차단DNS 우회
금융결제시 2차인증, 홍보 강화FIDO, 2FA
민간URL 재확인, 신뢰할 수 없는 인증서 확인외부링크 재확인
  • 큐싱 피해를 줄이기 위해 정부, 기업, 개인의 지속적인 관심 필요

앰비언트 컴퓨팅

· 5 min read

앰비언트 컴퓨팅의 개요

앰비언트 컴퓨팅의 개념

  • 사용자가 컴퓨터의 존재를 인식하지 못하는 상태에서 자연스럽게 컴퓨팅 서비스를 제공하는 기술
  • 컴퓨터가 마치 주변 환경의 일부처럼 녹아들어 사용자에게 필요한 정보나 서비스를 자동으로 제공

앰비언트 컴퓨팅 등장 배경

  • 기술발전: IoT, 센싱, 인공지능, 클라우드 컴퓨팅의 발전으로 인한 기술적 기반
  • 사용자 경험 변화: 더 직관적이고 더 편리한 컴퓨팅 환경 요구
  • 디지털트랜스포메이션: 사회 전반의 디지털 전환 가속

앰비언트 컴퓨팅 개념도, 기술요소

앰비언트 컴퓨팅 개념도

앰비언트 컴퓨팅 기술요소

구분내용비고
센서다양한 환경 정보를 수집하여 사용자 상황 인지온도, 습도, 조도, 위치, 음성
네트워크센서 데이터를 수집하고 기기 간 통신Wi-Fi, Bluetooth, 5G
AI데이터 분석 및 사용자의 의도 파악하여 맞춤형 서비스 제공머신러닝, 자연어 처리
클라우드데이터 저장, 분석, 처리를 위한 클라우드 컴퓨팅 환경확장성, 안정성 제공
사용자 인터페이스음성, 제스처 등 자연스러운 상호작용 방식사용자 편의성 증대

앰비언트 컴퓨팅과 IoT 비교

앰비언트 컴퓨팅과 IoT의 관계도

앰비언트 컴퓨팅과 IoT 상세 비교

구분앰비언트 컴퓨팅IoT
개념사용자가 인식하지 않아도 자연스럽게 작동하는 컴퓨팅다양한 기기가 네트워크에 연결되어 데이터 수집 및 제어 기능 수행
목표사용자 경험의 극대화 및 맞춤형 서비스 제공기기 간의 연결성 및 데이터 교환
기술 요소센서, AI, 클라우드 컴퓨팅 등센서, 네트워크, 데이터 분석 등
적용 분야스마트 홈, 스마트 시티, 헬스케어 등산업 자동화, 스마트 시티, 스마트 농업 등
서비스 제공 방식사용자 행동 및 환경 분석을 통한 자동화 방식사용자가 직접 제어하거나 사전 설정된 방식

앰비언트 컴퓨팅 활용 방안

구분내용비고
공공도시 관리 효율성 향상, 시민 편의 증진스마트 시티, 스마트 교통, 스마트 환경 등
금융금융 서비스 접근성 향상, 보안 강화개인 맞춤형 금융 서비스, 지능형 보안 시스템 등
민간생활 편의성 증대, 생산성 향상, 건강 관리스마트 홈, 스마트 팩토리, 스마트 헬스케어 등

만리장성 모델

· 2 min read

만리장성 모델의 개념

  • 정보의 이해 상충 문제를 해결하기 위해 고안된 접근 통제 모델로 동일 조직 내에서 서로 다른 이해관계자가 특정 정보에 접근하는 것을 제한하여 정보 유출 및 오용 방지.
  • 직무 분리, 이익 충돌 방지

만리장성 모델의 구성도, 구성요소

만리장성 모델 구성도

만리장성 모델 구성요소

구분내용비고
주체정보에 접근하는 개인 또는 그룹컨설턴트, 변호사 등
객체접근이 제한되는 정보 자원 고객 정보기업 비밀, 사건 자료
충돌 집합서로 이해 상충 관계에 있는 객체들의 집합동일 업종, 경쟁 기업 정보 등
접근 기록주체의 과거 정보 접근 이력이해 상충 여부 판단

만리장성 모델 적용시 고려사항

구분내용비고
정보 분류이해 상충 관계의 명확한 정의모호할 경우 오류 발생 가능
유연성새로운 정보 유형 발생, 권한 변경 시 모델 수정지속적인 업데이트

대칭 암호화, 비대칭 암호화

· 4 min read

대칭 암호화와 비대칭 암호화의 개념

  • 대칭 암호화: 암호화 때 사용하는 키와 암호문을 복호화할 때 사용하는 키가 동일한 암호화 알고리즘
  • 비대칭 암호화: 암호화 때 사용하는 키와 암호문을 복호화할 때 사용하는 키가 서로 다른 암호화 알고리즘

대칭 암호화와 비대칭 암호화의 구성도, 구성요소

대칭 암호화의 구성도, 구성요소

비대칭 암호화의 구성도, 구성요소

  • 비대칭 암호화는 대칭키를 암호화하기 위해 전자봉투로서 사용

대칭 암호화와 비대칭 암호화 비교

비교 항목대칭(Symmetric) 암호화비대칭(Asymmetric) 암호화
키의 관계암호키 = 복호키암호키 ≠ 복호키
키의 수두 사람 이상이 한 개의 동일한 비밀키 공유전송 당사자 간에 각각 키 생성 (Private Key, Public Key) 공유
키의 종류비밀키(Secret Key)공개키(Public Key), 개인키(Private Key)
키의 관리복잡 (거래 당사자 전부 관리 필요)인증기관을 통해 전송 당사자 별 Private Key 발급 (상대적 단순)
부인방지 여부대칭키로 인하여 부인방지 불가키의 이원화로 부인방지 가능
속도비트 단위 암호화로 빠른 속도 제공큰 소수를 처리하거나 곡률 방정식 등이 있어 속도가 느림
용도개인파일 암호화, 특정 그룹 내의 파일 등의 통신에 사용다수의 사용자와 주로 사용
장점- 키의 분배가 용이함
- 사용자 수 증가에 따라 관리할 키의 개수가 상대적으로 적음
- 키 변화의 빈도가 적음
- 여러 가지 분야에서 응용 가능
- 암호화/복호화 속도가 빠름
- 키의 길이가 짧음
- 구현이 빠름
- 대칭키로 인하여 부인방지 가능
단점- 암호화/복호화 속도가 느림
- 키의 길이가 김
- 사용자 수 증가에 따른 키 관리 포인트 증가
- 키 변화의 빈도가 많음
대표 알고리즘AES, SEED, DESRSA, ECC

암호화 고려사항

  • 양자컴퓨터의 등장으로 RSA, ECC 같은 비대칭 암호화는 Shor 알고리즘에 취약, PQC(양자 내성 암호)로 점진적 전환 필요

Pollack's Rule, 폴락의 법칙

· 2 min read

폴락의 법칙 개념

  • 마이크로프로세서의 성능은 면적(트랜지스터 수)의 제곱근과 비례한다는 법칙
    • 성능은 면적의 제곱근에 비례 <-> 면적은 성능의 제곱에 비례

폴락의 법칙 관계도, 특징

폴락의 법칙 관계도

  • 성능 향상을 위해 트랜지스터를 늘리는 것보다 프로세서를 병렬로 활용하는 것이 효율적

폴락의 법칙 특징

구분내용지표
복잡성 증가트랜지스터 수 증가, 설계 복잡도 증가LOC 측정
생산성 감소개발 기간 증가, 생산 비용 증가프로젝트 생산성 평가 지표
품질과 생산성오류 발생 가능성 증가, 생산 수율 감소프로세스 관리

폴락의 법칙으로 인한 프로세서 발전 동향

구분내용비고
멀티코어 프로세서분할, 병렬처리 프로세서 개발라이젠, 인텔, 애플M
저전력 프로세서에너지효율적인 프로세서 개발퀄컴, 애플A
연산 가능한 메모리메모리에서 연산 처리PIM

TCAM, Ternary Content Addressable Memory

· 3 min read

TCAM 개념

  • 0, 1, X(Don't care) 세 가지 상태를 저장하는 메모리 셀로 구성되어, 데이터 검색과 비교를 내용 기반으로 병렬로 수행하는 메모리.
  • RAM은 주소기반으로 데이터 읽기/쓰기, TCAM은 내용 기반으로 데이터 검색
  • CAM은 0,1 exact matching, TCAM은 0,1,X wildcard matching

TCAM의 구성도, 구성요소 활용사례

TCAM의 구성도

TCAM의 구성요소

구분내용비고
Search Line검색어를 입력하는 라인각 비트는 0, 1, X 값
메모리 셀3진 데이터(0, 1, X) 상태 저장낮은 공간 효율
Match Line검색 결과를 출력하는 라인각 메모리 워드마다 하나씩 존재
Priority Encoder여러 Match Line 중 가장 높은 우선순위의 일치 결과를 선택사용자 설정 가능
  • TCAM의 구성요소는 3상태 저장, 고속 비교 및 우선순위 결정 기능을 통해 빠른 데이터 검색을 가능하게함.

TCAM 활용사례

구분내용비고
네트워크 라우터IP 주소 기반 패킷 분류 및 포워딩빠른 패킷 처리 속도
네트워크 방화벽패킷 필터링 규칙과 패킷 헤더 비교높은 보안성
데이터베이스데이터 검색 및 필터링복잡한 질의 처리 가능

TCAM 발전방향

  • 저전력 설계: TCAM은 높은 전력 소모 단점
  • 고집적화: 단위 면적 당 더 많은 메모리 셀 집적하여 용량 증대, 비용 절감

위험관리

· 4 min read

위험관리

  • 프로젝트에서 위험을 최소화하고 성공적으로 완료하기 위해 식별된 위험요인을 분석, 분류하고 대응하는 관리활동
  • ISO 31000, PMBOK6을 참조하여 리스크 베이스라인 설정

위험관리 개념도, 리스크 대응 절차

위험관리 개념도

리스크 대응 절차

구분절차설명
계획위험관리계획수립위험관리 전반 활동 정의, 위험관리계획서 작성
위험식별프로젝트 위험 식별과 특정 문제 파악, 위험관리대장 작성
정성적 위험분석발생확률과 영향도 평가, 우선순위 결정, P/T 우선순위 선정
정량적 위험분석프로젝트 목표에 미치는 영향 수치적 분석, 위험보고서 작성
위험대응계획수립대응 전략 수립 및 처리방안 마련, 대응계획서 작성
실행위험 대응 실행수립된 위험 대응 및 계획 실행, 변경 요청 수행
감시/통제위험 감시 및 통제실행 결과 모니터링, 영향 분석, 작업 성과 보고서 작성

위협/기회 대응전략

부정적 리스크 대응전략

회전감수이

대응 수준대응 방안설명
적극적이관 Escalation위험이 발생할 가능성이 있는 활동을 변경하거나 제거하여 위험을 회피
회피 Avoidance위험 발생 가능성을 원천적으로 제거
전가 Transference대응 조치를 제3자(보험, 외부 업체 등)에게 전가하여 리스크 감소
소극적감소 Mitigation위험 발생 가능성과 영향을 감소하도록 대응
수용 Acceptance대응 전략 없이 위험을 감수하고 발생 시 대응 수행

긍정적 리스크 대응전략

활공향수

대응 수준대응 방안설명
적극적이관 Transfer프로젝트 실행을 제3자에게 전가하거나 위탁하여 기회를 극대화
활용 Exploit기회 극대화를 위해 적극적 활용 전략을 수립 및 실행
공유 Share기대한 비율을 제3자와 공유하여 공동의 이익 창출
소극적향상 Enhance긍정적 영향을 식별한 후 최대화하여 기회 규모 변경
수용 Acceptance기회를 판단하지만 소극적 대응 수행

ISO 12207

· 5 min read

ISO 12207 개요

ISO 12207 개념

  • 소프트웨어 생명주기 프로세스를 위한 국제표준으로, SW개발 및 유지보수를 관리하는 구조화된 프레임워크 제공

ISO 12207 필요성

  • 조직이 SW를 효율적으로 개발하고 품질 표준을 충족하도록 하여 리스크를 줄이고 프로세스를 개선하는데에 필요

ISO 12207 구성도, 구성요소, 적용방안

ISO 12207 구성도

ISO 12207 구성요소

구분내용비고
기본 생명주기SW 개발의 주요 단계를 나타냄획득, 공급, 개발, 운영, 유지보수
지원 생명주기기본 생명주기를 지원하는 활동문서화, 구성 관리, 품질 관리, 문제 해결
조직 생명주기조직의 성숙도 및 역량 강화를 위한 활동관리, 기반 구조, 개선, 교육 훈련

ISO 12207 적용방안

구분내용비고
리더전략 수립 및 지원도입 필요성 공유, 예산 확보 및 지원, 결과 검토, 지속적 지원
매니저프로세스 구축 및 실행표준 프로세스 조정, 상세 절차 수립, 결과 분석 및 개선
오퍼레이터실무 적용 및 개선표준 프로세스 준수 및 실무 적용, 교육 참여, 개선 제안

ISO 12207 고려사항

  • 조직 내 새로운 프로세스 도입에 대한 구성원들의 저항을 최소화하고, 적극적인 참여를 유도하기 위한 변화 관리 전략 필요

소프트웨어 공학의 모든 것

· 19 min read

특징

  • 복잡성: Complexity
  • 순응성: Conformity
  • 변경성: Changeability
  • 비가시성: Invisibility

종류

  • 주문형: 고객, 기업의 요구사항 만족
  • 패키지형
  • 임베디드형

위기

  • 요구 증가, 복잡도 증가, 난이도 증가

목표

  • 최소 비용
  • 최고 효율

단계

  • 요구 분석
  • 설계
  • 개발
  • 테스트
  • 유지보수

품질 보증

ISO 25010, 기신사효유이호보

  • 기능적절성: Functional suitability
  • 신뢰성: Reliability
  • 사용성: Usability
  • 효율성: Performance efficiency
  • 유지보수성: Usability
  • 이식성: Portability
  • 호환성: Compatibility
  • 보안성: Maintainability

프로젝트 관리

  • 계획
  • 자원 관리
  • 리스크 관리
  • 프로젝트 수행 및 모니터링

연구 결과

  • 방법: Method
  • 도구: Tool
  • 프로세스: Process
  • 패러다임: Paradigm

연관 분야

ISO 24773, SWEBOK

구분내용비고
소프트웨어 공학 전문가 기량소프트웨어 엔지니어링의 전문적 실천에 필요한 지식과 기술윤리, 커뮤니케이션, 팀워크 등 포함
소프트웨어 공학 경제학소프트웨어 공학 프로젝트의 비용과 가치를 평가하는 지식과 기술경제적 분석 기법, ROI, TCO 포함
컴퓨팅 기반소프트웨어 엔지니어링의 기초가 되는 컴퓨팅 이론과 기술데이터베이스, 네트워크, 운영체제 등 포함
수학적 기반소프트웨어 엔지니어링 문제 해결에 필요한 수학적 이론과 기법통계, 확률, 이산 수학, 계산 이론 등 포함
공학적 기반일반 공학 원리를 소프트웨어 개발에 적용하는 지식과 기술시스템 공학, 품질 관리, 성능 최적화 등 포함

vs 컴퓨터 과학

소프트웨어 프로세스

좋은 프로세스

  • 예측 가능성: Predictability
  • 테스팅과 유지보수 용이성: Testability, Maintainability
  • 변경 용이성: Changeability
  • 결함 제거 용이성: Fault Tolerance

프로세스 모델

폭포수모델

V모델

프로토타이핑 모델

나선형모델

  • 프로토타입핑 반복

진화적 모델

  • 점증적: incremental
  • 반복적: iterative

Unified Process

  • 여러 사이클: iteration
  • 도입(inception) -> 정련(elaboration) -> 구축(construction) -> 전환(transition) 반복

애자일 프로세스

  • 2~6주간의 짧은 주기
  • 익스트림 프로그래밍: XP, 사용자 스토리, 매일 빌드/통합, TDD, 페어프로그래밍
  • 스크럼: 프로덕트 백로그 -> 스프린트 백로그 -> 2-4주기 개발, 스크럼미팅 -> 배포 가능 프로덕트 추가

지원 프로세스

ISO 12207, SDLC

  • 계약: 획득, 공급 프로세스
  • 운영: 운영 프로세스
  • 지원: 문서화, 형상관리, 품질 보증, 문제 해결 프로세스
  • 관리: 관리, 개선 프로세스
  • 엔지니어링: 개발, 유지보수 프로세스

관리 프로세스

  • 계획
  • 모니터링
  • 제어, 분석

품질보증 프로세스

  • 인스펙션 프로세스: 전문 인력, 고비용, 해결방법보다 이슈집중
  • 프로세스 관리 프로세스: CMMI

형상 관리 프로세스

  • 원시코드, 목적코드, 스크리븥, 관련 문서 전체 형상 관리

구조적 방법론

  • 분할정복
  • DFD: 배경도

정보공학 방법론

구분내용비고
ISP기업의 장기적 전략 계획 수립전략 계획서
BAA비지니스 영역별 데이터와 프로세스 모델링, 연관성 분석요구사항 명세서
BSD데이터와 프로세스 설계논리 ERD, 프로세스 구조도, 흐름도
SC데이터 상세 설계, 코딩물리 ERD, UI, 코드
  • 기업중심
  • 전략적 시스템 계획중심
  • 데이터 중심
  • 분할 정복
  • 공학적 접근
  • 사용자의 적극 참여

객체지향 방법론

  • 실세계를 객체로보고 객체사이 인터랙션을 모델링하는 방법
  • 대규모 시스템을 클래스로 모듈화하고 캡슐화
  • OMT: Object Modeling Technique, Booch, Usecase -> UML: Unified Modeling Language, UP: Unified Process

프로젝트 계획

  • 목표설정
  • 프로젝트 범위 설정
  • WBS작성
  • 작업별 소요시간 및 노력 예측
  • 작업 의존관계 정의
  • 자원 할당
  • 마일스톤 설정
  • 일정 개발

CPM 네트워크

  • Critical Path Method
  • Critical Path: 가장 오래 걸리는 경로

비용 예측 기법

  • 전문가 판단
  • PERT: Program Evaluation and Review Technique, 낙관적, 보통, 비관적
  • 알고리즘식 방법: 코코모, FB

COCOMO

  • Constructive Cost Model
  • LOC등 단계에 따라 값 예측하고 노력 추정
구분1단계2단계3단계
단계프로토타이핑초기설계설계이후
크기application pointsFP, 언어 종류FP와 LOC
요구변경비용모델에 포함변경 비율 반영변경 비율 반영
프로덕트 비용없음복잡도, 재사용요구도신뢰도, DB규모, 문서화요구정도, 재사용 요구도, 복잡도
플랫폼 비용없음플랫폼 난이도실생시간, 기억공간 제약
인력 비용없음개인능력, 경험분석능력, 응용경험, 프로그래머 능력/경험, 언어/도구 경험
프로젝트 비용없음개발기간, 개발환경 요구SW도구 사용, 개발 기간, 여러 사이트 개발 요구

기능점수

  • Function Point
  • 입력(트랜잭션), 출력(화면 및 출력양식), 질의, 파일, 응용 인터페이스

소프트웨어 대가 산정 가이드

  • 외부 입력: External Input, 내부 파일의 내용에 영향을 주는 사용자데이터 또는 입력을 트랜잭션 단위로 카운터 (입력, 수정, 삭제)
  • 외부 출력: External Output, 소프트웨어 외부로 표출되는 사용자 데이터 또는 제어 출력을 트랜젝션 단위로 카운트 (계싼, 통계 그래프 등)
  • 내부 논리 파일: Internal Logical File, 소프트웨어에 의해 생성, 사용, 관리되는 파일을 포함하여 시스템 내 존재하는 사용자 데이터 및 제어 정보의 그룹 카운트
  • 외부 인터페이스 파일: External Interface File, 소프트웨어 시스템 사이에 전다로디거나 공유된 파일 카운트
  • 외부 조회: External Query, 중간 출력을 생성하는 외부 조회를 카운트

프로젝트 모니터링

  • 어닝 밸류 분석: Earning Value Analysis, 비용과 일정 통합 모니터링
  • BAC: 프로젝트 예산
  • AC: 실제 비용
  • PV: 계획된 비용
  • EV: 어닝 밸류
  • PV - EV: 일정 차이
  • AC - EV: 비용 차이

리스크 관리

  • 6M: Machine, Method, Materials, Measurement, Man, Mother nature, 기계, 방법, 재료, 측정, 사람, 환경
  • 8P: Price, Promotion, People, Process, Place/Plant, Policy, Procedure, Product, 가격, 광고, 인력, 프로세스, 장소, 정책, 절차, 제품
  • SW프로젝트(Boehm): 인력부족, 비현실적 일정 및 예산, 잘못된 기능과 특징 개발, 잘못된 인터페이스 개발, 과포장, 계속적 요구변경, 외부 노출 컴포넌트 빈약, 실시건 성능 빈약, 녹슨 컴퓨터 분야 기술

요구

  • 시스템에 대한 고객의 요청을 확정한 것

기능 요구

기능, 데이터, 입출력, 사용자

  • 시스템과 외부 요소들 간의 인터렉션
  • 입력 검증
  • 정확한 작업 순서
  • 비정상적 상태에 대한 응답 및 복구
  • 매개변수 유효성
  • 입출력 관계

비기능 요구

성능, 품질, 안전, 보안, 사용성

  • 시스템 구축에 대한 성능, 보안, 품질, 안전 등에 대한 요구 사항
  • 외부 인터페이스
  • 메모리 제약
  • 성능 요구
  • 사용자 특성과 가정
  • 설치 환경의 적합성

요구 추출

  • Requirement Elicitation
  • 요구에 대한 정보 출처 파악 > 요구에 대한 정보 취합 > 요구와 제한 사항 정리

요구 정보 출처

  • 고객
  • 도메인 전문가
  • 이해당사자
  • 사용자
  • 역공학
  • 기존 문서
  • 인터뷰
  • 설문
  • 브레인스토밍
  • 프로토타이핑

요구 품질

  • 원자성: atomic, 요구사항이 복합 목적이 아니라 단일 목적인지
  • 완전성: complete, 요구 사항 안에 정의된 것이 정보의 모든 것을 포함하는 것인지
  • 비모호성, 통일성: unambiguous, consistent, 명확하지 않거나 같은 내용을 다르게 언급하지 않는 것
  • 추적성: traceable, 요구 사항을 쉽게 추적할 수 있도록 고유번호
  • 우선순위화: prioritize: 요구 사항의 중요도를 파악하는 성질
  • 테스트 가능성: testable, 요구 사항이 검증 가능하도록 기술되어있는 특성

유스케이스

  • 찾아낸 각 액터에 대해 시스템과 관련된 작업은 무엇인가?
  • 시스템에서 발생하는 특정 사건에 대해 액터에게 알려야 하는가?
  • 액터가 갑작스런 외부 변화에 대해 시스템에 알려야 할 것인가?
  • 시스템이 비지니스에 정확한 동작을 제공하나?
  • 찾아낸 유스케이스로 모든 기능을 수행할 수 있는가?
  • 어떤 유스케이스가 시스템을 지원하고 유지보수하나?
  • 시스템에서 어떤 정보를 수정하거나 만들어야하나?

요구분석 명세서

  • SRS: Software Requirement Specification
  • 소개
    • 목적
    • 제품 범위
    • 정의, 동의어, 약어
    • 참조문서
    • 개요
  • 일반적인 기술사항
    • 제품의 개관
    • 제품의 기능
    • 사용자 특성
    • 제약사항
    • 가정 및 의존성
  • 상세한 요구사항
    • 외부 인터페이스
    • 기능요구
    • 성능요구
    • 논리 데이터베이스 요구
    • 설계 제약사항
    • 소프트웨어 시스템 속성
    • 상세요구 사향의 구성
  • 부록
  • 색인

요구 검증

  • 이해용이성: comprehensibility, 요구 명세서를 읽을 떄 요구의 의미를 잘 이해할 수 있는가?
  • 중복: redundancy, 필요없이 중복된 부분이 없는가?
  • 완전성: completeness, 빠진 요구가 없는지, 요구 기술시 빠진 정보가 없는가?
  • 일관성: consistency, 요구사항이 모순되지 않는가?
  • 모호성: ambiguity, 요구분석 내용이 모호함 없이 모든 참여자들에 의해 명확하게 이해될 수 있는가?
  • 검증가능성: verifiable, 요구분석 명세서에 기술된 내용이 사용자의 요구를 만족하는가? 개발된 시스템이 요구사항 분석 내용과 일치하는지 검증할 수 있는가?
  • 추적가능성: traceable, 시스템 요구사항과 시스템 설계문서 및 구현과 매핑되어 추적할 수 있는가?

요구 모델링

  • 도메인지식을 체계화하는 과정
  • 도메인지식: 업무 프로세스, 기능, 역할, 업무 규칙
  • 기능적 모델링: 유스케이스 다이어그램, 액티비티 다이어그램
  • 정적 모델링: 클래스 다이어그램, ERD
  • 동적 모델링: 시퀀스 다이어그램, 협동 다이어그램
  • 제어 모델링: 액티비티 다이어그램

UML

  • 구조다이어그램: 클래스, 객체, 컴포넌트, 배치, 패키지, 컴포지트 구조
  • 동작 다이어그램: 유스케이스, 액티비티, 상태
  • 인터랙션 다이어그램: 시퀀스, 커뮤니케이션, 인터랙션 오버뷰, 타이밍

아키텍처 평가 모델

SAAM

  • Software Architecture Analysis Method
  • 이해관계자 품질 민감 시나리오 도출, 시나리오 우선순위, 시나리오 기반 아키텍처 평가

ATAM

  • Architecture Trade-off Analysis Method
  • 업무 배경 및 요구사항으로 품질 속성 도출, 시나리오 기반 아키텍처 절충점, 리스크 분석, 아키텍처 반영 및 평가
    • 품질속성: 유지보수성, 성능, 가용성, 보안성, 사용용이성

UI

  • 관련 분야
    • HCI 인간 컴퓨터 상호작용
    • 인터렉션 디자인, 사용자 중심 디자인, 상황별 디자인, 참여 디자인, 목표지향 디자인
    • 사용자 경험
    • 인간 공학
  • 사용성 (효과적 -> 쉬움 -> 즐거움)
    • 학습용이성
    • 효율성
    • 기억용이성
    • 낮은 오류율

참조

인공지능 시스템 신뢰성 제고를 위한 요구사항

· 6 min read

인공지능 시스템 신뢰성 제고를 위한 요구사항 개요

인공지능 시스템 신뢰성 제고를 위한 요구사항 개념

  • 인공지능 기술이 적용된 시스템의 신뢰성 제고를 위해, 인공지능 개발 및 운영 등의 전체 인공지능 생명주기에서 이해관계자들이 충족해야할 요구사항 제공

인공지능 시스템 신뢰성 제고를 위한 요구사항 필요성

구분내용비고
위험 관리오류, 오작동, 보안 위협 등 잠재적 위험 요소 식별 및 대응 방안 마련리스크 관리 및 대응
신뢰 확보작동 원리와 결과 명확히 설명, 예측 가능성 및 투명성 확보시스템 투명성 및 예측 가능성 확보
규제 준수법적 규제와 표준 준수, 책임성 강화 및 사회적 수용성 증대법적 준수 및 사회적 책임

인공지능 시스템 신뢰성 제고를 위한 요구사항 구성도, 구성요소

구성도

구성요소

구성내용비고
계획 수립위험 관리, 신뢰성 테스트 계획 수립생명주기 전 영역
데이터 점검신뢰성 있는 데이터인지 점검안정성, 공정성, 견고성
오픈소스 점검보안성, 기능성 점검개발단계 전 보안성 확보
모델 보안 대책 수립편향, 적대적공격 방어 점검지속적 평가
알림 정책 수립장애 발생시 절차 수립안전모드, 알림 등
설명가능성 점검추론 결과 확인, 상호작용 설명투명성, 서비스 오남용 방지
  • AI 생명주기 전 영역에서 인공지능 시스템 신뢰성 제고를 위한 활동 필요.

AI 시스템 생명 주기별 요구사항

구분내용비고
계획 및 거버넌스위험관리 계획, 거버넌스 체계위험 분석, 법 규정 수립
설계 및 개발신뢰성 테스트 계획, 이상 데이터 점검, 편향 제거, 보안성 점검테스트 환경 설계, 데이터 견고성, 편향 제거, 보안 패치 점검
검증 및 확인추적 가능성 확보, 모델 설명 제공데이터 추적, 모델 설명
배치 및 운영모델 방어 대책, 안전 모드, 알림 절차 수립방어 방안, 안전 모드 구현, 알림 기능
지속적 관리데이터 정보 제공, 모델 편향 제거, 시스템 편향 제거데이터 투명성, 알고리즘 편향 제거
서비스 종료서비스 범위 설명오남용 방지
  • 지속적 확인단계는 서비스 운영 중 지속적인 학습을 수행하는 경우 한해 적용

AI 시스템 신뢰성 제고를 위한 고려사항

구분내용비고
기술적인공지능 시스템의 추적 가능성 및 변경 이력 관리시스템 모니터링
관리적위험 관리 계획 수립 및 실행리스크 관리
제도적데이터 프라이버시 및 보안에 대한 제도적 관리프라이버시 보호

기타

AI 시스템 이해관계자

  • AI제공자: 플랫폼 제공자, 서비스 제공자
  • AI생산자: AI개발자, 데이터 과학자
  • AI고객: 서비스 사용자, 서비스 운영자
  • AI파트너: 시스템 통합자, 데이터 공급자
  • AI영향대상: 데이터 영향대상, 시민 단체
  • 관계기관: 규제기관, 정책입안자

해외 AI 신뢰성 요구사항

  • 유네스코: 인공지능 윤리권고
  • EU: The Assessment List on Trustworthy Artificial Intelligence

참조