개발자 되기/자격증

[정보처리기사] 필기 기출 1과목 키워드 정리

발전하는 개발자 2022. 4. 8. 21:49
728x90
반응형

2020.06.06

1. 워크 스루
검토 회의 전에 요구사항 명세서를 미리 배포하여 사전 검토한 후 짧은 검토 회의를 통해 오류를 조기에 검출하는데 목적을 두는 요구 사항 검토 방법

2. 순차 코드
코드 설계에서 일정한 일련번호를 부여하는 방식의 코드

3. 클래스
객체지향 프로그램에서 데이터를 추상화하는 단위

4. 데이터 흐름도(DFD)의 구성요소
process, data flow, data store

5. 소프트웨어 설계시 구축된 플랫폼의 성능특성 분석에 사용되는 측정 항목
응답시간(Response Time)
가용성(Availability)
사용률(Utilization)

6. << >>
UML 확장 모델에서 스테레오 타입 객체를 표현할 때 사용하는 기호

7. Visitor
GoF(Gang of Four)의 디자인 패턴에서 행위 패턴에 속하는 것

8. ( )
자료의 생략


9. TP monitor
트랜잭션이 올바르게 처리되고 있는지 데이터를 감시하고 제어하는 미들웨어

10. 직관성
UI 설계 원칙에서 누구나 쉽게 이해하고 사용할 수 있어야한다는 것

11. XP(eXtreme Programming)의 5가지 가치
용기, 의사소통, 피드백

12. UML모델에서 사용하는 Structural Diagram에 속하는 것
Class Diagram
Object Diagram
Component Diagram

13. 소프트웨어 개발 방법 중 요구사항 분석(requirements annalysis)
비용과 일정에 대한 제약 설정
타당성 조사
요구사항 정의 문서화

14. 럼바우(Rumbaugh)의 객체지향 분석 절차
객체 모형 -> 동적 모형 -> 기능 모형

15. 명확성
공통 모듈에 대한 명세 기법 중 해당 기능에 대해 일관되게 이해하고 한 가지로 해석될 수 있도록 작성하는 원칙

16. 집단화
객체지향 기법에서 클래스들 사이의 '부분-전체(part-whole)' 관계 또는 '부분(is-a-part-of)'의 관계로 설명되는 연관성을 나타내는 용어

17. CASE가 갖고 있는 주요 기능
그래픽 지원
소프트웨어 생명주기 전 단계의 연결
다양한 소프트웨어 개발 모형 지원

18. DBMS 분석시 고려사항
가용성
성능
상호 호환성

19. HIPO(Hierarchy Input Process Output)
HIPO 차트 종류에는 가시적 도표, 총체적 도표, 세부적 도표가 있다.
기능과 자료의 의존 관계를 동시에 표현할 수 있다.
보기 쉽고 이해하기 쉽다.

20. Coad와 Yourdon 방법
객체지향 분석 방법론 중 E-R 다이어그램을 사용하여 객체의 행위를 모델링하며, 객체식별, 구조 식별, 주체 정의, 속성 및 관계 정의, 서비스 정의 등의 과정으로 구성되는 것


2020.08.22

1. 요구사항 분석 시에 필요한 기술
청취와 인터뷰 질문 기술
분석과 중재 기술
관찰 및 모델 작성 기술

2. Factory Method 패턴
객체를 생성하기 위한 인터페이스를 정의하여 어떤 클래스가 인스턴스화될 것인지는 서브클래스가 결정하도록 하는 것
Virtual-Constructor 패턴이라고도 함

3. 럼바우 객체 지향 분석
기능 모델링
동적 모델링
객체 모델링

4. 애자일 기법
절차와 도구보다 개인과 소통을 중요하게 생각한다.
소프트웨어가 잘 실행되는데 가치를 둔다.
고객과의 피드백을 중요하게 생각한다.

5. 미들웨어 솔루션의 유형
WAS, RPC, ORB

6. UML에서 시퀀스 다이어그램의 구성 항목
생명선
실행
메시지

7. Encapsulation
객체지향에서 정보 은닉과 가장 밀접한 관계가 있는 것

