본문 바로가기
정보처리기사

정보처리기사- 1과목 소프트웨어 설계 . 1. 요구사항 확인-3. 분석모델 확인

by 파우르네 2024. 6. 10.
반응형

목차

     

     

     

     

    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

    반응형

    댓글