| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | |
| 7 | 8 | 9 | 10 | 11 | 12 | 13 |
| 14 | 15 | 16 | 17 | 18 | 19 | 20 |
| 21 | 22 | 23 | 24 | 25 | 26 | 27 |
| 28 | 29 | 30 |
Tags
- 데이터 시각화
- 정보처리기사
- 생성형 인공지능
- 데이터엔지니어
- 트랜스포머
- 소프트웨어 개발
- SQL
- RNN
- 힙정렬
- 기초
- RDBMS
- ASR
- 자연어처리
- 머신러닝
- CLIP
- 캐글
- dementional reduction
- LangGraph
- 랭그래프
- 객체지향
- Transformer
- python기초
- Python
- UMAP
- CNN
- 알고리즘
- python 기초
- 에이전트
- TTS
- 딥러닝
Archives
- Today
- Total
수달이네 기술 블로그
2. 소프트웨어 개발(패키징, 표준) 본문
제품 소프트웨어 패키징
애플리케이션 패키징(Application Packaging)
애플리케이션을 배포, 설치하도록 모듈별로 생성한 실행파일을 묶어 배포용 설치파일을 만드는 과정
- 고객에게 전달하기 위한 형태(사용자 중심)
- 고객을 위해 신규, 변경 이력과 버전관리, 릴리즈 노트를 관리한다.
- 범용적인 실행환경에서 사용하도록 일반적 배포형태로 분류해 패키징
릴리즈 노트
- 고객에게 잘 정리된 배포정보를 공유하는 문서
- 상세 서비스, 수정-변경, 개선 정보에 대한 내용
헤더 문서, 제품명, 버전, 릴리즈 날짜, 참고 날짜, 노트 버전 등 개요 제품, 변경에 대한 간략한 설명 목적 버전의 새 기능 목록과 릴리즈 노트의 목적에 대한 개요, 등 기술 이슈 요약 버그의 간단한 설명 혹은 릴리즈 추가 항목 요약 재현 항목 버그 재현 방법 기술 수정/개선 내용 개선에 대한 설명 사용자 영향도 최종 사용자 기준의 기능, 응용프로그램상의 영향도 기술 소프트웨어 지원 영향도 버전 변경에 따른 소프트웨어의 지원 프로세스 및 영향력 기술 노트 소프트웨어 및 하드웨어 설치 항목, 제품, 문서를 포함한 업그레이드 항목 메모 면책 조항 회사, 표준 제품에 따른 메세지, 불법 복제 방지, 프리웨어 등의 참조에 대한 고지 연락 정보 지원, 문의에 대한 연락처
배포 도구
배포 패키징 시 디지털 콘텐츠의 지적 재산권을 보호, 관리 기능을 제공하는 도구 (안전한 유통과 배포를 보장)
- 암호화, 키 관리, 식별 기술, 저작권 표현, 암호화 파일 생성, 정책 관리, 크랙 방지, 인증 등의 기능 지원
- DRM기술 요소와 같음.
암호화 콘텐츠 및 라이선스 기술 암호화, 전자서명 키 관리 암호화한 키에 대한 저장, 배포 식별 기술 콘텐츠에 대한 식별 체계 표현 저작권 표현 라이센스 내용 표현 암호화 파일 생성 암호화된 콘텐츠로 생성 정책관리 라이센스 발급, 사용에 대한 정책 표현 크랙 방지 크랙에 의한 콘텐츠 사용방지 인증 라이센스 발급 및 사용의 기준이 되는 사용자 인증 기술
세부 기술 설명
| 공개키 기반 구조(PKI) | 공개키 암호 방식 기반으로 디지털 인증서를 활용하는 것을 총칭하는 암호기술 |
| 대칭 및 비대칭 암호화 | 대칭암호화: 암호화와 해독을 위해 동일한 키를 사용 비대칭 암호화: 암호화 할때, 해독할때 서로 다른 키를 사용 |
| 전자서명 | 서명자 확인 + 해당 전자문서에 서명했다는 사실을 표현하는 전자문서에 첨부한 논리적으로 결합된 전자정보 |
| DOI(Digital Object Identifier) | 디지털 저작물에 번호를 부여하는 바코드 시스템(저작권 보호, 위치추적 시스템) |
| URI(Uniform Resource Identifier) | 인터넷 자원을 나타내는 주소 |
| XrML(eXtensible Right Markup Language) | 디지털 콘텐츠/ 웹 서비스 권리 조건을 표현한 XML기반 마크업 언어 |
| MPEG-21 | 멀티미디어 표준규격 |
| XML | 마크업 언어 |
| CMS(Contents Management System) | 콘텐츠 관리 시스템: 다양한 미디어 포맷을 작성, 수집, 관리, 배급, 활용, 폐기까지의 전 과정을 관리 |
| 코드 난독화 | 역공학을 통한 공격을 막기 위한 코드를 알아보기 힘들게 변환 |
| Secure DB | 커널 엄호화 방식으로 데이터베이스 파일을 암호화 + 접근제어, 감사 기록 기능 |
| SSO(Single Sign On) | 한번의 인증으로 여러 시스템에 재인증 없이 한번에 접근 |
배포 도구 활용시 고려사항
- 보안, 이기종 연동, 복잡성(사용자 입장) + 비효율성, 최적합 암호화 알고리즘 적용
DRM(Digital Right Management)
디지털 콘텐츠에 대한 권리정보를 지정, 암호화 기술로 허가된 사람만 콘텐츠 이용하도록 통제
- 거래 투명성: 저작권자와 콘텐츠 유통업자 사이간에 투명성 제공
- 사용 규칙 제공: 횟수, 기간, 환경등의 규칙을 제공
- 자유로운 거래: 이메일, 디지털 미디어, 네트워크 등을 통한 자유로운 거래
구성 및 동작

