728x90
7. XP(eXtreme Programming)의 주요 실천 방법
- Pair Programming : 다른 사람과 함께 프로그래밍을 수행함으로써 개발에 대한 책임을 공동으로 나눠 갖는 환경을 조성
- Collective Ownership : 개발 코드에 대한 권한과 책임을 공동으로 소유
- Test-Driven Development : 개발자가 실제 코드를 작성하기 전에 테스트 케이스를 먼저 작성하므로 자신이 무엇을 해야할지 정확히 파악
- Whole Team : 개발에 참여하는 모든 구성원(고객 포함)들은 각자 자신의 역할이 있고 그 역할에 대한 책임을 가져야 함
- Continuous Integration : 모듈 단위로 나눠서 개발된 코드들은 하나의 작업이 마무리될 때마다 지속적으로 통합됨
- Design Improvement 또는 Refactoring : 프로그램 기능의 변경 없이, 단순화, 유연성 강화 등을 통해 시스템을 재구성
- Small Releases : 릴리즈 기간을 짧게 반복함으로써 고객의 요구 변화에 신속히 대응할 수 있음
8. 비정형 명세 기법
- 상태/기능/객체 중심
- 일반 명사, 동사 등의 자연어를 기반으로 서술 또는 다이어그램으로 작성
- 자연어의 사용으로 인해 요구사항에 대한 결과가 작성자에 따라 다를 수 있어 일관성이 떨어지고, 해석이 달라질 수 있음
- 내용의 이해가 쉬워 의사소통이 용이함
- FSM, Decision Table, ER모델링, State Chart(SATD) 등
9. HIPO(Hierarchy Input Process Output)
- 시스템의 분석 및 설계나 문서화할 때 사용되는 기법
- 가시적 도표(Visual Table of Contents) : 시스템의 전체적인 기능과 흐름을 보여주는 계층(Tree) 구조도
- 총체적 도표(Overview Diagram) : 프로그램을 구성하는 기능을 기술한 것으로 입력, 처리, 출력에 대한 전반적인 정보를 제공하는 도표
- 세부적 도표(Detail Diagram) : 총체적 도표에 표시된 기능을 구성하는 기보 ㄴ요소들을 상세히 기술하는 도표
10. UML 다이어그램 - 사물(Things)
- 모델을 구성하는 가장 중요한 기본 요소
- 다이어그램 안에서 관계가 형성될 수 있는 대상
- 구조 사물(Structural Things) : 시스템의 개념적, 물리적 요소를 표현하며 대표적인 것으로 클래스, 유스케이스, 컴포넌트, 노드 등이 있음
- 행동 사물(Behavioral Things) : 시간과 공간에 따른 요소들의 행위를 표현하며 대표적인 것으로 상호작용, 상태 머신 등이 있음
- 그룹 사물(Grouping Things) : 요소들을 그룹으로 묶어서 표현하며 대표적인 것으로 패키지가 있음
- 주해 사물(Annotation Things) : 부가적인 설명이나 제약조건 등을 표현하며 대표적인 것으로 노트가 있음
11. 소프트웨어 아키텍쳐 설계의 기본 원리 - 추상화(Abstraction)
- 문제의 전체적이고 포괄적인 개념을 설계한 후 차례로 세분화하여 구체화 시켜 나가는 것
- 인간이 복잡한 문제를 다룰 때 가장 기본적으로 사용하는 방법
- 완전한 시스템을 구축하기 전에 그 시스템과 가장 유사한 모델을 만들어서 여러 가지 요인들을 테스트할 수 있음
- 최소의 비용으로 실제 상황에 대처할 수 있고, 시스템의 구조 및 구성을 대략적으로 파악할 수 있게 해줌
- 과정 추상화 : 자세한 수행 과정을 정의하지 않고, 전반적인 흐름만 파악할 수 있게 설계하는 방법
- 데이터 추상화 : 데이터의 세부적인 속성이나 용도를 정의하지 않고, 데이터 구조를 대표할 수 있는 표현으로 대체하는 방법
- 제어 추상화 : 이벤트 발생의 정확한 절차나 방법을 정의하지 않고, 대표할 수 있는 표현으로 대체하는 방법
13. 객체지향(Object-Oriented) - 연관성(Relationship)
- 두 개 이상의 객체(클래스)들이 상호 참조하는 관계를 말함
종류 | 의미 | 특징 |
is member of | 연관화(Association) | 2개 이상의 객체가 상호 관련되어 있음을 의미함 |
is instance of | 분류화(Classfication) | 동일한 형의 특성을 갖는 객체들을 모아 구성하는 것 |
is part of | 집단화(Aggregation) | 관련 있는 객체들을 묶어 하나의 상위 객체를 구성하는 것 |
is a | 일반화(Generalization) | 공통적인 성질들로 추성화한 상위 객체를 구성하는 것 |
특수화/상세화(Specialization) | 상위 객체를 구체화하여 하위 객체를 구성하는 것 |
14. Booch 방법
- 객체지향 분석의 방법론 중 하나
- 미시적(Micro) 개발 프로세스와 거시적(Macro) 개발 프로세스를 모두 사용하는 분석 방법
- 클래스와 객체들을 분석 및 식별하고 클래스의 속성과 연산을 정의함
15. GoF의 패턴 분류
- 생성 패턴(Creational Pattern) : 객체의 생성과 참조 과정을 캡술화 하여 객체가 생성되거나 변경되어도 프로그램의 구조에 영향을 크게 받지 않도록 하여 프로그램에 유연성을 더해줌
- 구조 패턴(Structual Pattern) : 클래스나 객체들을 조합하여 더 큰 구조로 만들 수 있게 해주는 패턴
- 행위 패턴(Behavioral Pattern) : 클래스나 객체들이 서로 상호작용하는 방법이나 책임 분배 방법을 정의하는 패턴
26. 포인터 형(Pointer Type)
- 포인터 : 변수의 주소
- 포인터 변수 : 변수의 주소를 저장할 때 사용하는 변수
- 포인터 변수를 선언할 때는 자료의 형을 먼저 쓰고 변수명 앞에 간접 연산자 *를 붙임
- 포인터 변수에 주소를 저장하기 위해 변수의 주소를 알아낼 때는 변수 앞에 번지 연산자 &를 붙임
- 실행문에서 포인터 변수에 간접 연산자 *를 붙이면 해당 포인터 변수가 가리키는 곳의 값을 말함
- 포인터 변수는 필요에 의해 동적으로 할당되는 메모리 영역인 힙 영역에 접근하는 동적 변수임
28. 프레임워크 특성
- 모듈화(Modularity) : 프레임워크는 캡슐화를 통해 모듈화를 강화하고 설계 및 구현의 변경에 따른 영향을 최소화함으로써 소프트웨어의 품질을 향상시키며, 개발표준에 의한 모듈화로 인해 유지 보수가 용이해짐
- 재사용성(Reusability) : 재사용 가능한 모듈들을 제공함으로써 예산 절감, 생산성 향상, 품질 보증이 가능함
- 확장성(Extensibility) : 다형성(Polymorphism)을 통한 인터페이스 확장이 가능하여 다양한 형태와 기능을 가진 애플리케이션 개발이 가능함
- 제어의 역흐름(Inversion of Control) : 개발자가 관리하고 통제해야 하는 객체들의 제어를 프레임워크에 넘김으로써 생산성을 향상시킴
30. Java의 대표적인 표준 라이브러리
- jang.lang : 자바에 기본적으로 필요한 인터페이스, 자료형, 예외 처리 등에 관련된 기능을 제공하며 import문 없이도 사용할 수 있음
- java.util : 날짜 처리, 난수 발생, 복잡한 문자열 처리 등에 관련된 기능을 제공
- java.io : 파일 입 · 출력과 관련된 기능 및 프로토콜을 제공
- java.net : 네트워크와 관련된 기능을 제공
- java.awt : 사용자 인터페이스(UI)와 관련된 기능을 제공
33. 선언형 프로그래밍 언어
- HTML, XML, PROLOG 등
53. E-R 모델
- 개념적 데이터 모델의 가장 대표적인 것
- 1976년 피터 첸(Peter Chen)에 의해 제안되고 기본적인 구성 요소가 정립됨
- 개체와 개체 간의 관계를 기본 요소로 이용하여 현실 세계의 무질서한 데이터를 개념적인 논리 데이터로 펴현하기 위한 방법으로 많이 사용되고 있음
- 개체 타입과 이들 간의 관계 타입을 이용하여 현실 세계를 개념적으로 표현함
- 데이터를 개체, 관계, 속성으로 묘사
- 특정 DBMS를 고려한 것은 아님
- 개념 세계에서는 현실 세계에 대한 인식을 추상적 개념으로 표현하는데, 이 과정을 정보 모델링이라고 함
728x90
'공부 일지 > 정보처리산업기사' 카테고리의 다른 글
[정보처리산업기사] 모의고사 4회 오답노트 (0) | 2022.04.18 |
---|---|
[정보처리산업기사] 모의고사 3회 오답노트 (0) | 2022.04.18 |
[정보처리산업기사] 모의고사 1회 오답노트 (0) | 2022.04.16 |
[정보처리산업기사] 오답노트 9 (0) | 2022.04.15 |
[정보처리산업기사] 오답노트 8 (0) | 2022.04.15 |