Skip to main content

270 posts tagged with "professional-engineer"

기술사 관련 포스트

View All Tags

소프트웨어 품질성능평가

· 4 min read

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

  • 동종의 경쟁제품간 비교시험을 통해 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 시리즈를 참조하여 평가항목 선정 필요

참조

암달의 법칙

· 2 min read

암달의 법칙 개념

  • 컴퓨터 시스템의 일부를 개선할 때 전체적인 성능향상의 최대 폭이 제한된다는 법칙
  • 병렬 컴퓨팅에서 멀티프로세서 사용시 성능향상의 최대폭이 순차적인 프로그래밍 때문에 제한되는 것을 증명

암달의 법칙 개념도, 구성요소, 활용 예시

암달의 법칙 개념도

암달의 법칙 구성요소

1(1P)PS\frac{1}{(1 - P) - \frac{P}{S}}
  • P = 전체 작업시간의 부분
  • S = 성능 향상
  • 반비례 관계로 최대 성능의 향상폭 제한

암달의 법칙 활용 예시

구분예시내용
설계CPU 설계시 최대 트랜지스터 제한트랜지스터 수를 늘려 단위시간 당 최대 성능향상 지점 파악
-GPU 설계시 FPU, ARU 갯수 조정FPU, ALU의 갯수를 조정하여 병렬 컴퓨팅 최대효과 추적
분석하드웨어 규모산정CPU, 메모리 등 시스템 규모산정시 스케일업 규모 파악
최적화멀티쓰레딩 최적화쓰레드의 수를 증가시켜 병렬 처리의 이점을 극대화하면서 병목 현상 분석

인터미턴트 컴퓨팅

· 3 min read

인터미턴트 컴퓨팅의 개념

  • 전원이 불안정하거나 간헐적으로 공급되는 환경에서 컴퓨팅 시스템이 작업을 지속적으로 수행할 수 있도록 하는 기술
  • IoT 확산, 에너지 비용 절감, 안정성 향상, 에너지 제약환경, AI 모델 학습 전력 사용량 증가

인터미턴트 컴퓨팅 개념도, 핵심요소, 기술 동향

인터미턴트 컴퓨팅 개념도

인터미턴트 컴퓨팅 핵심요소

구분핵심요소내용
컴퓨터 내부FRAM비휘발성 저전력 램 사용, 단전시 저장 바이트 복구
-Data Deduplication중복 데이터를 포인터로만 저장하여 실시간 백업 처리
-메인보드 비상전력 공급기존 5V 건전지 대체 파워시스템 구현
컴퓨터 외부축전기단전시 비상전력 가동
-재생가능에너지전력 소스를 다각화하여 재해복구성 확보
-ESS수집한 에너지를 저장하여 필요시 사용

인터미턴트 컴퓨팅 기술 동향

구분내용비고
국내--
국외--

인터미턴트 컴퓨팅 발전 방향

  • 뉴로모픽 칩과 멤리스터 소자의 개발로 저장과 연산을 초저전력으로 처리하여 전력 공급 내성을 가질 것 으로 예상

ISO 29119

· 5 min read

ISO 29119 개념

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

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

ISO 29119 구성요소

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

ISO 29119 테스팅 프로세스

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

ISO 29119 테스트 설계 기법

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

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

ISO 29119 관련 고려사항

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

소프트웨어 안전관리

· 4 min read

소프트웨어 안전관리 개념

  • 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 min read

인수테스트의 개념

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

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

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

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

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

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

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

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

인수테스트 고려사항

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

성능테스트

· 3 min read

성능테스트의 개념

  • 시스템의 비기능 요구사항을 만족하는지 확인하기 위해 실제 환경과 비슷한 환경에서 수행하는 테스트
  • 시스템 안정성 확인, 사용자 경험 개선, 비용 절감, 확장성 검증

성능테스트 구성도, 구성요소, 주요 지표

성능테스트 구성도

  • 테스트 시나리오를 작성 후 부하생성, 모니터링 및 분석 후 시스템에 추가 반영

성능 테스트 구성요소

구분내용비고
부하 생성기시나리오를 기반으로 시스템에 부하를 발생시키는 도구JMeter, LoadRunner
모니터링, 분석 도구시스템 성능 지표 실시간 모니터링, 테스트 결과 분석, 성능 문제 식별New Relic, ELK Stack

성능 테스트 주요 지표

구분지표내용
테스트환경동시사용자성능테스트의 가상사용자 수
-활성사용자서버에 연결되어 요청을 처리 중인 사용자로 트랜잭션 발생 사용자
성능응답시간요청 후 응답이 완료되어 사용자 화면에 출력될 때까지 시간
-대기시간하나의 요청에 응답을 수신하고 다음 요청을 보낼 때까지의 시간
-TPS단위 시간 당 서버, DB에서 처리된 요청 수

동시사용자 계산

Little's Law

CU=λW CU = \lambda * W
  • 동시사용자 = TPS * (Response Time + Think Time)
  • 웹 시스템에선 동시사용자와 활성사용자 간 차이가 있으므로 TPS 가정 하에 활성 사용자 계산

페어 프로그래밍, 핑퐁 프로그래밍

