1. 소프트웨어 공학의 정의에 대해 쓰시오
소프트웨어의 위기를 극복하고 효율적으로 품질 높은 소프트웨어를 개발하기 위한 학문이다.
2. 소프트웨어 개발 방법론 5가지
- 구조적 방법론
- 정보공학 방법론
- 객체지향 개발 방법론
- CBD 분석 방법론
- 애자일 방법론
3. 소프트웨어 개발 모델 6가지
- 폭포수 모델
- 나선형 모델
- 프로토타이핑 모델
- RAD 모델
- V 모형
- 4세대 모델
4. 애자일 방법론 종류 6가지
- XP
- SCRUM
- Crystal
- FDD
- ASD
- Lean
5. IT 서비스 관리 개념 4가지
- SLM : 서비스 수준을 정략적으로 측정, 서비스의 품질을 높이는 활동
- SLA : 서비스 수준을 명시적으로 정의한 문서
- ITSM : 정책과 관행
- ITIL : ITSM을 실현하는 도구(프레임워크)
6. 프로젝트 핵심 관리 대상 3p
- 사람(people), 문제(problem), 프로세스(process)
7. 개발 비용 산정 3가지와 하위 7가지
- 하향식 산정 기법
전문가 판단 기법, 델파이 기법 - 상향식 산정 기법
LOC, M/M - 수학적 산정 기법
COCOMO, Putnam, FP(기능점수)
8. Rayleigh-Norden 곡선 하면? 그에 맞는 자동화 추정 도구는?
- Putnam
- SLIM
9. FP(기능점수)의 자동화 추정 도구, 기능 점수 분류
- ESTIMACS
- 데이터 기능 : 내부 논리 파일, 외부 연계 파일
- 트랜잭션 기능 : 외부 입력, 외부 출력, 외부 조회
10. 제휴 관계를 통해 소비자와 공급자를 연결하는 형태의 플랫폼의 유형은?
- 싱글 사이드 플랫폼
11. '콘텐츠를 플랫폼에 맞게 가공하고 네트워크를 통해 사용자의 단말기로 서비스가 이루어짐을 표현하는 무선 인터넷 서비스의 가치사슬'은 무엇의 대한 개념인가?
- CPND
12. 미들웨어 종류 7가지
- 원격 프로시저 호출
- 메세지 지향 미들웨어
- ORB
- DB 접속 미들웨어
- TP 모니터
- WAS
- ESB
13. 요구사항 개발 프로세스
- 도출 -> 분석 -> 명세 -> 확인
14. 구조적 분석 도구 5가지
- DFD 자료 흐름도
- DD 자료사전
- ERD 개체 관계도
- STD 상태 전이도
- Mini-spec 소단위 명세서
15. 요구사항 분석 도구 2가지와 하위 각 3가지
- CASE
상위 케이스, 하위 케이스, 통합 케이스 - HIPO
가시적 도표, 총체적 도표, 세부적 도표
16. 요구사항 분석 모델링의 구분 3가지
- 기능적 모델링
- 정적 모델링
- 동적 모델링
17. 요구사항 분석 모델의 종류중 '객체지향 분석 모델'의 종류 5가지와 특징
- Rumbaugh(럼바우)
객체, 동적, 기능 - Booch(부치)
미시적, 거시적 - jacobson
유스케이스 강조 - Coad와 Yourdon
ER다이어그램 사용 - Wirfs-Brock
분석과 설계 간 구분 없음
18. 소프트웨어 설계의 원리 5가지
- 분할과 정복
- 추상화
과정 추상화, 자료(데이터) 추상화, 제어 추상화 - 단계적 분해
- 모듈화
- 정보은닉
19. 설계 모델링의 유형 2가지
- 구조 모델링, 행위 모델링
20. 소프트웨어 설계 절차 및 유형 중 '협약에 의한 설계'의 3가지 조건
- 선행, 결과, 불변
21. 소프트웨어 아키텍처의 특징 5가지
- 간략성
- 추상화
- 가시성
- 관점 모형
- 의사소통수단
22. 소프트웨어 아키텍처 4+1 뷰
- 논리뷰
- 구현뷰
- 배치뷰
- 프로세스뷰
- 유스케이스뷰
23. 소프트웨어 아키텍처 패턴 10가지
- 계층화 패턴
- 클라이언트-서버 패턴
- 마스터-슬레이브 패턴
- 파이프 필터 패턴
- 브로커 패턴
- 피어 투 피어 패턴
- 이벤트 버스 패턴
- 모델 뷰 컨트롤러 패턴
- 블랙보드 패턴
- 인터프리터 패턴
24. UML의 특징 4가지
- 가시화
- 명세화
- 구축
- 문서화
25. UML의 구성요소 3가지
- 사물
- 관계
- 다이어그램
26. UML의 '관계' 종류 6가지
- 일반화 관계
- 연관 관계
- 의존 관계
- 실체화 관계
- 집합 관계 - 집약 관계
- 집합 관계 - 합성 관계(=포함 관계)
27. 다이어그램 종류 2가지와 하위 6가지, 7가지
구조
- 클래스 다이어그램
- 객체 다이어그램
- 컴포넌트 다이어그램
- 배치 다이어그램
- 복합체 다이어그램
- 패키지 다이어그램
행위
- 유스케이스 다이어그램
- 시퀀스 다이어그램
- 커뮤니케이션 다이어그램
- 상태 다이어그램
- 상호작용 다이어그램
- 활동 다이어그램
- 타이밍 다이어그램
28. 유스케이스 다이어그램의 관계 4가지
- 연관 관계
- 포함 관계
- 확장 관계
- 일반화 관계
29. UI 유형 5가지
- CLI
- GUI
- NUI
- OUI
- AUI
30. UI 설계원칙 4가지
- 직관성
- 유효성
- 학습성
- 유연성
31. UI 설계 도구 5가지
- 와이어프레임
- 스토리보드
- 프로토타입
- 목업
- 유스케이스
32. 서버환경구축의 종류 6가지
- Web 서버
- WAS
- 데이터베이스 서버
- 파일서버
- Load Balancer
- CDN
33. WAS의 종류 4가지
- WebLogic, WebSpere, Jeus, Tomcat
34. 시스템 소프트웨어 5가지
- Web서버
- WAS
- 운영체제
- DBMS
- JVM
35. 형상 관리 도구의 정의에 대해 쓰시오(p37)
- 소프트웨어의 변경사항을 체계적으로 관리하는 도구
36. 형상 관리 절차를 쓰고, 형상 통제에 대해 설명하시오
- 형상 식별 > 형상 통제 > 형상 감사 > 형상 기록/보고
- 형상 통제란 형상 변경 요청을 검토하고 승인하여 현재 베이스라인에 반영 되도록 통제하는 것이다.
37. 버전관리 도구 6가지
- CVS
- SVN
- GIT
- Clear Case
- Bitkeeper
- RCS
38. 빌드 자동화 도구 5가지
- Make
- Ant
- Maven
- Jenkins
- Gradle
39. 프레임워크 특징 4가지
- 모듈화
- 재사용성
- 확장성
- 제어의 역흐름
40. 단위 모듈 설계의 원리 5가지 (18번 소프트웨어 설계의 원리와 같음)
- 분할과 정복
- 단계적 분해
- 추상화
- 모듈화
- 정보은닉
41. 단위 모듈 작성 원칙 5가지
- 정확성
- 명확성
- 완전성
- 일관성
- 추적성
42. DBMS 접속기술 종류 4가지
- 소켓통신
- Vender API
- JDBC
- ODBC
43. 배치 프로그램의 필수 요소 5가지
- 대용량 데이터
- 안정성
- 성능
- 자동화
- 견고함
44. EAI의 구축유형 4가지
- point-to-point
- hub&spoke
- Message Bus
- Hybrid
45. 인터페이스 연계기술 7가지
- Link
- 소켓
- API/Open API
- DB connection
- JDBC
- Web Service : SOAP, UDDI, WSDL
- Hyper Link
46. rest의 구성요소 3가지
- 자원
- 행위
- 표현
47. 인터페이스 보안 중 네트워크 영역의 보안 방법 3가지
- IPsec
- SSL
- S-HTTP
48. 인터페이스 구현 검증 도구 6가지
- xUnit : 다양한 언어 지원
- STAF : 서비스 호출 및 컴포넌트 재사용
- FitNesse : 웹 기반
- NTAF : STAF와 FitNesse의 장점을 합침 naver
- selenium : 웹 애플리케이션 테스트
- watir : 루비
49. 인터페이스 구현 감시 도구 종류 2가지
- Scouter
- Jennifer
50. 객체지향 구성 요소 5가지
- 클래스
- 객체
- 속성
- 메서드
- 메세지
51. 객체 지향 언어의 특징 5가지
- 추상화
- 상속
- 다형성
- 정보은닉
- 캡슐화
52. 객체 지향 설계원칙 5가지
- 단일 책임 원칙(SRP)
- 개방 폐쇄 원칙(OCP)
- 리스코프 치환의 원칙(LSP)
- 인터페이스 분리의 원칙(ISP)
- 의존성 역전의 원칙(DIP)
53. 디자인 패턴 23가지
- 추상 팩토리 : 서로 연관되거나 의존적인 객체들의 조합을 만드는 인터페이스를 제공
- 빌더 : 복합 객체의 생성과 표현을 분리
- 팩토리 메서드 : 객체 생성을 서브 클래스로 위임
- 프로토타입 : 원복 객체를 복사함
- 싱글톤 : 인스턴스는 하나임을 보장함
- 어댑터 : 인터페이스를 다른 인터페이스로 변환
- 브리지 : 구현부에서 추상층을 분리하여 각자 독립적으로 확장
- 컴포지트 : 객체들의 관계를 트리 구조로 구성, 복합 객체와 단일 객체를 구분없이 다룸
- 데코레이터 : 어떤 객체에 다른 객체를 덧붙이는 방식
- 퍼사드 : Wrapper제공, 서브클래스의 가장 앞쪽에 위치
- 플라이웨이트 : 작은 여러 개의 객체를 매번 생성하지 않고 가능한 한 공유
- 프록시 : 객체의 대리나 대체글을 제공
- 책임 연쇄 : 객체를 연쇄적으로 묶어 객체 chain을 따라 요청을 전달함
- 커맨드 : 요청을 객체의 형태로 캡슐화하여 저장함
- 인터프리터 : 특정 언어의 문법 표현을 정의함
- 반복자 : 내부를 노출하지 않고 어떤 객체의 원소를 순차적으로 접근
- 중재자 : 객체들의 상호작용을 캡슐화
- 메멘토 : 객체가 특정 상태로 되돌아올 수 있도록 내부 상태를 실체화
- 옵저버 : 객체 상태가 변할 때 관련 객체들이 그 변화를 통지받고 자동으로 갱신
- 상태 : 객체의 상태에 따라 동일한 동작을 다르게 처리
- 전략 : 동일 계열의 알고리즘군을 정의하고 캡슐화
- 템플릿 메서드 : 구체적인 처리는 서브클래스로 위임
- 방문자 : 수행할 연산을 분리하여 별도의 클래스로 구성함, 개방-폐쇄 원칙 적용
54. 소프트웨어 테스트의 필요성 3가지
- 오류 발견
- 오류 예방
- 품질 향상
55. 테스트 오라클의 개념에 대해 쓰시오
- 테스트의 결과가 참인지 거짓인지 판단하기 위해 사전에 정의된 참 값을 입력하여 비교하는 기법
56. 테스트 오라클의 유형 4가지
- 참 오라클
- 샘플링 오라클
- 휴리스틱 오라클
- 일관성 검사 오라클
57. 블랙박스 테스트 기법 5가지
- 동등 분할 기법
- 경계값 분석
- 원인-효과 그래프 검사
- 오류 예측 검사
- 비교 검사
58. 테스트 목적 9가지
- 회복 : 정상적으로 복귀 하는지
- 안전 : 보안적인 결함 없는지
- 강도 : 부하에 견디는지
- 성능 : 처리량, 반응속도 괜찮은지
- 구조 : 소스코드 복잡도가 어떤지
- 회귀 : 수정된 코드에 결함 없는지
- 병행 : 변경 전후 결과를 비교
- A/B 테스트 : B가 A보다 효과가 좋은지
- 스모크 테스트 : 테스트 환경이 괜찮은지
59. 테스트 종류 3가지
- 명세 기반 테스트 : 주어진 명세로
- 구조 기반 테스트 : 내부 논리 흐름으로
- 경험 기반 테스트 : 경험자의 기술로
60. 테스트 커버리지의 개념을 쓰시오
- 테스트를 얼마나 수행했는지 측정하는 기준이다.
61. 테스트 커버리지 유형에는 기능기반, 라인, 코드 커버리지가 있다. 코드 커버리지의 종류 6가지
- 구문 커버리지
- 조건 커버리지
- 결정 커버리지
- 조건/결정 커버리지
- 변경 조건/결정 커버리지
- 다중조건 커버리지
62. 테스트 장치(Test Harness)의 구성요소 6가지
- 테스트 드라이브
- 테스트 스텁
- 테스트 슈트
- 테스트 케이스
- 테스트 스크립트
- 목 오브젝트
63. 애플리케이션 성능 분석 지표 4가지
- 처리량
- 응답시간
- 경과시간(반환시간)
- 자원 사용률
64. 성능 분석 도구 3가지
- JMeter : 다양한 프로토콜 지원
- LoadUI : 웹 서비스의 로드 테스트
- openSTA : HTTP, HTTPS 프로토콜에 대한
65. 모니터링 도구 4가지
- Scouter : 단일 뷰 통합/실시간 모니터링
- NMon : 리눅스 서버 자원에 대한 모니터링
- Zabbix : 웹 기반 모니터링
- Jennifer : 애플리케이션에서 서버로 유입되는 처리시간, 응답시간 등을 모니터링
66. 소스코드 품질 분석 3가지 방법
- 동료 검토
- 워크 스루
- 인스펙션
67. 소스코드 품질 분석 도구 종류 정적-6가지/동적-2가지
- PMD : 주로 java
- checkstyle : java
- cobertura : java
- cppcheck : c,c++
- SonarQube : 중복코드, 복잡도
- ccm : 다양한 언어
- Avalanche : 프로그램 결함 및 취약점 분석
- Valgrind : 메모리 및 스레드 결함 분석
68. 클린코드 작성원칙 5가지
- 가독성
- 단순성
- 의존성 배제
- 중복성 최소화
- 추상화
69. 소프트웨어 유지보수 4가지
- 수정 보수
- 적응 보수
- 향상 보수
- 예방 보수
70. 제품 품질 국제 표준 4가지
- ISO/IEC 9126
- ISO/IEC 14598
- ISO/IEC 12119
- ISO/IEC 25000
71. 9126 소프트웨어의 품질 특성 6가지
- 기능성
- 신뢰성
- 사용성
- 효율성
- 유지보수성
- 이식성
72. 14598 소프트웨어의 평가 특성 4가지
- 반복성
- 재현성
- 공정성
- 객관성
73. 프로세스 품질 국제 표준 종류 4가지
- ISO/IEC 12207
- ISO/IEC 15504(SPICE)
- CMM
- CMMI
74. 12207의 생명주기 프로세스 3가지
- 기본 생명주기 프로세스
- 지원 생명주기 프로세스
- 조직 생명주기 프로세스
75. SPICE의 프로세스 능력 수준 단계 6가지
- 불안정
- 수행
- 관리
- 확립
- 예측
- 최적화
76. CMM의 성숙도 5단계
- 초기
- 반복
- 정의
- 관리
- 최적화
77. CMMI의 성숙도 5단계
- 초기
- 관리
- 정의
- 정량적 관리
- 최적화
78. 서비스 국제 표준 종류 1가지
- ISO/IEC 20000
79. DRM 저작권 보호 기술 3가지
- 암호화 기술
- 위변조 방지
- 워터마킹/핑거프린팅
80. DRM 구성 6가지
- 콘텐츠 제공자 : 콘텐츠를 제공하는 저작권자
- 콘텐츠 분배자 : 쇼핑몰 등으로서 암호화된 콘텐츠 제공
- 패키저 : 콘텐츠를 메타 데이터와 함께 배포 가능한 단위로 묶는 기능
- 보안 컨테이너 : 원본을 안전하게 유통하기 위한 전자전 보안 장치
- DRM 컨트롤러 : 배포된 콘텐츠의 이용 권한을 통제
- 클리어링 하우스 : 키 관리 및 라이선스 발급 관리
81. DRM 사용 규칙 제어 기술 4가지
- 콘텐츠 식별 체계 : DOI, URI
- 메타 데이터
- 권리 표현 기술 : XrML
- 권리 표현 종류 : Render(이용), Transport(권리교환), Derivative(추출변형)
82. DRM 구성요소 8가지
- 암호화
- 암호화 파일 생성
- 키 관리
- 식별 기술
- 저작권 표현
- 크랙 방지
- 정책 관리
- 인증
83. 결합도(Coupling), 응집도(Cohesion) 영어로 쓰기
- Content
- Common
- External
- Control
- Stamp
- Data
- Coincidental
- Logical
- Temporal
- Procedural
- Communication
- Sequential
- Functional
'정보처리기사' 카테고리의 다른 글
[정보처리기사 실기] 신기술 용어 & 프로그래밍 언어 정리하기 (0) | 2023.07.14 |
---|---|
[정보처리기사 실기] 정보보안 정리하기 (0) | 2023.07.13 |
[정보처리기사 실기] 네트워크 정리하기 (0) | 2023.07.13 |
[정보처리기사 실기] 운영체제 정리하기 (0) | 2023.07.13 |
[정보처리기사 실기] 데이터베이스 구축 정리하기 (0) | 2023.07.13 |