본문으로 건너뛰기

"pe/software-engineering" 태그로 연결된 39개 게시물개의 게시물이 있습니다.

기술사 소프트웨어공학 토픽

모든 태그 보기

ISO 26262

· 약 4분

ISO 26262 개념

  • 자동차에 탑재된 전기전자시스템의 오작동으로 인해 발생할 수 있는 사고를 방지하기 위한 자동차 기능안전 국제 표준
  • 전기차, 자율주행, E2E AI 등 신기술 도입으로 SW 비준하는 전기전자 제어시스템의 안전성 확보 필요

ISO 26262 구성도, 구성요소

ISO 26262 구성요소

파트구성요소상세설명
Part1용어ISO26262 사용용어 및 약어 정의
Part2기능안전프로젝트 전반 안전성 관리 요구사항 정의
Part3구상단계위험분석(HARA) 및 안전 목표 설정
Part4시스템 레벨 제품 개발시스템 아키텍처 설계, 기술적 안전 요구사항, 테스트 요구사항
Part5HW레벨 제품 개발HW설계, 아키텍처 평가, 검증 요구사항 정의
Part6SW레벨 제품 개발SW안전 요구사항, ASPICE와 연계하여 SW개발 프로세스 관리
Part7생산 및 운영차량 생산, 운영 중 발생가능한 위험관리와 폐기 안전 절차
Part8지원 프로세스형상 관리, 변경 관리, 문서화 등의 지원 절차
Part9ASIL 및 안전 중심 분석ASIL 평가 방법론과 안전 구성요소 간 종속 조건 정의
Part10가이드라인표준 적용 시 참고할 수 있는 추가 가이드라인 제공
Part11반도체 산업 적용 가이드라인반도체 제조업체를 위한 세부 정보 제공
Part12모터사이클 적용 요구사항모터사이클에 특화된 기능 안전 요구사항

ASIL 평가 절차, ASIL 등급

ASIL 평가 절차도

ASIL 등급

등급내용비고
ASIL A상대적 낮은 위험, 기본 안전조치 필요경상
ASIL B중간 수준 위험, 추가적인 안전조치 필요중상
ASIL C높은 위험 수준, 엄격한 안전조치 필요사망
ASIL D매우 높은 위험 수준, 최고 수준의 안전조치 필요다수 사망

자율주행시대의 자동차 안전 고려사항

  • ISO 21448을 통하여 자율주행시 알려진, 알려지지 않은 시나리오를 평가하여 위험 감소
  • ISO 21434를 통하여 개발단계의 사이버보안에서부터 사고 대응, 복구, 모니터링 및 공급망 관리 절차 강화

SP인증, SW 프로세스 품질 인증

· 약 4분

SP인증 개념

  • SW 프로세스 품질 향상과 신뢰성 확보를 위해 SW 기업 및 개발 조직의 SW 프로세스 품질 역량 수준을 심사하여 등급을 부여하는 제도

SP 인증 개념도, 구성요소, 인증등급

SP 인증 개념도

SP 인증 구성요소

영역내용비고
프로젝트 관리프로젝트 계획 수립, 통제, 협력업체 관리계획 수립, 일정 관리, 리스크 관리
개발요구사항 관리, 분석, 설계, 구현, 테스트기능 명세, 코드 품질, 단위 테스트
지원품질 보증, 형상 관리, 측정 및 분석형상 베이스라인, QA 프로세스, 데이터 분석
조직 관리조직 프로세스 관리, 구성원 교육프로세스 성숙도, 교육 이수, 인재 양성
프로세스 개선조직 성과 관리, 문제 해결, 프로세스 개선 관리성과 지표, 지속적 개선, 프로세스 성과

SP 인증등급

등급영역설명
1등급심사대상 아님프로젝트 성공여부와 관계 없이 특정 프로젝트를 수행할 수 잇는 수준, 역량 개선 필요
2등급프로젝트 관리, 개발, 지원개별 프로젝트를 수행하기 위해 프로세스 수립, 이를 기반으로 프로젝트를 통제하여 성공적 수행 가능
3등급프로세스 관리, 조직관리, 프로젝트 관리, 개발, 지원조직 프로세스 체계 정의, 정량적인 데이터 관리로 일관된 품질 수준의 프로젝트 수행 가능, 지속적 프로세스 개선 가능