8. 디자인 패턴 중에서 행위적 패턴
커맨드(Command) 패턴
옵저버(Observer) 패턴
상태(State) 패턴

9. 직관성
UI 설계 원칙 중 누구나 쉽게 이해하고 사용할 수 있어야 한다.

10. 코드의 기본 기능
표준화
분류
식별

11. 협약(Contract)
컴포넌트 설계시 "협약에 의한 설계"를 따를 경우, 해당 명세에서는
(1) 컴포넌트와 오퍼레이션 사용 전에 참이 되어야 할 선행 조건
(2) 사용 후 만족되어야 할 결과 조건
(3) 오퍼레이션이 실행되는 동안 항상 만족되어야 할 불변조건 등이 포함되어야 한다.

12. UML에서 활용되는 다이어그램 중, 시스템의 동작을 표현하는 행위(Behavioral) 다이어그램
유스케이스 다이어그램(Use Case Diagram)
시퀀스 다이어그램(Sequence Diagram)
활동 다이어그램(Activity Diagram)

13. 클래스
객체 지향 소프트웨어 공학에서 하나 이상의 유사한 객체들을 묶어서 하나의 공통된 특성을 표현한 것

14. 생략

15. 객체지향 소프트웨어 설계시 디자인 패턴을 구성하는 요소
문제 및 배경
사례
샘플코드

16. { }
자료의 반복

17. LSP(Liskov Substitution Principle)
객체지향 설계 원칙 중, 서브타입(상속받은 하위 클래스)은 어디에서나 자신의 기반타입(상위클래스)으로 교체할 수 있어야 함. 

18. 자료흐름도(Data Flow Diagram)의 구성요소
process, data flow, data store, terminator

19. CASE(Computer-Aided Software Engineering)도구
소프트웨어 개발 과정의 일부 또는 전체를 자동화하기 위한 도구
표준화된 개발 환경 구축 및 문서 자동화 기능을 제공한다.
작업 과정 및 데이터 공유를 통해 작업자간 커뮤니케이션을 증대한다.

20. 동료 검토
인터페이스 요구 사항 검토 방법
요구 사항 명세서 작성자가 요구 사항 명세서를 설명하고 이해관계자들이 설명을 들으면서 결함을 발견


2020.09.26

1. XP(eXtreme Programming)의 기본 원리
Pair Programming
Collective Ownership
Continuous Integration

2. 상태 다이어트램(State Diagram)
럼바우(Rumbaugh) 객체지향 분석 기법에서 동적 모델링에 활용되는 다이어그램

3. CASE(Computer Aided Software Engineering)
S/W 라이프 사이클 전 단계의 연결
그래픽 지원
다양한 소프트웨어 개발 모형 지원

4. 객체지향 기법의 캡슐화(Encapsulation)
인터페이스가 단순화된다.
소프트웨어 재사용성이 높아진다.
변경 발생 시 오류의 파급 효과가 적다

5. 인터페이스 분리 원칙
객체지향 설계 원칙
클라이언트는 자신이 사용하지 않는 메서드와 의존관계를 맺으면 안된다.
클라이언트가 사용하지 않는 인터페이스 때문에 영향을 받아서는 안된다.

6. 파이프 필터 형태의 소프트웨어 아키텍처
서브시스템이 입력데이터를 받아 처리하고 결과를 다음 서브시스템으로 넘겨주는 과정을 반복한다. 

7. 표의 숫자 코드
코드화 대상 항목의 중량, 면적, 용량 등의 물리적 수치를 이용하여 만든 코드

8. 디자인 패턴 사용의 장단점
소프트웨어 구조 파악이 용이하다.
객체지향 설계 및 구현의 생산성을 높이는데 적합하다.
재사용을 위한 개발 시간이 단축된다.

9. DFD(data flow diagram)
자료 흐름 그래프 또는 버블(bubble)차트라고도 한다.
구조적 분석 기법에 이용된다.
DFD의 요소는 화살표, 원, 사각형, 직선(단선/이중선)으로 표시한다.

