2024.02.08 - [정보처리기사[필기]/1과목_ 소프트웨어 설계] - [소프트웨어 설계 Chap.01]
1. 자료구조
▷ 선형 구조
- 배열 : 정적인 자료구조. 용량 추가 어려움& 메모리 낭비 심함. 반복적인 데이터 처리작업
- 스택: 한쪽 끝으로만 자료의 삽입 & 삭제 작업. 후입선출 (LIFO. Last In First Out)
- 큐 : 한쪽에서는 삽입/ 다른쪽은 삭제 작업. 선입선출 (FIFO. First In First Out)
- 데크 : 양쪽 끝에서 삽입& 삭제
- 데크 : 양쪽 끝에서 삽입 & 삭제
▷ 비선형 구조
[ 선형 리스트 ]
- 연속 리스트:
- 연결 리스트:
[ 트리 ]
→ node. branch로 구성.
→ Degree, 단말 노드, 자식 노드, 부모 노드, 형제 노드, 트리의 Degree
- 방향 그래프
- 무방향 그래프
2. DBMS
▷ DB
- 공용 데이터
- 통합 데이터
- 운영 데이터
- 저장 데이터
▷ DBMS
- DDL: 정의기능/ 데이터 타입&구조 정의, 이용방식&제약 조건 명시
- DML: 조작기능/ 인터페이스 수단 제공
- DCL: 제어기능/ 무결성, 보안, 권한, 병행제어
3. Data I/O
https://m.blog.naver.com/PostView.naver?blogId=wook2124&logNo=222103415370&navType=by
4. 절차형 SQL
5. 개발 지원 도구
6. 소프트웨어 패키징
7. 릴리즈 노트
8. 디지털 저작권 관리
9. 형상관리
1 ) SW 패키징 형상 관리 (SCM)
- sw 개발 과정에서 sw 변경 사항 관리하기 위해 개발됨
- sw 개발 전 과정에 적용. 유지보수 단계에서도 수행
2 ) 형상관리의 중요성
- 변경 사항을 체계적으로 추적&통제
- 무절제한 변경 방지
3 ) 형상 관리 기능
▷ 형상 식별 : 계층 구조로 구분 → 수정/ 추적이 용이
▷ 형상 통제 : 식별된 형상 항목에 대한 변경 요구 검토
▷ 형상 감사 : 기준선의 무결성을 평가
▷ 형상 기록 : 작업의 결과를 기록/관리 & 보고서 작성
▷ 버전 제어 : 다른 버전의 형상 항목을 관리 & 특정 절차와 도구를 결합시키는 작업
4 ) SW 버전 등록 관련 주요 용어
5 ) SW 버전 등록 과정
Import → Checkout → Commit → Update → Diff
가져오기 → 인출 → 예치 → 동기화 → 차이
6 ) SW 형상 관리 역할
- 이전 리비전/버전에 대한 정보 접근 가능 → 배포본 관리에 유용
- 불필요한 사용자의 소스 수정 제한
- 동일 프로젝트에 대해 여러 개발자 동시 개발 가능
10. 버전 관리 도구
1 ) 공유 폴더 방식
2 ) Client / Server 방식
3 ) 분산 저장소 방식
4 ) SVN (Subversion)
5 ) Git
11. application Test
Application에 잠재되어 있는 결함을 찾아내는 일련의 행위
개발된 sw가 요구사항을 만족하는지 확인
sw가 기능을 정확히 수행하는지 검증
1 ) Application Test 분류
→ 프로그램 실행 여부에 따른 테스트
- 정적 테스트 : 프로그램 실행X. 소스 코드 대상으로 분석
ex) walkthrough, inspection. codetest
- 동적 테스트 : 프로그램 실행O > 오류를 찾는 테스트
ex) 화이트박스 / 블랙박스 테스트
→ 테스트 기반에 따른 테스트
- 명세 기반 테스트
- 구조 기반 테스트
- 경험 기반 테스트
→ 시각에 따른 테스트
- 검증
- 확인
→ 목적에 따른 테스트
→ 테스트 커버리지 유형
2 ) 화이트 박스/ 블랙박스 테스트
12. 개발단계에 따른 Application Test
단위 테스트 (Unit Test)
- 코딩 직후, 모듈/ 컴포넌트에 초점을 맞춰 테스트
- 요구사항 기반으로 한 기능성 테스트 최우선
- 구조 기반 테스트 우선 → 명세 기반 테스트
통합 테스트 ( Integration Test)
- 단위 테스트가 완료된 모든 모듈들을 결합 → 하나의 시스템으로 완성시키는 과정에서의 테스트
- 모듈/ 통합된 컴포넌트 간의 상호 작용 오류 검사
상향식 테스트(Cluster / Driver), 하향식 테스트(Stub)
시스템 테스트 (System Test)
인수 테스트 (Acceptance Test)
1 ) 통합 테스트
2 ) 테스트 케이스
3 ) 테스트 시나리오
4 ) 테스트 오라클
5 ) 테스트 하네스
13. 결함 관리
14. Application 성능 분석
15. 모듈 연계
16. 인터페이스 구현 / 인터페이스 보안