1. 데이터 입출력 구현
1. 논리 데이터 저장소 확인
1. 자료구조
■ 자료 구조의 분류
ㅡ> 선형 구조 : 데이터를 연속적으로 연결한 자료 구조 ▶ 리스트 스택 큐 데크
ㅡ> 비선형 구조 : 데이터를 비연속적으로 연결한 자료 구조 ▶ 트리, 그래프
■ 선형 구조
2. 스택
ㅡ> LIFO
ㅡ> 응용 분야 : 인터럽트 처리, 함수 호출, 후위표현 연산(Postfix), 깊이 우선 탐색(DFS)
ㅡ> Top=n으로 꽉차면 삽입시 오버플로
ㅡ> Top=0으로 비었으면 삭제시 언더플로
3. 큐
ㅡ> FIFO
ㅡ> Head(Front)에서 Dequeue, Tail(Rear)에서 Enqueue
4.데크(Deque)
ㅡ> 큐의 양쪽 끝에서 삽입/삭제 가능
ㅡ> 두 개의 포인터 사용
ㅡ> 데큐로 스택과 큐 구현 가능
■ 비선형 구조
1.트리
ㅡ> 사이클이 없는 그래프
ㅡ> 노드와 선분으로 되어 있고, 계층 형식
ㅡ> 차수 : 노드에 연결된 자식 노드의 수
전위 순회 ㅡ> CLR
중위 순회 ㅡ> LCR
후외 순회 ㅡ> LRC
ㅡ> 전위식을 후위식을 바꾸려면 괄호로 묶고 연산자를 괄호안에서 제일 뒤로
검색트리
ㅡ> 한쪽으로 쏠릴 수 있는 트리 ▶ 이진 탐색 트리
ㅡ> 밸런스 잡은 트리 : AVL트리 ▶ 2-3트리, 레드-블랙트리
2. 그래프
최대간선
ㅡ> 방향그래프 : n(n-1)
ㅡ> 무방향 그래프 : n(n-1)/2
2. 통합 구현
1. 모듈 구현
1. 단위 모듈 구현
■ 단위 모듈 구현의 개념
모듈
ㅡ> 소프트웨어 구조, 다른 것들과 구별되는 독립적인 기능, 그 기능을 위한 명령어들의 집합
■ 구현 단계에서 작업 절차
1. 코딩 계획
2. 코딩
3. 컴파일
4. 테스트
■ 재사용 기법
재사용성 ㅡ> 솦웨 일부분을 다른 시스템에서 사용할 수 있는 정도
(재사용 종류)
재공학 (Re-Engineering)
ㅡ> 기존것을 개선시켜서 재활용.
ㅡ> 위험부담 감소, 비용절감, 개발 기간 단축, 시스템 명세의 오류억제
ㅡ> 이식 (Migration) ▶다른 하드웨어 환경에서 사용할 수 있도록 변환하는 작업
재개발 (Re-Development)
ㅡ>기존것을 참조하여 완전히 새로운 시스템을 개발or추가or변경
(재사용 규모에 따른 분류)
함수와 객체 ㅡ> 클래스나 메서드 단위의 소스 코드를 재사용
컴포넌트 ㅡ> 컴포넌트 자체에 대한 수정 없이, 인터페이스를 통해 통신하는 방식으로 재사용
애플리케이션 ㅡ> 공통된 기능들을 제공하는 애플리케이션을 공유하는 방식으로 재사용
2. 단위 모듈 테스트
■ 테스트vs디버그
테스트 ㅡ> 오류를 찾는 작업
디버그 ㅡ> 오류를 수정하는 작업
■ 단위 모듈 테스트의 종류
블랙박스 테스트 (명세 기반 테스트) ㅡ> 명세를 보면서 수행하는 수행
화이트박스 테스트 (구조 기반 테스트) ㅡ> 모듈 내부의 소스를 보면서 수행
2. 통합 구현 관리
1. IDE 도구
2. 협업 도구
3. 형상 관리 도구
■ 형상 관리의 개념
ㅡ> 변경사항을 체계적으로 관리
ㅡ> 프로젝트 요구 분석서, 소스 코드, 운영 및 설치 지침서 관리
ㅡ> 개발 단계에서도 사용 가능
■ 형상 관리 절차
식통감기
ㅡ> 식후 통증 감기
형상 통제 : 변경사항에 대하여 형상통제위원회가 승인/기각/보류 결정
■ 형상 관리 도구의 기능
인아커
ㅡ> 체크인 : 변경한(최신) 파일을 형상 관리 저장소로 업로드(갱신)
ㅡ> 체크아웃 : 최신 버전을 다운
ㅡ> 커밋 : 업데이트 되었을 때 서버에서 반영하도록 (기록)
■ 형상 관리 도구 사례
CSG: CVS/SVN/Git
ㅡ> MSG 대신 CSG
3. 제품 소프트웨어 패키징
1. 제품 소프트웨어 패키징
1. 애플리케이션 패키징
■ 애플리케이션 패키징 특징
사용자 중심
버전 관리 및 릴리즈 노트
범용 환경
3. 애플리케이션 모니터링 도구
■ 애플리케이션 모니터링 도구
정적 분석 도구 ㅡ> PMD, Cppcheck, Checkstyle
4. DRM
DRM (Digital Rights Management)
ㅡ> 권리정보, 암호화 기술 ▶허가된 권한 범위 내에서 콘첸츠의 이용이 가능
ㅡ> 저작권 보호
제소분 클콘배 컨보
콘텐츠 제공자
콘텐츠 소비자
콘텐츠 분배자 ㅡ> 암호화된 콘텐츠를 유통하는 곳이나 사람
클리어링 하우스
DRM 콘텐츠
패키저 ㅡ> 콘텐츠를 메타 데이터와 함께 배포 가능한 단위로 묶는 도구
DRM 컨트롤러
보안 컨테이너
■ DRM의 기술요소
암키식저 파정크인
ㅡ> 암호화/키 관리/식별 기술/저작권 표현/암호화 파일 생성/정책 관리/크랙 방지/인증
2. 제품 소프트웨어 매뉴얼 작성
1. 제품 소프트웨어 매뉴얼 작성
ㅡ> 설치 시작부터 완료할 때까지의 전 과정을 빠짐없이 순서대로 설명한다.
ㅡ> 설치 매뉴얼은 사용자 기준으로 작성한다.
■ 소프트웨어 사용자 매뉴얼 작성 절
1. 작성 지침 작성
2. 매뉴얼 구성요소 정의
3. 구성요소별 내용 작성
4. 검사 검토 수정 보완
2. 국제 표준 제품 품질 특성
기신사효유이
ㅡ> 기씨 성을 가진 신사가 부서에서 업무 효율(유)이 제일 높다.
ㅡ> 기능성 : 명시된 요구와 내재된 요구를 만족하는 기능, 적합성 정확성 보안성 등
ㅡ> 신뢰성 : 옳고 일관된 결과, 주어진 시간 동안 오류 없이 수행
ㅡ> 사용성 : 사용자가 쉽게 이해, 학습, 사용, 선호
ㅡ> 효율성 : 요구된 성능 제공, 시간반응성, 자원효율성, 준수성 등
ㅡ> 유지보수성 : 변경되는 능력
ㅡ> 이식성 : 다른 하드웨어 환경 적응 by 쉽게 수정
브룩스의 법칙 : 지체되는 소프트웨어 개발 프로젝트에 인력을 추가하면 더 늦춰진다
3. 제품 소프트웨어 버전 관리
1. 소프트웨어 버전 관리 도구
'CS > 정보처리기사' 카테고리의 다른 글
[SQLD] SQL (1) | 2024.11.11 |
---|---|
[SQLD] 1-2 데이터 모델과 SQL (1) | 2024.11.08 |
[SQLD] 1. 데이터 모델링의 이해 (1) | 2024.11.05 |
4. 프로그래밍 언어 활용 (0) | 2024.07.09 |
1. 소프트웨어 설계 (0) | 2024.06.28 |