본문으로 건너뛰기

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

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

모든 태그 보기

정보은닉

· 약 2분

정보은닉 개념

  • 코드 내부 데이터와 메서드를 숨기고 공개 인터페이스를 통해서만 접근이 가능하도록 하는 객체지향 프로그래밍의 특성
  • 외/내부 구현을 나눠 복잡성 제거, 외부로부터의 데이터 보호

정보은닉 개념도, 접근제어자 유형, 예시

정보은닉 개념도

  • 접근제어자를 사용하여 외부객체로부터 데이터 접근 수준 제어

접근제어자 유형

구분유형상세설명
클래스default동일 패키지 내 클래스에게 접근 허용
public모든 클래스에서 접근 허용
속성/메소드private비공개, 클래스 내 멤버만 접근 허용
default동일 패키지 내 클래스일 경우 접근 허용
protected동일 패키지 또는 상속받은 자식 클래스의 경우 접근 허용
public공개, 모든 클래스에서 접근 허용

형상관리, 기준선

· 약 4분

형상관리의 개념

  • 형상 항목을 식별하고 문서화, 변경 제어, 변경 처리 상태를 기록하고 명시된 요구사항에 부합하는지 검증하는 기술적이고 관리적인 감독, 감시 활동
  • 소프트웨어 생명주기 단계별로 기능적, 분배적, 설계 등 베이스라인이 구분되어 관리

형상관리 기준선 개념, 구성요소

형상관리 기준선 개념

  • 대상 시스템/제품에 대한 기술적인 통제를 하게 되는 시점 또는 그 시점의 기준문서로 형상관리 프로세스의 기준으로 활용

형상관리 기준선 구성요소

기준선시점형상관리 항목
기능적 기준선사용자 요구 기능이 정의되는 시점 분배적 기준선개발 계획서
분배적 기준선요구 기능이 서브시스템으로 분할되는 시점요구사항 정의서
설계 기준선설계 사양이 완성되는 시점 시험 기준선ERD, UML
테스트 기준선테스트를 위한 준비 시점실행 코드
제품 기준선통합, 기능, 성능 등 시험 완료 시점 운용 기준선테스트 결과서
운용 기준선개발 완료 후 운영 이관 시점 형상 관리 항목사용자/운영자 매뉴얼

그린 소프트웨어

· 약 3분

그린 소프트웨어 개념

  • 소프트웨어 개발과 운영 과정에서 탄소 배출을 줄이고 지속 가능성을 강화하기 위해 설계된 리눅스 재단 산하 독립 오픈소스 재단
  • 친환경 SW 기술 확산, 지식 전파, 관련 도구 개발, SW 탄소배출 등급, SW 탄소배출 등급 인증 등 제도 기술 마련

그린 소프트웨어 재단 구조도, 구성요소, 동향

그린 소프트웨어 재단 구조도

  • SW탄소 효율 등급 표준(SCER), SW지속 가능성 분석 프레임워크(TOSS), 클라우드 사업자를 위한 실시간 에너지/탄소 정보 제공 표준(Real-Time Cloud), SW탄소배출량 측정 지표인 SCI 안내서 제정 및 활성화 기여

그린 소프트웨어 재단 구성요소

구분내용비고
표준 작업반친환경 소프트웨어 기술의 상호운영성 향상을 위한 4개의 표준 개발 프로젝트를 추진SCER, TOSS, Real-Time Cloud, SCI 안내서
정책 작업반친환경 소프트웨어 정책 조사 및 정책 레이다 프로젝트 운영녹색 인증 및 정책 대응 담당
오픈소스 작업반Carbon Aware SDK 등 오픈소스 도구 개발친환경 SW 도구 및 탄소배출량 측정 지원
커뮤니티 작업반인식 제고, 교육 활동, 모범 사례 확산SW 생태계 확산 및 기술 역량 강화

그린 소프트웨어 재단 동향

구분내용비고
회원사 증가지속 가능성을 목표로 기업 참여 확대MS, Google, 지멘스 등 64개 회원사 참여
표준화 작업SCER, TOSS 등 친환경 SW 표준 개발SW 탄소배출량 측정 기준 ISO 표준 승인
오픈소스 프로젝트SW 개발 및 운영 효율성 및 탄소 절감 도구 제공Carbon Aware SDK, Impact Framework, Carbon CI

참조

ISO 26262

· 약 5분

ISO 26262 개념

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

ISO 26262 구성도, 구성요소

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분

뮤테이션 테스트 개념

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

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

뮤테이션 테스트 구성도

뮤테이션 테스트 구성요소

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

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

구분내용비고
연산자 교체코드 내의 연산자를 다른 연산자로 교체+-로, ><로 변경
상수 값 변경코드 내의 상수 값을 다른 값으로 변경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, 안전 무결성 등급

· 약 4분

IEC 61508의 개념

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

IEC 61508 구성도, 구성요소, 적용방안

IEC 61508 구성도

IEC 61508

IEC 61508 구성요소

구분구성요소내용
Part 1일반 요구사항기능 안전 개념, 전체 안전 요구사항 개발, 위험 분석 및 감축 전략
Part 2E/E/PE 시스템 요구사항전기/전자/프로그래밍 가능 전자 시스템의 하드웨어 안전 요구사항 및 구현
Part 3SW 요구사항안전 관련 소프트웨어 개발, 검증, 유지보수에 대한 요구사항
Part 4정의 및 약어표준에서 사용되는 주요 정의 및 개념 정리
Part 5SIL 결정 방법 및 예시안전 무결성 등급(Safety Integrity Level) 결정 방법론 및 예시
Part 6지침 및 적용 사례기능 안전 요구사항을 실무에서 적용하는 방법 및 사례 제공
Part 7개별 기법 및 측정안전성 평가 기법, 신뢰성 분석 및 실무 적용을 위한 기술적 가이드

IEC 61508 주요 유형

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

IEC 61508 안전 무결성 수준

수준내용저요구 작동모드고요구 작동모드
SIL1경미한 부상, 재산 피해10210110^{-2} \sim 10^{-1}10610510^{-6} \sim 10^{-5}
SIL2심각한 부상, 재산 피해10310210^{-3} \sim 10^{-2}10710610^{-7} \sim 10^{-6}
SIL3사망 또는 심각한 환경 피해10410310^{-4} \sim 10^{-3}10810710^{-8} \sim 10^{-7}
SIL4다수 사망, 대규모 환경 피해10510410^{-5} \sim 10^{-4}10910810^{-9} \sim 10^{-8}

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 시리즈를 참조하여 평가항목 선정 필요

참조