[정보처리기사필기 정리] 1과목 - 소프트웨어 설계 02
요구사항 검토
DFD
UML
미들웨어
객채지향 분석 방법론(럼바우)
현행 시스템 분석
유스케이스 다이어그램
소프트웨어 공학의 3R
코드의 종류
D.D (데이터 자료 사전)
6. 요구사항 검토 방법
- 동료 검토 (Peer Review) : 요구사항 명세서 작성자가 명세서 내용을 직접 설명 -> 동료들이 결함 발견
- 워크 스루 (Walk Through) : 검토 회의 전에 요구명세서 미리 배포 -> 사전검토 후 짧은 회의로 결함 발견
- 인스펙션 (Inspevtion) : 요구사항 명세서 작성자를 제외한 검토 전문가들이 요구사항 명세서 확인 -> 결함발견
관련 기출 문제)
01. 검토회의 전에 요구사항 명세서를 미리 배포하여 사전 검토한 후 짧은 검토회의를 통해 오류를 조기에 검출하는데 목적을 두는 요구 사항 검토 방법은?
(1) 빌그 검증
(2) 동료 검토
(3) 워크 스루
(4) 개발자 검토
(2020.06.06 필기 정보처리기사 필기 기출문제)
6-1. 요구사항 명세기법
정형기법
:수학적 기법, 정형화된 기법
- 수학, 논리학
- 명세 오류 및 모호성을 쉽게 파악
- 어렵고 시간 소모 많음
비정형 기법
: 자연어 기반
- 자연어, 그림 중심
- 사용자- 개발자 의사전달이 용이
- 모호함
관련 기출 문제)
01. 요구사항 명세기법에 대한 설명으로 틀린 것은?
(1) 비정형 명세기법은 사용자의 요구를 표현할 때 자연어를 기반으로 서술한다.
(2) 비정형 명세기법은 사용자의 요구를 표현할 때 Z비정형 명세기법을 사용한다. : Z정형기법 -. 수학적 기법
(3) 정형 명세기법은 사용자의 요구를 표현할 때 수학적 원리와 표기법을 이용한다.
(4) 정형 명세기법은 비정형 명세기법에 비해 표현이 간결하다.
(2020. 4회 필기 정보처리기사 필기 기출문제)
7. 객체지향 분석 방법론
1) 럼바우 (Rumbaugh)
: 객체모델(객체다이어그램), 동적모델(상태다이어그램), 기능 모델(DFD)
2) 부치 (Booch)
: "미시적, 거시적" 개발 프로세스 모두 사용
3) Jacobson 방법
: "Use Case" 사용
4) Coad와 Yourdon 방법
: "E-R 다이어그램"을 사용 , 객체의 행위를 모델링
5) Wirfs-Brock방법
: 분석과 설계간 구분 없음
7-1. 럼바우(Rumbaugh) 객체지향 분석 기법
1. 객체 모델링 : 객체 다이어그램
2. 동적 모델링 : 상태 다이어그램
3. 기능 모델링 : 자료흐름도 (DFD)
관련 기출 문제)
16. 럼바우(Rumbaough) 분석 기법에서 정보 모델링이라고도 하며, 시스템에서 요구되는 객체를 찾아내어
속성과 연산 식별 및 객체들 간의 관계를 규정하여 다이어그램을 표시하는 모델링은?
(1) Object
(2) Dynamic
(3) Function
(4) Static
(2021년 1회 정보처리기사 필기 기출문제)
7-2자료흐름도 DFD
시스템이나 프로세스 내 정보흐름을 시각적으로 나타내는 도표
- Process : 원
- data flow : 화살표
- data store : 직선(단선 / 이중선)
- terminator : 사각형
관련 기출 문제)
15. 데이터 흐름도(DFD)의 구성요소에 포함되지 않는 것은?
(1) process
(2) data flow
(3) data store
(4) data dictionary
(2020년 정보처리기사 필기 기출문제)
09. DFD(data flow diagram)에 대한 설명으로 틀린 것은?
(1) 자료 흐름 그래프 또는 버블 차트라고도 한다.
(2) 구조적 분석 기법에 이용된다.
(3) 시간흐름을 명확하게 표현할 수 있다. : 시간흐름이 아닌 프로세스와 프로세스간에 존재하는 상호작용을 명확히 설명
(4) DFD의 요소는 화살표, 원, 사각형, 직선(단선/이중선)으로 표시한다.
(2020년 4회 정보처리기사 필기 기출문제)
18. 자료흐름도 (data flow diagram)의 구성요소로 옳은 곳은?
(1) process, data flow, data store, comment
(2) process, data flow, data store, terminator
(3) data flow, data store, terminator, data dictionary
(4) process, data store, terminator, mini-spec.
(2020년 3회 정보처리기사 필기 기출문제)
68. 자료흐름도(DFD)의 작성 지침이라고 볼 수 없는 것은?
(1) 자료는 처리를 거쳐 변환될 때마다 새로운 명칭을 부여해야한다.
(2) 자료흐름도의 최하위 처리(process)는 소단위 명세서를 갖는다.
(3) 배경도(context diagram)에도 명칭과 번호를 부여해야한다.
(4) 어떤 처리(process)가 출력자료를 산출하기 위해서는 필요한 자료가 반드시 입력되어야한다.
(2019년 1회 정보처리기사 필기 기출문제)
78. 자료흐름도(DFD)의 각 요소별 표기 형태의 연결이 옳지 않은 것은?
(1) process : 원
(2) Data Flow : 화살표
(3) Data Store : 삼각형 : 자료저장소 -직선(단선/이중선)으로 표시
(4) Terminator : 사각형
(2019년 1회 정보처리기사 필기 기출문제)
77. 자료흐름도(Data Flow Diagram)에 대한 설명으로 거리가 먼 것은?
(1) 단말(Terminator)은 원으로 표기한다. : 단말(Termiantor) - 사각형
(2) 구조적 분석 기법에 이용된다.
(3) 자료 흐름과 기능을 자세히 표현하기 위해 단계적으로 세분화 된다.
(4) 자료흐름 그래프 또는 버블 차트라고도 한다.
(2019년 3회 정보처리기사 필기 기출문제)
8. UML (구조적 다이어그램, 행위 다이어그램)
* 시험전에 종류 보고가기!
: 객체 지행 시스템을 개발할 때 산출물을 명세화, 시각화, 문서화 하는데 사용된다.(구축언어)
즉, 개발하는 시스템을 이해하기 쉬운 형태로 표현하여
분석사, 의뢰인, 설계자가 효율적인 의사소통을 할 수 있게 해준다.
-> 개발 방법론이나 개발 프로세스가 아닌 표준화된 모델링 언어.
1) 구조적다이어그램 (Structural Diagram)
2) 행위 다이어그램 (Activity Diagram)
19. UML 다이어그램 중 시스템 내 클래스의 정적구조를 표현하고 클래스와 클래스, 클래스의 속성 사이의 관계를 나타내는 것은?
(1) Activity Diagram :행위 다이어그램
(2) Model Diagram :존재하지 않음
(3) State Diagram :행위 다이어그램
(4) Class Diagram :객체 다이어그램 - 구조 다이어그램
(2021년 1회 정보처리기사 필기 기출문제)
1. UML 다이어그램 중 순차 다이어그램에 대한 설명으로 틀린 것은?
(1) 객체 간의 동적 상호작용을 시간 개념을 중심으로 모델링 하는 것이다.
(2) 주로 시스템의 정적 측면을 모델링 하기 위해 사용한다.
(3) 일반적으로 다이어그램의 수직 방향이 시간의 흐름을 나타낸다
(4) 회귀 메세지(Self-Message), 제어블록(Statement block)등으로 구성된다.
(2022년 2회 정보처리기사 필기 기출문제)
15. UML 모델에서 한 객체가 다른 객체에게 오퍼레이션을 수행 하도록 지정하는 의미적 관계로 옳은 것은?
(1) Dependency
(2) Realization : 실체화 관계
(3) Generalization
(4) Association
(2021년 2회 정보처리기사 필기 기출문제)
** 클래스(Class)간 관계
- 일반화 관계 ( Generalization - 상속)
: 객체지향 개념에서 상속 관계 - 실체화 관계 ( Realization - 구현)
: 인터페이스와 그것을 구현한 것과의 관계 - 의존 관계 ( Dependency -참조)
: 어떤 클래스가 다른 클래스를 참조하는 관계 (일시적 A < - - B) - 연관 관계 ( Association)
- 직접 연관 : 한 클래스가 다른 클래스를 참조하는 관계 (친구, 끈끈 A <- B)
- 집약 연관 : 참조하는 객체나 클래스가 사용 후에도 유지하는 관계
- 합성 연관 : 참조한 객체가 사라지면 참조하는 객체도 사라지는 관계
9. 미들웨어의 종류
- RPC : 원격 프로시저 호출
- MOM : 메세지 지향 미들웨어
- ORB (Object Request Broker): 다른 시스템의 프로그램을 네트워크를 통해 호출할 수 있는 미들웨어
- DB 접속 미들웨어
- TP 모니터 : 트랜젝션 확인(모니터)
- WAS : 동적인 역할 담당 : 웹 애플리케이션 서버
- ESB : 메세지 버스 : 엔터프라이즈 서비스 버스
관련 기출 문제)
10. 분산 컴퓨팅 환경에서 서로 다른 기종 간의 하드웨어나 프로토콜, 통신환경 등을 연결하여 응용 프로그램과 운영
환경 간에 원만한 통신이 이루어질 수 있게 서비스를 제공하는 소프트웨어는?
(1) 미들웨어
(2)하드웨어
(3) 오븐허브웨어
(4) 그레이웨어
(2021년 1회 정보처리기사 필기 기출문제)
10. Fan-in / Fan-out
Fan-in : 나를 호출하는 것.
Fan-out : 내가 호출하는 것.
관련 기출 문제)
08. 다음은 어떤 프로그램 구조를 나타낸다. 모듈 F에서의 Fan-in과 fan-out의 수는 얼마인가?
(1) fan-in : 2, fan-out : 3
(2) fan-in : 3, fan-out : 2
(3) fan-in : 1, fan-out : 2
(4) fan-in : 2, fan-out : 1
(2021년 1회 정보처리기사 필기 기출문제)
11. 현행 시스템 분석
: 개발하기 전, 해당 시스템이 어떻게 돌아가는지 확인하는 것.
- 운영체제
- 네트워크
- DBMS
- 미들웨어
- 오픈소스(라이선스, 서비스 지속 가능성 등)
12. 유스케이스 다이어그램 관계
- 사용자(Actor)의 관점에서 시스템의 기능, 상호작용과 그들 간의 관계를 표현.
- 구성요소
- 시스템 : 개발하고자 하는 소프트웨어
- 액터 : 시스템 외부에서 시스템과 상호작용하는 객체 (사람, 회사, 외부 시스템)
- 유스케이스 : 일련의 작업을 수행하기 위한 행위
- 관계 : 2개의 액터 또는 유스케이스들이 서로 상호작용함을 나타낸다.
- 연관관계(Association) : 유스케이스와 액터 사이에 상호작용이 있음을 뜻함 : 실선으로 표시
- 포함관계 (<<Include>>) : 유스케이스가 실행 될 때 포함관계가 있는 유스케이스는 반드시 실행.
- 확장관계 (<<Extend>>) : 유스케이스가 실행 될 때, 특정 상황에서만 실행(실행 될수도 안될수도있음 ex)
가입시 사진을 등록 or 안 등록) - 일반화관계 (Generalization) : 부모 유스케이스와 자식 유스케이스들 간의 상속관계
13. 소프트웨어 공학의 3R
: 유지보수의 생산성으로 위기를 극복해보고자 하는 것.
- 역공학 : 재활용 (Reverse Engineering)
- 재공학 : 재활용 (Migration : 이식)
- 재사용 : 재활용
- 재개발 : 재건축의 개념 (Restructuring) -> 3R에 포함되지 않음!!
관련기출)
15. 디자인 패턴을 이용한 소프트웨어 재사용으로 얻어지는 장점이 아닌 것은?
(1) 소프트웨어 코드의 품질을 향상 시킬 수 있다. : 이미 사용중 > 문제가 없음으로 사용중인것을 의미 > 향상될 수 있음
(2) 개발 프로세스를 무시할 수 있다.
(3) 개발자들 사이의 의사소통을 원활하게 사용 할 수 있다.
(4) 소프트웨어의 품질과 생상성을 향상시킬 수 있다.
(2020년 1회 정보처리기사 필기 기출문제)
37. 소프트웨어 재공학의 주요 활동 주 기존 소프트웨어 시스템을 새로운 기술 또는 하드웨어 환경에서 사용할 수 있도록
변환하는 작업을 의미하는 것은?
(1) Analysis : 통계 내는 것
(2) Migration
(3) Restructuring : 다시만듬 = 재개발
(4) Reverse Engineering :역공학(한 소스코드를 가지고 다른곳에있는 문서 추출)
(2022년 1회 정보처리기사 필기 기출문제)
14. 코드의 종류
- 순차코드(Sequence Code) : 일정한 기준에 따라 순서대로 일련번호 부여
- 완전 순차코드 : 일정 간격으로 비어있는 번호 부여
- 구분 코드(블록 코드 Block Code) : 공통적인 특징이 있는것끼리 블록구분, 각 블록에 번호를 부여한 코드
- 십진 분류 코드 (Decimal Classification Code): 10진으로 분류하고, 다시 10진으로 분류
- 그룹 분류 코드(Grop Classification Code) : 대분류,중분류, 소분류 등으로 구분 (블록코드를 더 체계화 한것)
- 표의 숫자 코드 (Significant Digit Code): 중량, 면적, 용량, 거리 등을 코드화
- 연상 코드 (Mnemocic Code): 코드 값을 보면 대상을 연상할 수 있는 코드
- 합성 코드 : 2개 이상의 코드를 조합해서 만든 코드
자세한 설명 참고
15.D.D (데이터 자료 사전) 작성 규칙
- = : 자료의 정의
- + : 자료의 연결
- ( ) : 자료의 생략
- [ | ] : 자료의 선택 (A이거나 B)
- { } : 자료의 반복
- ** : 자료의 설명