10. 그래픽 표기법을 이용하여 소프트웨어 구성 요소를 모델링하는 럼바우 분석 기법에 포함되는 것
객체 모델링
기능 모델링
동적 모델링

11.  UML의 기본 구성요소
Things
Relationship
Diagram

12. 소프트웨어 상위설계
아키텍처 설계
인터페이스 정의
사용자 인터페이스 설계

13. [ ]
자료사전(Data Dictionary)에서 선택의 의미

14. 소프트웨어의 사용자 인터페이스 개발시스템(User Interface Dvelopment System)이 가져야 할 기능
사용자 입력의 검증
에러 처리와 에러 메시지 처리
도움과 프롬프트(prompt) 제공

15. 요구사항 명세기법
비정형 명세기법은 사용자의 요구를 표현할 때 자연어를 기반으로 서술한다.
정형 명세기법은 사용자의 요구를 표현할 때 수학적인 원리와 표기법을 이용한다.
정형 명세기법은 비정형 명세기법에 비해 표현이 간결하다.

16. 소프트웨어 개발 단계에서 요구 분석 과정
분석 결과의 문서화를 통해 향후 유지보수에 유용하게 활용할 수 있다.
자료흐름도, 자료 사전 등이 효과적으로 이용될 수 있다.
보다 구체적인 명세를 위해 소단위 명세서(Mini-Spec)가 활용될 수 있다.

17. 애자일 방법론
기능중심 개발
스크럼
익스트림 프로그래밍

18. 미들웨어
클라이언트와 서버 간의 통신을 담당하는 시스템 소프트웨어

19. GoF(Gang of Four) 디자인 패턴 분류
생성 패턴
구조 패턴
행위 패턴

20. 바람직한 소프트웨어 설계 지침
적당한 모듈의 크기를 유지한다.
모듈 간의 접속 관계를 분석하여 복잡도와 중복을 줄인다.
모듈 간의 효과적인 제어를 위해 설계에서 계층적 자료 조직이 제시되어야 한다.


2021.03.07

1. unname(문제오류)
운영체제 분석을 위해 리눅스에서 버전을 확인하고자 할 때 사용되는 명령어

2. 소켓 기술
통신을 위한 프로그램을 생성하여 포트를 할당하고, 클라이언트의 통신 요청 시 클라이언트와 연결하는 내외부 송수신 연계기술

3. 캡슐화(Encapsulation)
객체지향 개념에서 연관된 데이터와 함수를 함께 묶어 외부와 경계를 만들고 필요한 인터페이스만을 밖으로 드러내는 과정

4. GoF(Gangs of Four) 디자인 패턴의 생성패턴
추상 팩토리(Abstract Factory)
빌더(Builer)
싱글턴(Singleton)

5. RPC(Remote Procedure Call)
응용프로그램의 프로시저를 사용하여 원격 프로시저를 로컬 프로시저처럼 호출하는 방식의 미들웨어

6. 바람직한 소프트웨어 설계 지침
모듈의 기능을 예측할 수 있도록 정의한다.
이식성을 고려한다.
적당한 모듈의 크기를 유지한다.

7. 객체지향 분석 방법론 중 Coad-Yourdon 방법
E-R 다이어그램을 사용하여 객체의 행위를 데이터 모델링하는데 초점을 둔 방법이다.

8. 생략

9. 현행 시스템 분석에서 고려해야하는 항목
DBMS 분석
네트워크 분석
운영체제 분석

10. 미들웨어
분산 컴퓨터 환경에서 서로 다른 기종 간의 하드웨어나 프로토콜, 통신환경 등을 연결하여 응용프로그램과 운영환경 간에 원만한 통신이 이루어질 수 있게 서비스를 제공하는 소프트웨어

11. CASE(Computer Aided Software Engineering)
소프트웨어 모듈의 재사용성이 향상된다.
자동화된 기법을 통해 소프트웨어 품질이 향상된다.
소프트웨어 유지보수를 간편하게 수행할 수 있다.

