본문 바로가기

ITPE/소프트웨어공학9

SBOM(Sofrware Bill of Materials) 1. 소프트웨어 자재명세서, SBOM의 개요 - 소프트웨어 개발 전 과정에서 사용된 패키지 및 구성요소 등을 공식적으로 포함하는 명세서 2. SBOM의 개념도 및 구성요소 설명 1) SBOM의 개념도 - 개발 전 과정에서 사용된 구성요소를 모두 SBOM으로 나열 2) SBOM의 구성요소 및 상세설명 구성요소 구분 상세설명 가. 공급자명 - 업체 및 사람 - 구성요소를 정의하는 주체 나. 컴포넌트명 - 각 항목의 이름 - 최초 정의된 SW 단위 명칭 다. 고유식별자 - UUID - 구성요소 식별 및 DB조회키 라. 의존관계 - 구성요소간 종속성 - 업스트림 구성요소 S, Y관계 명시 마. 라이선스 - 라이선스 유형 - 사용된 SW의 포함된 라이선스 - 새로운 SW버전마다 SBOM 최신 상태로 갱신 및 유지.. 2022. 12. 13.
ISO/IEC 25000 1. SW 품질 평가 통합모델, ISO/IEC 25000의 정의 - SW 품질 측정 평가 통일성을 위해 ISO 9126, ISO 14598 등을 통합한 프레임워크(SQuaRE) 2. ISO/IEC 25000의 구조 및 품질특성 1) ISO/IEC 25000의 구조 - 품질요구사항 평가에 대한 국제 기준으로 사용자에게 고품질 SW 제공 2) ISO/IEC 25000의 품질특성 - ISO/IEC 9126의 특성들을 보완하여 ISO/IEC 25000에 적용 "끝" 2022. 12. 11.
SLA(Service Level Agreement) 1. 서비스 품질 향상을 위한 약속, SLA의 개념 - 정보시스템 서비스에 대해 요구 수준, 정량적 측정/평가, 문제해결 방법등을 사전에 협의하여 서비스 향상을 목적으로 만든 협약 2. SLA의 개념도 및 구성요소 1) SLA의 개념도 - SLA를 통하여 사용자와 운영자간 상호 기대수준의 차이 해소 가능 2) SLA의 구성요소 및 설명 구성요소 KPI사례 설명 기본계약서 - ITO 계약서 - 계약 전반에 관한 정의 (목적,기간,비용 등) 서비스 카탈로그 - 서비스이름, 목표, 담당자, 제공시간, 보안사항 - 서비스내역/특성 기술 SOW(Statement of Work) - 서비스 대상, 항목 등 - 서비스 별 상세항목을 기술한 업무 기술서 SLM(Service Level Metrics) 서비스 수준관리 .. 2022. 12. 11.
정보시스템 감리와 사업관리위탁(PMO) 비교 1. 정보시스템 감리와 PMO 개념 비교 정보시스템감리 - 제3자의 입장에서 정보시스템을 평가하고 개선사항을 도출하여 이슈나 문제점을 도출하여 개선을 권고하는 활동 PMO(Project Management Office) - 발주자 관점에서 프로젝트의 성공을 위해 범위, 일정, 비용, 위험 관리 등을 수행하는 전담 조직 - 감리는 3자적 관점, PMO는 발주기관 관점에서 수행 2. 정보시스템 감리와 PMO 상세 비교 구분 정복시스템감리 PMO 대상 - 정보시스템의 구축에 관련된 문서위주 - 정보시스템 구축에 관련된 모든 문서, 절차 필요성 - 객관적인 검증 필요 - 발주자 입장에서 사업관리 역활 - 문제점에 도출 및 해결 권고 - 문제점을 해결하여 위험 감소 산출물 - 감리계획서, 결과보고서 - 시정조치확.. 2022. 11. 28.
프로젝트 위험관리 1. 기회 극대화, 위험 최소화 활동 위험관리의 개요 - 프로젝트 수행 중 일정, 원가, 품질에 영향을 주는 위협 요소를 사전 식별하고 관리하는 일련의 활동 2. 프로젝트 위험관리 프로세스 및 단계별 세부사항 1) 프로젝트 위험관리 프로세스 - 위험계획수립에서 위험통제의 선순환으로 위험요소 최소화 2) 위험관리 프로세스 세부사항 프로세스 도구 세부사항 위험계획수립 - 기획회의 및 분석 - 위험관리 계획 및 실행방법을 결정 위험식별 - 정보수집, 도식화 기법 - 위험요인을 식별 및 문서화(전공정 지속적 관리) 위험계량화 - 확률 및 영향평가, EMV - 리스크 우선순위, 리스크 영향도를 수치로 분석 위험대응 - 회피, 전가, 환화, 수용 - 기회는 증진, 위협은 감소하기 위한 선택 및 조치 위험 감시 및 .. 2022. 11. 28.
코드 난독화(Code Obfuscation) 1. 안티 리버스 엔지니어링, 코드 난독화(Code Obfuscation)의 정의 - 역공학을 통한 보안 취약점 공격에 대한 방지기술로 코를 복잡하게 만들어 원시코드를 알아보기 힘들게 하는 기술 2. 코드 난독화 개념도 및 기술분류 1) 코드 난독화 개념도 - 코드 난독화로 역공학 기반의 공격차단 가능 2) 코드난독화 기술분류 구분 수행종류 세부설명 구획 난독화 - 형식변화, 주석제거, 식별자 손상 - 프로그램에 큰 영향을 주지 않는 세부적인 요소들을 변화 및 제거 데이터 난독화 - 변수자르기, 절차적 자료화 - 변수를 나누거나 합치거나 읽기 어렵게 하는 기술 집단 난독화 - 자료순서변환, 클래스분할 - 순서(Ordering)을 이용하여 코드를 난독화 제어 난독화 - 프로시저 인라인/아웃라인화 - 문장이.. 2022. 11. 27.
3R(Reverse Engineering, Re-Engineering, Reuse Engineering) 1. 소프트웨어 위기 극복을 위한, 3R의 정의 - 완성된 소프트웨어 프로그램을 기반으로 역공학, 재공학, 재사용을을 통해 소프트웨어 생산성을 극대화하는 기법 2. 소프트웨어 3R 개념도 및 구성요소 1) 소프트웨어 3R 개념도 - 소프트웨어 3R의 소스는 리포지토리 및 완성된 소프트웨어 2) 소프트웨어 3R의 구성요소 구성 종류 세부설명 역공학 - 재문서화 및 설계복구 - 리팩토링 활용 - 데이터 역공학 - 구현된 것을 분석하여 설계 단계로 요구사항을 분석, 순공학의 반대개념 - 순공학 : 추상개념을 현실화 (요구분석 --> 설계 --> 구현) 재공학 - 재구조화 방법 - 재모듈화 방법 - 의미론적 정보추출 - 역공학으로 재구조화된 SW를 기반으로 다시 추상개념을 현실화한 것 - 재구조화 : 기능변경 .. 2022. 11. 27.
테스트 하네스(Test Harness) 1. 테스트 베드(Test Bed)의 핵심, 테스트 하네스의 개념 - 시스템 및 시스템 컴포넌트를 시험하는 환경의 일부분으로 시험을 지원하는 목적으로 생성된 코드와 데이터 2. 테스트 하네스의 개념도 및 구성요소 비교 1) 테스트 하네스 개념도 - 테스트 케이스, 드라이버, 모듈, 스텁의 유기적 관계 2) 테스트 하네스 구성요소 비교 구분 테스트 드라이버(Driver) 테스트 스텁(Stub) 특징 - 시험 대상 모듈을 호출하는 상위모듈의 간이 소프트웨어 - 개발이 완료되면 본래 모듈로 교체 - 시험 대상 모듈이 호출되는 하위모듈의 간이 소프트웨어 - Fake Value를 리턴하는 답변 모듈 필요시기 - 하위모듈이 존재, 상위모듈 미존재 - 상위모듈 존재, 하위모델 미존재 테스트 방향 - 상향식(Botto.. 2022. 11. 27.
마이크로서비스 아키텍처(Micro-service Architecture) 1. SOA의 경량화 버전, MSA의 개요 - 하나의 큰 어플리케이션을 여러 개의 작은 마이크로 서비스 단위로 나누어 변경과 조합이 가능하도록 구성된 아키텍처 2. MSA 구성도 및 구성요소 1) MSA 구성도 - Loosely Coupled Architecture로 빠른 서비스 배포의 유연성 확보 2) MSA 구성요소 및 세부설명 구분 구성요소 상세설명 Front-end - Protocol, UI/UX - 표준 경량 프로토콜 사용 Middle-end - API Gateway - API 서비스 로드밸런싱 가능 - API Server - 배포 가능한 단위로 서비스 제공 Back-end - NoSQL SB - Key/Value 기반 확장 가능한 DB - RDB - ACID를 보장하는 관계형 DB - 쿠버네티.. 2022. 11. 27.