| 클리어링 하우스 | 저작권에 대한 사용 권한, 라이선스 발급, 사용량에 따른 관리를 수행 |
| DRM컨트롤러 | 배포된 디지털 콘텐츠의 이용권한 통제 |
| 보안 컨테이너 | 원본 콘텐츠를 안전하게 유통하기 위한 보안장치 |
- 라이선스 등록: 클리어링 하우스에 라이선스 등록을 하면서 동시에 유통 시스템에 콘텐츠 등록
- 라이선스 요청: 콘텐츠 소비자가 유통시스템에 요청
- 라이선스 요청(시스템): 유통 시스템이 클리어링 하우스를 통해 라이선스 요청
- 요금 지불: 사용자가 클리어링 하우스에 요금 지불
- 라이선스 발급: 클리어링 하우스를 통해 라이선스 발급
- 콘텐츠 다운로드: 콘텐츠 소비자가 콘텐츠를 다운로드 할 수 있음.
기술요소는 위에서 본 배포도구 기술과 같다.
소스코드 품질 분석 도구
정적 분석 도구: PMD, Cppcheck, Checkstyle등
제품 소프트웨어 매뉴얼 작성
제품 소프트웨어 매뉴얼
개발 단계부터 적용한 기준이나 패키징 이후 설치 및 사용자 측면의 주요 내용을 문서로 기록(안내서)
- 설치 매뉴얼과 사용자 매뉴얼로 나뉨
설치 매뉴얼
- 사용자가 제품을 구매한 후 최초 설치 시 참조하는 매뉴얼
- 설치 시 표시될 예외 상황 및 설치 중 전과정을 설명
- 목차, 개요, 문서 이력, 설치 매뉴얼 주석, 설치 도구 구성, 설치 위치 지정
- 체크해야할 항목
- 사용자 환경, 응용프로그램, 버전, 백업 폴더
- 구성요소
- 개요, 파일, 절차, 아이콘, 삭제방법, 버전, 작성자, FAQ, 준수 정보, 제한 보증
- 프로세스
- 개요 기능식별→ UI분류 → 설치 파일/백업파일 확인 → 삭제 절차 확인 → 이상유형 확인 → 최종 매뉴얼 적용
사용자 매뉴얼
- 설치, 사용에 필요한 제반 절차, 환경등의 정보를 포함
- 컴포넌트 사용시 알아야할 내용, 패키지 기능, 인터페이스, 포함한 매서드, 오퍼레이션, 파라미터
- 구성요소
- 개요, 이력정보, 사용자 매뉴얼 주석, 기록항목, 기본사항(개요, 사용법, 관리법, 모델, 버전별 특징, 기능, 특징, 구동환경), FAQ, 준수정보, 제한 보증)
- 이해하기 쉽도록 화면을 캡처해 구성, 주요기능은 설명화면 첨부
- 프로세스
- 작성 지침 정의 → 매뉴얼 구성요소 정의 → 구성요소별 내용 작성 → 사용자 매뉴얼 검토
국제 표준 제품 품질 특성
특정 제품에 대해 명확하게 정의된 특성을 의미하고, 품질을 평가함
- ISO/IEC, ITU-T, IEEE
- 제품 품질 표준, 프로세스 품질 표준으로 나뉨
국제 제품 품질 표준
IT프로젝트를 진행하거나, 완성 제품에 대한 기능성, 신뢰성등을 평가하는 기준.
- ISO/IEC 9126: 품질 측정, 평가를 위한 국제 표준
- 기능성, 신뢰성, 사용성, 효율성, 유지보수성, 이식성
- ISO/IEC 14598: 제품 평가 모듈을 제공하는 국제 표준(패키지 소프트웨어,SI 개발 소프트웨어)
- 반복성, 재현성, 공정성, 객관성
- ISO/IEC 12119: 패키지 제품의 품질 요구사항,테스트 표준
- 제품 설명서, 문서, 실행 프로그램
- ISO/IEC 25000: 9126+14598+12119통합 + 15288을 참고
- 2500n: 품질관리 / 2501n: 품질모델 / 2502n: 품질측정 / 2503n: 품질요구 / 2504n: 품질평가