12. UML(Unified Modeling Language)
기능적 모델은 사용자 측면에서 본 시스템 기능이며, UML에서는 Use case Diagram을 사용한다.
정적 모델은 객체, 속성, 연관 관계, 오퍼레이션의 시스템의 구조를 나타내며, UML에서는 Class Diagram을 사용한다.
동적 모델은 시스템의 내부 동작을 말하며, UML에서는 Sequence Diagram, State Diagram, Activity Diagram을 사용한다.

13. 확장
기본 유스케이스 수행 시 특별한 조건을 만족할 때 수행하는 유스케이스

14. 요구사항 모델링
애자일(Agile) 방법
유스케이스 다이어그램(Use Case Diagram)
시컨스 다이어그램(Sequence Diagram)

15. 디자인 패턴을 이용한 소프트웨어 재사용으로 얻어지는 장점
소프트웨어 코드의 품질을 향상시킬 수 있다.
개발자들 사이의 의사소통을 원활하게 할 수 있다.
소프트웨어의 품질과 생산성을 향상시킬 수 있다.

16. Object
럼바우(Rumbaugh) 분석기법에서 정보모델링이라고도 하며, 시스템에서 요구되는 객체를 찾아내어 속성과 연산 식별 및 객체들 간의 관계를 규정하여 다이어그램을 표시하는 모델링

17. 객체지향 분석
소프트웨어를 개발하기 위한 비즈니스(업무)를 객체와 속성, 클래스와 멤버, 전체와 부분 등으로 나누어서 분석해 내는 기법

18. 애자일 소프트웨어 개발 기법의 가치
프로세스의 도구보다는 개인과 상호작용에 더 가치를 둔다.
계약 협상보다는 고객과의 협업에 더 가치를 둔다.
계획을 따르기보다는 변화에 대응하는 것에 더 가치를 둔다.

19. Class Diagram
UML 다이어그램 중 시스템 내 클래스의 정적 구조를 표현하고 클래스와 클래스, 클래스의 속성 사이의 관계를 나타내는 것

20. 하향식 설계
소프트웨어 설계시 제일 상위에 있는 main user function에서 시작하여 기능을 하위 기능들로 분할해 가면서 설계하는 방식


2021.05.15

1. 시스템의 구성요소
Process
Feedback
Control

2. 유스케이스(Usecase)
액터는 대상 시스템과 상호 작용하는 사람이나 다른 시스템에 의한 역할이다.

3. 요구사항 개발 프로세스의 순서
도출(Elicitation) -> 분석(Analysis) -> 명세(Specification) -> 확인(Validation)

4. Instance
객체지향 기법에서 클래스에 속한 각각의 객체

5. 정보은닉(Information Hiding) (문제오류)
객체지향 설계에서 객체가 가지고 있는 속성과 오퍼레이션의 일부를 감추어서 객체의 외부에서는 접근이 불가능하게 하는 개념

6. GoF(Gangs of Four) 디자인 패턴
factory method pattern은 상위클래스에서 객체를 생성하는 인터페이스를 정의하고, 하위클래스에서 인스턴스를 생성하도록 하는 방식이다.
prototype pattern은 prototype을 먼저 생성하고 인스턴스를 복제하여 사용하는 구조이다.
mediator pattern은 객체간의 통제와 지시의 역할을 하는 중재자를 두어 객체지향의 목표를 달성하게 해준다.

7. 요구사항 분석이 어려운 이유
개발자와 사용자 간의 지식이나 표현의 차이가 커서 상호 이해가 쉽지 않다.
사용자의 요구사항이 모호하고 불명확하다.
소프트웨어 개발 과정 중에 요구사항이 계속 변할 수 있다.

8. 소프트웨어 아키텍처 설계에서 시스템 품질속성
가용성(Availability)
변경 용이성(Modifiability)
사용성(Usability)

9. 송신 시스템
시스템 인터페이스를 구성하는 시스템으로, 연계할 데이터를 데이터베이스와 애플리케이션으로부터 연계 테이블 또는 파일 형태로 생성하여 송신하는 시스템이다.

10. CASE(Computer-Aided Software Engineering)의 원천 기술
구조적 기법
프로토타이핑 기술
정보 저장소 기술

11. Message
객체에게 어떤 행위를 하도록 지시하는 명령

