목차
1. 모델링 기법
<모델링 Modeling>
현실세계의 요구사항과 정보를 그래픽을 이용해 소프트웨어 구성요소로 표현
구조적 분석 기법, 객체 지향 분석 기법 으로 구분
<구조적 분석 기법>
1. 자료흐름도 (DFD_ Data Flow Diagram)
업무 및 요구 사항을 도형을 사용하여 표현 >> 사용자와 분석가 사이의 의사소통을 원활하게 도와줌.
• 하향식 분할의 원리를 적용 >> 다차원적으로 표현이 가능하다.
구성요소 | 내용 | 표기법 |
프로세스 (Process) | 입력된 데이터를 원하는 형태로 출력하기 위한 과정 | 원 |
데이터 흐름 (Data Flow) | 구성 요소들 간의 데이터 흐름 | 화살표 |
데이터 저장소 (Data Store) | 데이터가 저장된 장소 | 평행선 |
단말 (Terminator) | 시스템과 교신하는 외부 개체 | 사각형 |
2. 자료사전 (DD_Data Dictionary)
자료 흐름도에 나타나는 데이터의 흐름, 데이터 저장소 및 데이터 요소 등과 같은 데이터 항목을 약속된 기호를 사용하여 알아보기 쉽게 정의한 집합체이다.
기호 | 내용 |
= | 정의 |
+ | 구성 |
[ ] | 선택 |
{ } | 반복 |
( ) | 생략 |
* * | 설명(comment) |
3. 소단위 명세서(Mini Specification)
• 입력 자료를 출력 자료로 변환하기 위해 수행되어야 하는 정책이나 규칙을 구체적으로 기술하는 도구
• (= 프로세스 명세서)
4. 개체 관계도(E-R Diagram)
현실 세계에 존재하는 데이터와 그들 간의 관계를 사람이 이해할 수 있는 형태로 나타내는 도구
5. 상태 전이도(State Transition Diagram)
시스템에 사건이 발생 >> 시스템의 상태와 상태의 변화 표현
<객체 지향 분석기법 = 럼바우 모델링( Rumbaugh Modeling)>
• 사용자의 요구 사항을 분석 >> 클래스(객체), 속성과 연산, 그들 간의 관계 등을 정의하여 모델링
단계 | 산출물 | 내용 |
객체 모델링 (= 정보 모델링) (Object) |
객체 다이어그램 | - 객체를 찾고 속성과 연산 식별 및 객체들 간의 관계를 규정 - 시스템 구조를 파악 >> 추상화, 분류화, 일반화. 집단화를 다이어그램으로 표현 |
동적 모델링 | 상태 다이어그램 | - 시간의 흐름에 따른 객체 간의 제어 흐름, 상호작용, 동작 순서를 모델링 - 시간 흐름에 따른 객체 사이의 변화, 상태, 사건, 동작 |
기능 모델링 | 자료 흐름도(DFD) | 프로세스들 간의 자료 흐름을 정리하고 입력과 출력을 표현 |
<기출문제>
18. 소프트웨어 모델링과 관련한 설명으로 틀린 것은? (2022.04.24 기출)
① 모델링 작업의 결과물은 다른 모델링 작업에 영향을 줄 수 없다.
② 구조적 방법론에서는 DFD(Data Flow Diagram), DD(Data Dictionary) 등을 사용하여 요구 사항의 결과를 표현한다.
③ 객체지향 방법론에서는 UML 표기법을 사용한다.
④ 소프트웨어 모델을 사용할 경우 개발될 소프트웨어에 대한 이해도 및 이해 당사자 간의 의사소통 향상에 도움이 된다.
7. 소프트웨어 개발에 이용되는 모델(Model)에 대한 설명 중 거리가 먼 것은? (2022.03.15 기출)
① 모델은 개발 대상을 추상화하고 기호나 그림 등으로 시각적으로 표현한다.
② 모델을 통해 소프트웨어에 대한 이해도를 향상시킬 수 있다.
③ 모델을 통해 이해 당사자 간의 의사소통이 향상된다.
④ 모델을 통해 향후 개발될 시스템의 유추는 불가능하다.
6. 소프트웨어 공학에서 모델링 (Modeling)과 관련한 설명으로 틀린 것은? (2021.08.14 기출)
① 개발팀이 응용문제를 이해하는 데 도움을 줄 수 있다.
② 유지보수 단계에서만 모델링 기법을 활용한다.
③ 개발될 시스템에 대하여 여러 분야의 엔지니어들이 공통된 개념을 공유하는 데 도움을 준다.
④ 절차적인 프로그램을 위한 자료흐름도는 프로세스 위주의 모델링 방법이다.
6. 자료흐름도(DFD)의 각 요소별 표기 형태의 연결이 옳지 않은 것은? (2022.03.15 기출)
① Process : 원 ② Data Flow : 화살표
③ Data Store : 삼각형 ④ Terminator : 사각형
9. DFD(data flow diagram)에 대한 설명으로 틀린 것은? (2020.09.26 기출)
① 자료 흐름 그래프 또는 버블(bubble) 차트라고도 한다.
② 구조적 분석 기법에 이용된다.
③ 시간 흐름을 명확하게 표현할 수 있다.
④ DFD의 요소는 화살표, 원, 사각형, 직선(단선/이중선)으로 표시한다.
4. 데이터 흐름도(DFD)의 구성요소에 포함되지 않는 것은? (2020.06.06 기출)
① process ② data flow
③ data store ④ data dictionary
13. 다음 중 자료사전(Data Dictionary)에서 선택의 의미를 나타내는 것은? (2020.09.26 기출)
① [ ] ② { }
③ + ④ =
16. 자료 사전에서 자료의 반복을 의미하는 것은? (2020.08.22 기출)
① = ② ( )
③ { } ④ [ ]
8. 자료 사전에서 자료의 생략을 의미하는 기호는? (2020.06.06 기출)
① { } ② **
③ = ④ ( )
18. 자료흐름도(Data Flow Diagram)의 구성요소로 옳은 것은? (2020.08.22 기출)
① process, data flow, data store, comment
② process, data flow, data store, terminator
③ data flow, data store, terminator, data dictionary
④ process, data store, terminator, mini-spec
--------------------------
15. 럼바우(Rumbaugh)의 객체지향 분석 기법 중 자료 흐름도(DFD)를 주로 이용하는 것은? (2021.08.14 기출)
① 기능 모델링 ② 동적 모델링
③ 객체 모델링 ④ 정적 모델링
13. 럼바우(Rumbaugh)의 객체지향 분석에서 사용하는 분석 활동으로 옳은 것은? (2021.05.15 기출)
① 객체 모델링, 동적 모델링, 정적 모델링
② 객체 모델링, 동적 모델링, 기능 모델링
③ 동적 모델링, 기능 모델링, 정적 모델링
④ 정적 모델링, 객체 모델링, 기능 모델링
16. 럼바우(Rumbaugh) 분석기법에서 정보모델링이라고도 하며, 시스템에서 요구되는 객체를 찾아내어 속성과 연산 식별 및 객체들 간의 관계를 규정하여 다이어그램을 표시하는 모델링은? (2021.03.07 기출)
① Object ② Dynamic
③ Function ④ Static
2. 럼바우(Rumbaugh) 객체지향 분석 기법에서 동적 모델링에 활용되는 다이어그램은? (2020.09.26 기출)
① 객체 다이어그램(Object Diagram)
② 패키지 다이어그램(Package Diagram)
③ 상태 다이어그램(State Diagram)
④ 자료 흐름도(Data Flow Diagram)
10. 그래픽 표기법을 이용하여 소프트웨어 구성 요소를 모델링하는 럼바우 분석 기법에 포함되지 않는 것은? (2020.09.26 기출)
① 객체 모델링 ② 기능 모델링
③ 동적 모델링 ④ 블랙박스 분석 모델링
3. 럼바우 객체 지향 분석과 거리가 먼 것은? (2020.08.22 기출)
① 기능 모델링 ② 동적 모델링
③ 객체 모델링 ④ 정적 모델링
14. 럼바우(Rumbaugh)의 객체지향 분석 절차를 가장 바르게 나열한 것은? (2020.06.06 기출)
① 객체 모형→동적 모형→기능 모형
② 객체 모형→기능 모형→동적 모형
③ 기능 모형→동적 모형→객체 모형
④ 기능 모형→객체 모형→동적 모형
18. 객체지향 분석기법의 하나로 객체 모형, 동적 모형, 기능 모형의 3개 모형을 생성하는 방법은? (2022.03.15 기출)
① Wirfs-Block Method ② Rumbaugh Method
③ Booch Method ④ Jacobson Method
2. 분석자동화 도구
<분석 자동화>
- 요구사항 자동 분석 + 요구사항 분석명세서 자동 기술 개발 도구
- 특징
(1) 표준화
(2) 상호 조정
(3) 발견 용이성 ( 결함, 생략 불일치 발견 용이)
(4) 추적 용이 (변경 추적 용이)
(5) 비용 축소 (명세 유지보수 비용 축소)
<요구사항 분석 자동화 도구 CASE _Computer Aided Software Engineering >
• 소프트웨어 개발 과정 일부 또는 전체를 자동화하기 위한 도구로, 표준화된 개발환경 구축 및 문서 자동화 기능을 제공
• 소프트웨어 생명주기 전 과정(계획수립, 요구 분석, 설계, 개발, 유지보수)을 자동화할 수 있도록 지원하는 자동화 도구
• 작업 과정 및 데이터 공유를 통해 작업자 간의 커뮤니케이션을 증대시키고, 소프트웨어 부품 재사용성을 증가시켜 개발 과정의 속도를 향상시킨다.
- CASE 도구의 형태
내용 | |
상위 CASE | - SW 생명주기 전반인 시스템 계획, 요구 분석, 상위 설계 단계를 지원하며 문제를 기술, 오류 검증 - 다이어그래밍, 프로토타이핑, 설계 사전, 일관성 검증.. |
하위 CASE | - 상세 설계, 구현 및 코드 작성, 테스팅, 문서화 등을 지원 - 컴파일러, 링커, 로더, 디버거... |
통합 CASE | - SW 개발 주기 전체를 지원 - 상위와 하위 CASE의 기능 통합 |
- CASE 도구 종류
도구 | 내용 |
SADT | - Structured Analysis and Design Technique - Soft-tech사에서 개발 - 구조적 분석 및 설계 도구 - 구조적 요구 분석을 위한 블록 다이어그램 사용 |
SREM | - 실시간 처리 SW 시스템에서 요구 사항을 명확하게 하기 위한 도구 - TRW사가 우주 국방 시스템 실시간 처리 시스템에서 요구 사항을 명확히 기술하기 위해 개발한 도구 -RSL(Requirement Statement Language) : 요소, 속성, 관계, 구조들을 기술할 수 있는 요구 사항 기술 언어 - REVS(Requirement Engineering and Validation System) : RSL로 작성된 요구 사항을 자동으로 분석하여 분석 명세서 출력 |
PSL / PSA | - Problem Statement Language / Program Statement Analyzer - 미시건 대학에서 개발 - PSL : 문제(요구 사항) 기술 언어 - PSA : PSL로 작성된 요구 사항 자동 분석 |
TAGS | - Technology for Automated Generation of Systems - 시스템 공학 방법 응용에 대한 자동 접근법 - 개발 주기 전과정에서 이용할 수 있음 (동합 자동화 도구) -IORL : 요구 사항 명세 언어 |
<시스템 분석 자동화 도구 HIPO>
HIPO(Hierarchy Input Process Output)
• 시스템 분석, 설계, 문서화 시 사용되는 도구로 시스템 실행 과정인 입력, 처리, 출력의 기능을 나타낼 수 있다.
• 하향식 개발을 위한 가시적 도표(Virtual Table of Contents), 총체적 도표(Overview Diagram), 세부적 도표3가지로 구분
- 하향식 기법 (Top-Down)
설명
- 상위를 설계하고, 하위 방향으로 작성함
- 프로그램의 기능을 계층 구조로 도식화함
도구 | 설명 |
가시적 도표 (도식 목차) (Virtual Table of Contents) |
- 시스템의 전체적인 기능과 흐름 |
총체적 도표 (총괄 도표) (Overview Diagram) |
- 프로그램을 구성하는 기능 - 입력, 처리, 출력에 대한 전반적인 정보 |
세부적 도표 (상세 도표) (Detail Diagram) |
- 총체적 도표에 표시된 기능을 구성하는 기본 요소를 상세하게 서술 |
<기출문제>
10. CASE(Computer-Aided Software Engineering)의 원천 기술이 아닌 것은? (2021.05.15 기출 10)
① 구조적 기법 ② 프로토타이핑 기술
③ 정보 저장소 기술 ④ 일괄처리 기술
16. 다음 중 상위 CASE 도구가 지원하는 주요기능으로 볼 수 없는 것은? (2021.05.15 기출 16)
① 모델들 사이의 모순검사 기능
② 전체 소스코드 생성 기능
③ 모델의 오류검증 기능
④ 자료흐름도 작성 기능
11. CASE(Computer Aided Software Engineering)에 대한 설명으로 틀린 것은? (2021.03.07 기출 11)
① 소프트웨어 모듈의 재사용성이 향상된다.
② 자동화된 기법을 통해 소프트웨어 품질이 향상된다.
③ 소프트웨어 사용자들에게 사용 방법을 신속히 숙지시키기 위해 사용된다.
④ 소프트웨어 유지보수를 간편하게 수행할 수 있다.
3. CASE(Computer Aided Software Engineering)의 주요 기능으로 옳지 않은 것은? (2020.09.26 기출 3)
① S/W 라이프 사이클 전 단계의 연결 ② 그래픽 지원
③ 다양한 소프트웨어 개발 모형 지원 ④ 언어 번역
19. CASE(Computer-Aided Software Engineering)도구에 대한 설명으로 거리가 먼 것은? (2020.08.22 기출 19)
① 소프트웨어 개발 과정의 일부 또는 전체를 자동화하기 위한 도구이다.
② 표준화된 개발 환경 구축 및 문서 자동화 기능을 제공한다.
③ 작업 과정 및 데이터 공유를 통해 작업자간 커뮤니케이션을 증대한다.
④ 2000년대 이후 소개되었으며, 객체지향 시스템에 한해 효과적으로 활용된다.
17. CASE가 갖고 있는 주요 기능이 아닌 것은? (2020.06.06 기출 17)
① 그래픽 지원 ② 소프트웨어 생명주기 전 단계의 연결
③ 언어번역 ④ 다양한 소프트웨어 개발 모형 지원
----------------
19. HIPO(Hierarchy Input Process Output)에 대한 설명으로 거리가 먼 것은? (2020.06.06 기출 19)
① 상향식 소프트웨어 개발을 위한 문서화 도구이다.
② HIPO 차트 종류에는 가시적 도표, 총체적 도표, 세부적 도표가 있다.
③ 기능과 자료의 의존 관계를 동시에 표현할 수 있다.
④ 보기 쉽고 이해하기 쉽다.
3. 요구사항 관리 도구
1. 프로젝트 일정 관리
2. 정보 공유
3. 디자인
<기출문제>
X
'정보처리기사' 카테고리의 다른 글
정보처리기사- 1과목 소프트웨어 설계 . 2. 화면설계 (0) | 2024.06.12 |
---|---|
정보처리기사- 1과목 소프트웨어 설계 . 1. 요구사항 확인-2. 요구사항 확인 (1) | 2024.05.30 |
정보처리기사 - 1과목 소프트웨어 설계 . 1. 요구사항 확인-1. 현행 시스템 분석 (0) | 2024.05.30 |
5과목 정보시스템 구축관리 기출 분류 (0) | 2024.05.08 |
4과목 프로그래밍 언어 활용 기출 분류 (0) | 2024.05.08 |
댓글