· 4 min read

페어 프로그래밍 개념

  • XP 개발 방법론에서 개발자 고립과 낮은 생산성 문제를 해결하기 위해 페어프로그래밍 기법 등장, 애자일 방법론에서 TDD 기반의 핑퐁프로그래밍 기법으로 발전.
  • 오류에 빠른 대응 가능, 코드에 대한 책임 분담으로 실수 방지 가능

페어 프로그래밍, 핑퐁 프로그래밍의 개념도, 구성요소, 적용방안

페어 프로그래밍, 핑퐁 프로그래밍의 개념도

페어 프로그래밍, 핑퐁 프로그래밍 구성요소 비교

구분페어 프로그래밍핑퐁 프로그래밍
개념두 개발자가 한 컴퓨터에서 개발하는 프로그래밍 방식두 개발자가 번갈아가며 테스트와 코드 작성
역할드라이버, 네비게이터테스트 작성자, 코드 작성자
특징코드 품질 향상, 코드 리뷰TDD 촉진
장점오류 감소, 지식 공유, 생산성 향상테스트와 코드 작성의 연계
단점의사소통 비용 발생잦은 인터럽트 발생

페어 프로그래밍 적용방안

구분방안비고
숙련도가 다른 개발자시니어-주니어 페어로 네비게이터-드라이버 역할 수행주니어의 빠른 성장 기대
신기술 학습새로운 기술 적용시 여러 관점 고려 가능학습효과 극대화
문제 해결다양한 접근 방식으로 빠른 이슈 해결역할 교체

페어 프로그래밍시 고려사항

  • 서로 신뢰하고 존중하는 분위기가 선행되어야 페어 프로그래밍시 커뮤니케이션 비용 대비 생산성 효과 극대화

ISO/IEC Standards

· 3 min read

주요 ISO 표준

표준설명비고
ISO 7498OSI 7 Layer물데네전세표응
ISO 11898CAN, Controller Area Network노드, 컨트롤러, 트랜시버, 버스
ISO 12119테스트 품질요구사항제품설명서, 사용자문서, SW제품 및 데이터
ISO 12207SDLC기본, 지원, 조직 생명주기
ISO 14000환경경영시스템환경 경영 시스템, 환경 성과 평가, 환경 라벨링, 온실가스
ISO 14143FP기능점수, EI, EO, EQ, ILF, EIF
ISO 15504SPICE주요, 지원, 조직 프로세스
ISO 19770SAM소프트웨어 자산 관리, 라이선스 관리
ISO 20000ITSM서비스 관리체계 구축
ISO 22301BCMSBCP, RPO, RTO, MTTR, MTTF, MTBF, 가용성, 연속성
ISO 25000SQUARESW 품질 모델, 품질 측정, 품질 요구, 품질 평가, 기신사효유이호보, 효생안만
ISO 25029AI 품질제어가능성, 강건성, 기능적용성, 개입가능성, 투명성, 기능정확성
ISO 26262자동차 안전QM, ASIL A~D, AUTOSAR
ISO 29119테스트V&V, 테스트 프로세스, 문서화, 기법, 키워드주도 테스팅
ISO 31000위험관리식별, 분석, 평가, 대응, 회전감수
ISO 38500IT 거버넌스전략연계, 자원관리, 가치전달, 위험관리, 성과관리, 지휘/평가/감독/BP
ISO 42010아키텍처시스템/SW 아키텍처 설명, 뷰, 관점, 이해관계자
IEC 61508전기, 전자, 프로그램 가능한 전자시스템 기능안전SIL 1~4

ATAM, CBAM 비교

· 4 min read

SW아키텍처 평가모델의 개요

  • 시나리오 기반에서 품질속성을 평가하여 아키텍처 내부 리스크를 파악하고, 설계타협점을 찾는 ATAM 기법, 경제성까지 고려한 CBAM 평가기법으로 진화

ATAM, CBAM의 절차, 구성요소, 적용방안

ATAM, CBAM의 절차

  • 리스크를 고려한 설게 타협안 선택, 비용대비 편익이 높은 효율안 선택.

ATAM, CBAM의 구성요소

구분ATAMCBAM
초점아키텍처 품질비용, 이해관계자 이익
시점프로젝트 초기ATAM 수행 이후
평가요소품질속성, 시나리오비용, 편익, ROI
장점기존시스템 분석 용이비용, 일정, 경제성 파악
단점경제성 평가 미흡품질속성 평가 미흡

프로젝트별 적용방안

구분ATAMCBAM
대규모 시스템복잡한 아키텍처 품질속성 및 트레이드 오프 분석에 효과적높은 개발비용 예상시 투자 효율성 분석 용이
고가용성 시스템성능, 보안 등 핵심 품질 속성 확보 용이품질속성 확보를 위한 비용 효율적 아키텍처 수립
예산 제약 시스템제한된 예산 내에서 최적의 아키텍처 설계제한된 예산 내에서 최대 효과의 아키텍처 설계
  • 상호보완적인 관계로 ATAM과 CBAM을 함께 사용하여, 아키텍처 설계의 기술적, 경제적 측면을 고려한 최적의 의사결정 필요