12. 파이프 필터 구조
서브시스템이 입력 데이터를 받아 처리하고 결과를 다른 시스템에 보내는 작업이 반복되는 아키텍처 스타일

13. 럼바우(Rumbaugh)의 객체지향 분석에서 사용하는 분석 활동
객체 모델링, 동적 모델링, 기능 모델링

14. UML 다이어그램
액티비티 다이어그램(Activity diagram)
클래스 다이어그램(Class diagram)
시퀀스 다이어그램(Sequence diagram)

15. Realization
UML 모델에서 한 객체가 다른 객체에게 오퍼레이션을 수행하도록 지정하는 의미적 관계

16. 상위 CASE 도구가 지원하는 주요기능
모델들 사이의 모순검사 기능
모델의 오류검증 기능
자료흐름도 작성 기능

17. 요구사항 관리 도구의 필요성
요구사항 변경으로 인한 비용 편익 분석
요구사항 변경의 추적
요구사항 변경에 따른 영향 평가

18. 애자일 개발 방법론
스크럼(Scrum)
익스트림 프로그래밍(XP, eXtreme Programming)
기능 주도 개발(FDD, Feature Driven Development)

19. singleton pattern
GoF(Gangs of Four) 디자인 패턴 중 생성패턴

20. 사용자 인터페이스(UI)의 특징
구현하고자 하는 결과의 오류를 최소화한다.
막연한 작업 기능에 대해 구체적인 방법을 제시하여 준다.
사용자 중심의 상호 작용이되도록 한다.


2021.08.14

1. 요구사항 검증(Requirements Validation)
요구사항이 고객이 정말 원하는 시스템을 제대로 정의하고 있는지 점검하는 과정이다.
개발완료 이후에 문제점이 발견될 경우 막대한 재작업 비용이 들 수 있기 때문에 요구사항 검증은 매우 중요하다.
요구사항이 실제 요구를 반영하는지, 문서상의 요구사항은 서로 상충되지 않는지 등을 점검한다.

2. Dependency
UML 모델에서 한 사물의 명세가 바뀌면 다른 사물에 영향을 주며, 일반적으로 한 클래스가 다른 클래스를 오퍼레이션의 매개변수로 사용하는 경우에 나타나는 관계

3. 익스트림 프로그래밍(XP)
사용자의 요구사항은 언제든지 변할 수 있다.
고객과 직접 대면하여 요구사항을 이야기하기 위해 사용자 스토리(User Story)를 활용할 수 있다.
기존의 방법론에 비해 실용성(Pragmatism)을 강조한 것이라고 볼 수 있다.

4. 소프트웨어 설계에서 사용되는 대표적인 추상화(Abstraction) 기법
자료 추상화
제어 추상화
과정 추상화

5. 객체지향 설계에서 정보 은닉(Information Hiding) 
필요하지 않은 정보는 접근할 수 없도록 하여 한 모듈 또는 하부시스템이 다른 모듈의 구현에 영향을 받지 않게 설계되는 것
모듈들 사이의 독립성을 유지시키는 데 도움이 된다.
설계에서 은닉되어야 할 기본 정보로는 IP주소와 같은 물리적 코드, 상세 데이터 구조 등이 있다.

6. 소프트웨어 공학에서 모델링(Modeling)
개발팀이 응용문제를 이해하는 데 도움을 줄 수 있다.
개발될 시스템에 대하여 여러 분야의 엔지니어들이 공통된 개념을 공유하는 데 도움을 준다.
절차적인 프로그램을 위한 자료흐름도는 프로세스 위주의 모델링 방법이다.

7. 요구 분석(Requirement Analysis)
요구 분석은 소프트웨어 개발의 실제적인 첫 단계로 사용자의 요구에 대해 이해하는 단계라 할 수 있다
요구 추출(Requirement Elicitation)은 프로젝트 계획 단계에 정의한 문제의 범위 안에 있는 사용자의 요구를 찾는 단계이다.
도메인 분석(Domain Analysis)은 요구에 대한 정보를 수집하고 배경을 분석하여 이를 토대로 모델링을 하게 된다.

