본문 바로가기

study/자격증

[정보처리기사 필기] 2. 소프트웨어 개발

728x90

*문제 풀고 틀린 부분만 따로 정리함


chap1. 데이터 입출력 구현 

2-1) 물리 데이터 저장소

물리 데이터 저장소 모델 변환 절차

  1. 단위 개체를 테이블로 변환
  2. 속성을 컬럼으로 변환
  3. UID를 기본키로 변환
  4. 관계를 외래키로 변환
  5. 컬럼 유형과 길이 정의
  6. 반 정규화 수행

반 정규화 수행 방법

- 테이블 통합

- 테이블 분할: 수평 분할, 수직 분할

- 중복 테이블 추가: 집계 테이블 추가, 진행 테이블 추가, 특정부분만을 포함하는 테이블 추가 * 빌드 테이블 추가는 없음 !!

- 컬럼 중복화

 

파티션의 종류 

- 범위분할, 레인지 파티셔닝: 지정한 열의 값을 기준으로 분할

- 해시분할, 해시 파티셔닝: 해시함수에 따라 데이터를 분할

- 목록분할, 리스트 파티셔닝: 미리 정해진 그룹핑 기준에 따라 데이터를 분할

- 조합분할, 컴포지트 파티셔닝: 범위분할 이후 해시함수를 적용하여 재분할

 

chap3. 제품 소프트웨어 패키징

1-1) 애플리케이션 패키징

애플리케이션 패키징 프로세스

1. 기능식별

2. 모듈화

3. 빌드 진행

  - 신규 개발 소스 및 컴파일 결과물 준비, 정상 기능 단위 및 서비스 분류,

  - 빌드 도구 확인 및 정상 수행, 컴파일 이외 도구의 다양한 기능 확인. 

4. 사용자 환경 분석

5. 패키징 적용 시험

6. 패키징 변경 개선

 

1-2) 애플리케이션 배포 도구

애플리케이션 배포 도구 활용시 고려사항

- 암호화/보안

- 이기종 연동: 패키징 도구를 활용하여 여러가지 이기종 콘텐츠 및 단말기 간 DRM 연동 고려 * EAI 연동 아니다!!!!

- 복잡성 및 비효율성 문제

- 최적합 암호화 알고리즘 적용

 

1-3) 애플리케이션 모니터링 도구

DRM 구성 요소

- 콘텐츠 제공자(DRM 콘텐츠, 패키저)

- 클리어링 하우스(콘텐츠 정책, 라이선스, 관리정보, 사용정보)

- 콘텐츠 소비자(DRM 컨트롤러, 보안 컨테이너)

* 제니퍼는 애플리케이션 모니터링 도구중에 성능관리 도구에 있는것!

 

DRM의 기술요소

- 암호화, 키 관리, 식별기술, 저작권 표현, 암호화 파일 생성, 정책 관리, 크랙 방지, 인증.

* 컨텐츠 오류감지 없음!!!

 

2-1) 제품 소프트웨어 매뉴얼 작성

제품 소프트웨어 사용자 매뉴얼 작성 프로세스

1. 작성 지침 정의

2. 사용자 매뉴얼 구성요소 정의

  : 제품 소프트웨어의 기능, 구성 객체 목록, 객체별 메서드, 메서드의 파라미터, 실제 사용 예제, 사용자 환경 세팅 방법 등의 사용자 매뉴얼 구성요소를 정의  * 배포 및 빌드 환경에 대한 설명은 없음. 

3. 구성요소별 내용 작성

4. 사용자 매뉴얼 검토 

 

2-2) 국제 표준 제품 품질 특성 

국제 제품 품질 표준

- 9126: 소프트웨어 품질을 측정하고 평가하기 위해서 sw의 품질요소와 특성을 정의

 

sw 품질 특성

기능성 - sw가 특정조건에서 사용될 때 명시된 요구와 내재된 요구를 만족하는 기능을 제공
- 품질 부특성: 적합성, 정확성, 상호 운용성, 보안성, 준수성 
신뢰성 - 옳고 일관된 결과를 얻기위하여 요구된 기능을 수행할 수 있음. 
- 주어진 시간동안 주어진 기능을 오류없이 수행하는 정도 
사용성 - 사용자에 의해 이해되고, 학습되고, 사용되고, 선호될 수 있는 sw제품의 능력
효율성** - 사용되는 자원의 양에 따라 요구된 성능을 제공하는 sw제품의 능력
- 품질 부특성: 시간 반응성, 자원 효율성, 준수성
유지보수성 - sw제품이 변경되는 능력
이식성 - 한 환경에서 다른 환경으로 전이될 수 있는 sw제품의 능력 

 

- 14598: 소프트웨어 제품 평가 프로세스 및 평가 모듈을 제공 * 9126에서 별도로 빠져나온 것. 

- 12119: 소프트웨어 패키지 제품에 대한 품질 요구사항 및 테스트 국제 표준

- 25000: 9126+14598+12119 통합본

 

국제 프로세스 품질 표준