국제 프로세스 품질 표준
- ISO/IEC 9001: 설계/개발 생상, 설치 및 서비스 과정에 대한 품질 보증 모델
- ISO/IEC 12207: 소프트웨어 획득, 공급, 개발, 운영, 유지보수등 소프트웨어 생명주기 표준
- ISO/IEC 15504: 소프트웨어 프로세스를 평가, 개선하여 생산성을 높이는 국제 표준
- CMMI: CMM모델을 통합하고 15504모델을 준수하는 개발능력/성숙도 평가, 프로세스 개선을 위한 모델
소프트웨어 공학
소프트웨어: 하드웨어를 동작시켜 사용자가 편하게 작업을 수행하도록함.
소프트웨어 위기: 소프트웨어 개발 속도가 하드웨어 개발 속도를 따라가지 못함
- 이해부족, 관리 부재, 복잡도 증가 및 크기증가, 제품 수명주기 단축등
- 공학적 접근, 표준화, 자동화 도구, 품질 보증 등을 통해 해결
소프트웨어 공학
- 개발, 운용, 유지보수, 파기에 대한 체계적 접근방법
- 신뢰성 있는 소프트웨어를 경제적으로 획득하는 공학적 원리를 가짐
- 원칙
- 현대 프로그래밍 기술을 계속적으로 적용
- 품질 유지를 위한 지속적 검증
- 개발 관련 사항 및 결과에 대한 기록 유지
- 공학적으로 잘된 소프트웨어의 특성: 유지보수 용이, 신뢰성, 충분한 테스팅,
관련 법칙
- 브룩스의 법칙: 인력을 추가해도 개발을 늦출 뿐(인력이 오히려 방해됨)
- 파레토의 법칙: 전체 결과의 80%가 전체 원인의 20%에서 일어남(20%의 모듈에서 80%결함이 발견된다)
- 롱테일 법칙: 사소해보이는 80%의 다수가 20%의 소수 핵심보다 뛰어난 가치 창출(파레토와 반대)
'공부 > 정보처리기사' 카테고리의 다른 글
| 2. 소프트웨어 개발(어플리케이션 테스트 관리) (0) | 2026.05.14 |
|---|---|
| 2. 소프트웨어 개발(제품 소프트웨어 버전관리) (0) | 2026.05.12 |
| 2. 소프트웨어 개발(통합 구현, 관리) (0) | 2026.05.10 |
| 2. 소프트웨어 개발(자료구조) (0) | 2026.05.05 |
| 1. 소프트웨어 설계(인터페이스) (1) | 2026.05.04 |