SP 인증 문제점과 해결방안

문제점해결방안기대효과
SP인증심사 혜택 확대SP인증기업 프로젝트 수주 우대 등 혜택참여기업증가, 제도 활성화
지속홍보 및 전문가 교육지속적 심사 홍보, 기업 SW품질 담당 육성인증제도 인식 확대, 역량 강화
컨설팅 등 서비스 부족SP인증 준비 기업 사전 지원 서비스기업 어려움 완화, 인증 성공률 강화
인증 시간, 노력, 비용 부담SP인증 개선 토론, 설문조사인증과정 효율성 향상
SP인증 심사원 부족기술사 등 인력풀 활용, 전문교육심사원 확보로 인증 적체 해소

뮤테이션 테스트

· 약 4분

뮤테이션 테스트 개념

  • 소스 코드의 일부를 의도적으로 변경하여 테스트 케이스가 이 변경된 코드를 검출할 수 있는지 확인하는 화이트박스 테스트 기법
  • 테스트 케이스 유효성 검증, 코드 품질 향상, 테스트 커버리지 보완, 버그 발견

뮤테이션 테스트 구성도, 구성요소, 적용방안

뮤테이션 테스트 구성도

뮤테이션 테스트 구성요소

구분내용비고
원본 코드테스트할 소스 코드소프트웨어의 실제 기능을 수행하는 코드
뮤턴트원본 코드를 변형하여 만든 코드의도적으로 결함을 삽입한 코드
테스트 케이스원본 코드와 뮤턴트를 검증하기 위한 테스트 시나리오다양한 상황을 가정하여 작성된 테스트
킬드 뮤턴트테스트 케이스가 검출한 뮤턴트뮤턴트를 정확히 찾아내는 테스트 케이스
라이브 뮤턴트테스트 케이스가 검출하지 못한 뮤턴트테스트 케이스의 수정이 필요

뮤테이션 테스트 오퍼레이터

구분내용비고
연산자 교체코드 내의 연산자를 다른 연산자로 교체+-로, ><로 변경
상수 값 변경코드 내의 상수 값을 다른 값으로 변경int x = 5;int x = 10;으로 변경
조건문 변경조건문의 논리적 또는 비교 연산자를 변경if (a > b)if (a < b)로 변경
논리적 연산자 변경논리적 연산자를 다른 연산자로 교체andor로 변경
제어 구조 변경루프나 조건문 등의 제어 구조를 변경for 루프를 while 루프로 변경
문장 삭제코드의 특정 문장을 삭제변수 할당 문장 또는 조건문 삭제
반환 값 변경메서드의 반환 값을 다른 값으로 변경return x;return -x;로 변경

뮤테이션 테스트시 고려사항

  • 많은 뮤턴트 생성으로 인한 높은 컴퓨팅 자원과 결과해석에 대한 인적 리소스 필요

ISO 25029

· 약 4분

ISO 25029 개념

  • 인공지능 SW시스템의 품질 속성 모델 표준
  • 인공지능 SW는 일반적으로 불투명하고 예측이 어려움, 사용 학습 모델 구조, 학습 모델 파라미터 규모, 사용 데이터 양과 질, 학습 절차 등이 모두 품질 영향

ISO 25029 품질속성 개념도, 세부 내용

ISO 25029 품질속성 개념도

제강적 개투정

  • ISO 25000 이하 AI 특징을 반영한 품질 속성 추가

ISO 25029 품질 속성 세부 내용

구분내용비고
기능 정확성요구되는 정확도로 올바른 출력을 생성하는지 확인학습 모델 종류에 따라 분류, 클러스터링, 회귀 예측 평가
기능 적응성AI시스템이 배포된 환경에 변화에 따라 행위를 맞춰 나가는 것지속 학습, 확증 편향
제어 가능성사용자가 원할 때 작동 중인 AI시스템에 개입 가능 여부자율 주행
투명성AI 시스템의 정보를 충분히 제공해석 가능성, 설명 가능성
강건성AI가 편향, 적대적 공격 등을 감내할 수 있는 환경 변화의 정도운영 신뢰성
개입 가능성쉽게 AI시스템을 운용 및 제어 가능하도록 인터페이스 설계가 되어있는지의 여부인간중심적