- 9001, 12207, 15504, CMMi 

 

*제품 품질 표준: 9126, 14598, 12119, 25000

*프로세스 품질 표준: 9001, 12207, 15504, CMMi 

두가지 구분해서 숫자 외워두기 

 

3-1) 소프트웨어 버전 관리 도구 

- CVS: 중앙 집중형 서버 저장소를 두고 클라이언트가 접속해서 버전 관리를 실행하는 도구

- Git: 속도에 중점을 둔 분산형 방식, 대형 프로젝트에서 효과적. commit, push

 

3-2) 빌드 자동화 도구

빌드 자동화 도구의 기능

 - 코드 컴파일, 컴포넌트 패키징, 파일 조작, 개발 테스트 실행, 버전 관리도구 통합, 문서 생성, 배포 기능, 코드 품질 분석. 

* UI 사용성 테스트, 코딩 자동화 기능 없음. 

 

chap4. 애플리케이션 테스트 관리

1-1) 테스트 케이스

테스트 오라클

: 테스트의 결과가 참인지 거짓인지를 판단하기 위해서 사전에 정의된 참값을 입력하여 비교하는 기법

* 테스트 오라클(기법)과 테스트 시나리오(문서) 구분. 

 

- 참 오라클: 모든 입력값에 대하여 기대하는 결과를 생성함으로써 발생된 오류를 모두 검출할 수 있는 오라클

- 샘플링 오라클: 특정한 몇개의 입력값에 대해서만 기대하는 결과 제공

- 휴리스틱 오라클: 특정 입력값에 대해 올바른 결과를 제공, 나머지 값들에 대해서는 휴리스틱(추정)으로 처리 

- 일관성 검사 오라클: 애플리케이션 변경이 있을 때, 수행 전과 후의 결괏값이 동일한지 확인

 

1-2) 테스트 레벨

테스트 레벨 종류

- 단위 테스트

- 통합 테스트: 상향식, 하향식 테스트 

- 시스템 테스트

- 인수 테스트

      알파 테스트: 선택된 사용자가 개발자 환경에서 통제된 상태로 개발자와 함께 수행하는 인수 테스트

      베타 테스트: 실제 환경에서 일정 수의 사용자에게 대상 소프트웨어를 사용하게 하고 피드백을 받는 인수 테스트

 

1-3) 테스트 시나리오 

테스트 시나리오: 애플리케이션의 테스트되어야할 기능 및 특징, 테스트가 필요한 상황을 작성한 문서 

* 테스트 오라클: 테스트의 결과가 참/거짓인지 판단하기위해 사전에 정의된 참값을 입력하여 비교하는 기법 

 

1-4) 테스트 지식 체계 

블랙박스 테스트 유형

- 동등분할 테스트, 경곗값 분석 테스트, 결정 테이블 테스트, 상태전이 테스트, 유스케이스 테스트, 분류 트리 테스트, 페어와이즈 테스트, 원인-결과 테스트, 비교 테스트 

* 기초 경로 검사 없음!! 

 

2-1) 결함 관리 도구 

결함관리 목록중 심각도: 치명적>주요>보통>경미한>단순  *경미한이 단순보다 먼저!

 

3-1) 알고리즘

알고리즘 설계 기법

- 분할과 정복

- 동적 계획법: 어떤 문제를 풀기위해 그 문제를 더 작은 문제의 연장선으로 생각하고, 과거에 구한 해를 활용하는 방식 

     *정적 계획법 아니다!!!!!!!!!!!! not static!!!

- 탐욕법

- 백트래킹: 어떤 노드의 유망성 점검 후, 유망하지 않으면 그 노드의 부모 노드로 되돌아간 후 다른 자손노드를 검색 

** 동적계획- 과거 구한 해 활용

** 백트래킹- 부모노드 되돌아가기 

두개 헷갈려하지말자!

 

알고리즘 설명 

- 해싱 함수 

- 거품 정렬

- 삽입 정렬 : 자신의 위치를 찾아 삽입!!!

- 선택 정렬: 가장 작은 데이터를 찾고 앞의 데이터와 교환!!!

 

chap5. 인터페이스 구현

2-1) 인터페이스 보안

시큐어 코딩 가이드 

- 입력 데이터 검증 및 표현, 보안 기능, 시간 및 상태, 에러처리, 코드오류, 캡슐화, API오용  ** Agent 오용 아님

 

3-1) 설계 산출물

인터페이스 구현 검증 도구

- xUnit

- STAF: 서비스 호출, 컴포넌트 재사용 등 다양한 환경을 지원하는 테스트 프레임워크

- FitNesse: 웹기반 테스트 케이스 설계/실행/결과 확인 등을 지원하는 테스트 프레임워크

- NTAF

- Selenium

- watir: ruby기반 웹 애플리케이션 테스트 프레임 워크 

 

 

 

728x90
반응형

'study > 자격증' 카테고리의 다른 글

[정보처리기사 필기] 1. 소프트웨어 설계  (0) 2021.02.04