8. Operation
클래스 다이어그램의 요소
클래스의 동작을 의미한다.
클래스에 속하는 객체에 대하여 적용될 메서드를 정의한 것이다.
UML에서는 동작에 대한 인터페이스를 지칭한다고 볼 수 있다.

9. 분산 시스템을 위한 마스터-슬레이브(Master-Slave) 아키텍처
일반적으로 실시간 시스템에서 사용된다.
마스터 프로세스는 일반적으로 연산, 통신, 조정을 책임진다.
마스터 프로세스는 슬레이브 프로세스들을 제어할 수 있다.

10. 요구 사항 정의 및 분석 설계의 결과물을 표현하기 위한 모델링 과정에서 사용되는 다이어그램(Diagram)
Data Flow Diagram
UML Diagram
E-R Diagram

11. 객체지향의 주요 개념
객체는 실세계에 존재하거나 생각할 수 있는 것을 말한다.
클래스는 하나 이상의 유사한 객체들을 묶어 공통된 특성을 표현한 것이다.
다형성을 상속받은 여러 개의 하위 객체들이 다른 형태의 특성을 갖는 객체로 이용될 수 있는 성질이다.

12. 사용자 인터페이스(User Interface)
사용자와 시스템이 정보를 주고받는 상호작용이 잘 이루어지도록 하는 장치나 소프트웨어를 의미한다.
배우기가 용이하고 쉽게 사용할 수 있도록 만들어져야 한다.
사용자 요구사항이 UI에 반영될 수 있도록 구성해야 한다.

13. GoF(Gang of Four) 디자인 패턴
디자인 패턴을 목적(Purpose)으로 분류할 때 생성, 구조, 행위로 분류할 수 있다.
행위 패턴은 클래스나 객체들이 상호작용하는 방법과 책임을 분산하는 방법을 정의한다.
Singleton 패턴은 특정 클래스의 인스턴스가 오직 하나임을 보장하고, 이 인스턴스에 대한 접근 방법을 제공한다.

14. 애자일 개발 방법론
빠른 릴리즈를 통해 문제점을 빠르게 파악할 수 있다.
고객과의 의사소통을 중요하게 생각한다.
진화하는 요구사항을 수용하는데 적합하다.

15. 기능 모델링
럼바우(Rumbaugh)의 객체지향 분석 기법 중 자료 흐름도(DFD)를 주로 이용하는 것

16. 순차 다이어그램(Sequence Diagram)
객체들의 상호 작용을 나타내기 위해 사용한다.
시간의 흐름에 따라 객체들이 주고 받는 메시지의 전달 과정을 강조한다.
교류 다이어그램(Interaction Diagram)의 한 종류로 볼 수 있다.

17. 객체지향 분석 기법
동적 모델링 기법이 사용될 수 있다.
데이터와 행위를 하나로 묶어 객체를 정의내리고 추상화시키는 작업이라 할 수 있다.
코드 재사용에 의한 프로그램 생산성 향상 및 요구에 따른 시스템의 쉬운 변경이 가능하다.

18. CLI(Command Line Interface)
대표적으로 DOS 및 Unix 등의 운영체제에서 조작을 위해 사용하던 것으로, 정해진 명령 문자열을 입력하여 시스템을 조장하는 사용자 인페이스(User Interface)

19. 분산 시스템에서의 미들웨어(Middleware)
분산 시스템에서 다양한 부분을 관리하고 통신하며 데이터를 교환하게 해주는 소프트웨어로 볼 수 있다.
위치 투명성(Location Transparency)을 제공한다.
분산 시스템의 여러 컴포넌트가 요구하는 재사용 가능한 서비스의 구현을 제공한다.

20. 소프트웨어 아키텍처
외부에서 인식할 수 있는 특성이 담긴 소프트웨어의 골격이 되는 기본 구조로 볼 수 있다.
데이터 중심 아키텍처는 공유 데이터 저장소를 통해 접근자 간의 통신이 이루어지므로 각 접근자의 수정과 확장이 용이하다.
이해 관계자들의 품질 요구사항을 반영하여 품질 속성을 결정한다.

728x90
반응형