ISO 25029 품질 속성 시험 기법

구분시험 기법내용
기능 정확성분류학습 당시 없던 새로운 데이터 입력시 데이터가 어디에 속하는지 분류
--Accuracy, Precision, Recall, ROC
-회귀 분석시계열 데이터에 대해 직선, 곡선을 추론하는 기법
--평균절대오차MAE, 평균제곱오차MSE, 평균제곱근오차RMSE
-군집화고객 분할, 이미지 분할, 비정상적 탐지 군집화
--Purity, NMI, RI
강건성악의적 입력 생성화이트박스기반 손실 함수 기울기 반대방향으로 노이즈를 주어 오판 유도
--블랙박스기반 학습 모델을 대체품으로 만들어 악의적 입력 활용
-분포 외 데이터 처리학습 데이터와 동떨어진 데이터 OOD 검증
-블랙박스 시험 기법메타몰픽 테스트, 초기 테스트 사례와 후속 테스트 사례 입력 사이의 편차를 검증 (A/B)
-화이트박스 시험 기법CNN기반 커버리지, 뉴런 커버리지, 부호 변화 커버리지, 값 변화 커버리지, 부호-부호 커버리지
--RNN기반 커버리지, 셀 스테이트(반대단어), 히든 스테이트(유사단어)

IEC 61508, 안전 무결성 등급

· 약 3분

IEC 61508의 개념

  • 산업분야에서 전자, 전기, 프로그래밍 가능 전자 시스템의 기능 안전을 위한 국제 표준으로 위험 분석을 통한 SIL 설정으로 시스템 안전 기능 요구수준 결정
  • 인명, 재산 손실 최소화, 법적 규제 요구사항 충족, 안전 설비 신뢰성 향상

IEC 61508 구성도, 주요 유형, 적용방안

IEC 61508 구성도

IEC 61508 주요 유형

구분내용비고
하드웨어 안전 무결성환경 요소에 의한 HW 성능 저하, 부품 제작 상의 허용 오차평균 고장 발생률로 측정 가능
시스템 안전 무결성안전 요구사항 명세, 설계, 구현 오류 관련 휴먼 에러평균 고장 달성률 측정 불가

IEC 61508 안전 무결성 수준

수준내용비고
SIL1경미한 부상, 재산 피해낮은 위험
SIL2심각한 부상, 재산 피해중요 위험
SIL3사망 또는 심각한 환경 피해높은 위험
SIL4다수 사망, 대규모 환경 피해매우 높은 위험

IEC 61508 고려사항

  • SW의 전체 수명주기 동안 기능, 성능 안전을 유지하기 위한 안전 유지활동 필요

CMMI, Capability Maturity Model Integration

· 약 3분

CMMI의 개념

  • SW개발조직의 시스템 개발 능력조직 성숙도를 평가하기 위한 지속적 품질 개선모델
  • CMM 모델들의 상호 중첩과 상이한 구조로 인해 모델 적용시 중복 투자 및 비용 지출되어 모델 통합

CMMI의 구성도, 구성요소, 성숙단계

CMMI 구성도

구분내용
SW-CMMSW프로세스 성숙도 측정, 개선
SA-CMMSW획득 과정 능력 개선
SE-CMM시스템 공학적 적용요소
P-CMM인적자원 능력수준 향상
IPD-CMM통합제품 개발프로세스 개선

CMMI 구성요소

구분내용비고
프로세스 영역특정 비지니스 목적을 달성하기 위해 필요한 관련 활동들의 집합22개 영역
성숙도 레벨조직의 프로세스 성숙도를 나타내는 5단계초기-최적화
프로세스 수행프로세스 영역 내에서 수행할 활동 및 방법구체적인 실행 방법
목표각 프로세스 영역이 달성해야하는 목표개선 방향 제시

CMMI 성숙단계

도정통량최

구분단계내용
5최적화지속적인 프로세스 개선
4정량적 관리프로세스 정량적 성과측정, 관리
3정의프로세스 표준 정의, 전사 사용
2관리프로세스 관리 프로세스 수립, 문서화
1도입프로세스 미정의, 예측 불가

CMMI, SPICE 비교

구분CMMISPICE
개발주체카네기 멜론 대학교ISO 표준
적용범위SW, 시스템, 서비스 등SW 및 시스템
평가방식조직의 성숙도 수준 평가프로세스 수행 능력 평가
평가단계5단계6단계
초점프로세스 개선 및 성숙도 향상프로세스 평가 및 개선
인증공식 심사 통한 인증없음

CMMI 도입시 고려사항

  • 도입 목적과 기대효과를 명확히 정의하고 조직 내 가이드하여 조직문화 조성 선행 필요

소프트웨어 품질성능평가

· 약 4분

소프트웨어 품질성능평가 개념

  • 동종의 경쟁제품간 비교시험을 통해 SW 구매자의 요구사항을 만족하고 품질 및 성능이 우수한 제품을 선정하는 시험
  • 공공 및 민간 부문 SW구매 결정의 신뢰성 제고, 비용절감

소프트웨어 품질성능평가 개념도, 대상

소프트웨어 품질성능평가 개념도

  • 품질성능평가 후 SW 도입으로 안정성 증가

소프트웨어 품질성능평가 적용 및 제외대상

구분내용비고
적용대상구매금액 1억 원 이상 상용 소프트웨어소프트웨어 진흥법 시행령 제50조제1항 및 별표3
적용대상구매금액 2억 원 이상 상용 소프트웨어 (직접구매 제외 대상)소프트웨어사업 계약 및 관리감독에 관한 지침 제8조제3항
제외대상조달청 쇼핑몰 등록 제품조달사업에 관한 법률 제11조, 종합쇼핑몰 등록 시 계약 체결 요청
제외대상정보보호제품 성능평가를 통과한 소프트웨어정보보호산업의 진흥에 관한 법률 제17조 및 성능평가 대체 가능

소프트웨어 품질 성능 평가 절차

소프트웨어 평가시험 대상 소프트웨어 분야

구분분야내용
시스템SW통신SW논리적 망분리, 망연계SW
-유틸리티SW화상회의, OCR
-시스템관리SW시스템관리, NW관리, APM, AI플랫폼
-정보보호SWDB, 보안, 접근제어, 개인정보SW
-미들웨어SWWAS, WEB서버, 가상화, 검색
개발용SW데이터관리용SWDBMS, OLAP, 메타데이터 관리
응용SW기업관리SW전자문서관리(EDMS)
-GIS SWGIS
-기타 응용SW자연어처리, 분배 관리

소프트웨어 품질성능 평가시 고려사항

  • ISO 25000 시리즈를 참조하여 평가항목 선정 필요

참조

ISO 29119

· 약 5분

ISO 29119 개념

  • SW개발 생명주기 전 과정에 걸쳐있는 테스팅 프로세스와 관련 산출물에 대한 표준
  • 최근 GDC를 활용한 글로벌 원격지 개발로 인해, 테스트 프로세스 정의와 테스트 문서화의 중요성 대두

ISO 29119 구성요소, 프로세스, 설계기법

ISO 29119 구성요소

  • 소프트웨어 테스팅 원리, 개요, 테스팅 프로세스, 테스팅 관련문서 템플릿, 테스팅 기법으로 구성

ISO 29119 테스팅 프로세스

  • 조직 테스트의 명세 개발 및 관리, 개별테스트 단계의 테스트 관리, 특정 테스트 단계 또는 테스트 유형 내에서 동적 테스팅을 수행 관리하는 프로세스 제공

ISO 29119 테스트 설계 기법

명세기반 테스트 설계기법과 품질 속성

기법품질 속성비고
경계값 분석기능 적합성완전성, 정확성, 적절성
-성능 효율성시간 반응성, 용량성
-사용성사용자 오류 방지성
-신뢰성결함허용성
-보안성기밀성, 무결성
원인결과그래프기능적합성완전성, 무결성, 적절성
-사용성사용자 오류 방지성
-호환성공존성
분류트리기능적합성완전성, 정확성, 적절성
-사용성사용자 오류 방지성
동등분할기능적합성완전성, 정확성, 적절성
-사용성사용자 오류 방지성
-신뢰성가용성

ISO 29119 관련 고려사항

  • 요구사항명세서 기반의 명세기반 테스트 계획과, 프로그램 사양서 기반의 구조기반 테스트 계획으로 소프트웨어 품질 제고

소프트웨어 안전관리

· 약 4분

소프트웨어 안전관리 개념

  • SW자체에 내포된 위험뿐 아니라 시스템 전체에 대한 위험요인을 고려하여 사람의 신체와 재산을 보호하는 관리 방법
  • 시스템 안정성, 신뢰성 보장, 오작동으로 인한 사고 예방

소프트웨어 안전진단 영역, 프레임워크, 동향

소프트웨어 안전진단 영역

안전 기능 충분성SW 품질 안정성기반 SW 안정성
시스템 잠재위험분석주요 기능 정상동작기반SW 지속 운영 진단
위험원 감지, 회피, 제거안전 관련기능 정상동작장애감지, 백업, 복구
안전기능마련 여부 진단정적분석 통한 잠재결함 진단성능, 다중화

소프트웨어 안전진단 프레임워크

소프트웨어 안전 동향

구분동향비고
국내정부주도 소프트웨어 안정성 강화 정책TTA, 국가기술 표준원 주도
-ISO26262 적용 확대-
국외유럽, 미국 기능 안전 표준 강화IEC 61508
-자율주행차 등 신기술 적용 확대ISO 26262

소프트웨어 안전, 보안, 품질 비교

구분안전보안품질
보호대상사람 신체, 생명, 재산시스템, 데이터 기밀성, 무결성, 가용성사용자 요구사항, 성능, 스펙
주요 활동위험 식별, 완화, 평가접근제어, 암호화, 인증, 인가요구사항 분석, 테스트, 검증
위험요인안전요구사항 누락, 설계 오류, 오구현접근제어 오류, 해킹, 제로데이공격기능 미구현, 요구 변경
위험결과사망, 부상, 재물 손실정보 유출, 손실, 제어권 상실시스템 미동작, 기능 오류, 사용자 불편
예상시스템안전필수시스템모든 SW모든 SW
예시항공관제, 열차제어, 자동차제어IDS, IPS, DDoS 대응DBMS, OS, 웹
표준IEC 61508, ISO 26262ISO 27000, ISO 15408ISO 25000, ISO 12207

소프트웨어 안전관리 원칙 GAMAB, ALARP 비교

구분GAMABALARP
목표기존 시스템 이상의 안전수준 유지합리적으로 실현 가능한 최소 위험 수준
적용범위철도,항공 등 고안전성 산업원자력, 화학, 섬유 등
접근방법기존시스템과 비교 평가비용대비 효과 분석
특징최소 안전 수준, 지속적 개선상위, 중간, 하위 위험도

인수테스트, 알파테스트, 베타테스트

· 약 4분

인수테스트의 개념

  • 시스템 인수를 위해 기능, 비기능적 요구사항을 사용자가 직접 테스트하여 개발이 완료되었음을 증명하는 테스트
  • 준수성 확인, 고객 피드백, 배포 가능성 평가

알파테스트, 베타테스트 개념도, 특징, 적용방안

알파테스트, 베타테스트 개념도

  • 소규모, 한정된 개발환경에서 고객 피드백을 반영하고, 최종 사용자의 사용경험 확보와 이해 향상

알파테스트, 베타테스트 특징

구분알파테스트베타테스트
환경개발환경사용자환경
목표결함발견, 부하검사, 신뢰성사용자제품평가, 공개테스트서비스
시점서비스 개발 완성 시점공개 서비스 발매 전 최종 심의
참가자개발자, 테스터, 선택된 사용자고객, 최종 사용자

알파테스트, 베사테스트 적용방안

구분알파테스트베타테스트
기능적합성요구 기능 검증, 주요 기능 확인실제 사용자 요구 충족, 기능의 실사용 평가
효율성코드 최적화, 성능문제 발견실제 사용 환경 내 성능테스트, 자원 사용 검토
사용성사용자 인터페이스 기본 검토, 개선실제 사용자 경험 수집, 만족도 평가
호환성다양한 내부시스템 및 환경과 호환성 테스트다양한 사용자 환경 및 플랫폼 호환성 테스트
신뢰성주요 결함, 버그 식별, 시스템 안정성 초기 검토장기간 사용 안정성 평가, 시스템 실패율 검증

인수테스트 고려사항

  • 실제 사용자 환경에서 보안성 검토 필요