ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 정보처리기사 필기 기출문제 2018-2 - 소프트웨어공학
    정보처리기사 2020. 4. 10. 17:07

    HIPO(Hierarchical Input Process Output)

     

    Input - Process -Output 으로 이루어진 모듈을 계층적으로 나타낸 도표이다.

    • 시스템 분석 및 설계 도구나 문서화에 사용되는 기법이다.
    • 기본 시스템 모델은 입력+처리+출력으로 구성된다.
    • 하향식 개발에 해당한다.
    • 문서를 보기 좋게 체계화한다.
    • 기능과 자료의 관계를 동시에 표현할 수 있다.
    • 수정 및 유지보수 시 용이하다.
    • 소규모 프로젝트에 적절하다
    • 구조도, 개요 도표 집합, 상세 도표 집합으로 구성된다.
    • 기능과 자료의 의존관계를 동시에 표현할 수 있다.
    • 보기 쉽고 이해하기 쉽다.

    하향식 통합 검사(Top Down Integration Test)

    :상위 모듈에서 하위 모듈 방향으로 통합하며 검사.

    • 시스템구조의 위층에 있는 모듈부터 아래층의 모듈로 내려오면서 통합한다.
    • 일반적으로 스터브를 드라이버보다 쉽게 작성할 수 있다.
    • 상위층에서 검사사례(test case)를 쓰기가 어렵다.
    • 검사초기에 시스템 구조를 사용자에게 보여줄 수 있다.
    • 주요 제어 모듈을 드라이버로 사용. 주요 제어 모듈의 종속 모듈은 스터브(stub)로 대체.
    • 깊이우선, 넓이 우선방식에 따라 종속 스터브들이 실제 모듈로 교체.
    • 모듈이 통합될 때마다 검사 실시
    • 새로운 오류가 생기지 않음을 보증하기 위해 회귀 검사 실시.
    • *드라이버: 검사자료 입출력 제어 프로그램
    • *스터브 : 임시 제공되는 가짜 모듈

    소프트웨어 품질 목표

    소프트웨어 운영 특성

    • Usability (사용 용이성) : 쉽게 배우고 사용할 수 있는정도
    • Reliability (신뢰성) : 정확하고 일관된 결과를 얻기 위해 요구된 기능을 오류 없이 수행하는 정도.
    • Integrity (무결성) : 허용되지 않는 사용이나 자료 변경을 제어하는 정도
    • Effeciency (효율성) : 요구되는 기능을 수해하기 위해 필요한 자원의 소요 정도.
    • Correctness(정확성) : 사용자의 요구 기능을 충족시키는 정도

    소프트웨어 변경 수용 능력

    • Maintainability (유지보수성) : 변경 및 오류 사항의 교정에 대한 노력을 최소화하는 정도
    • Flexbility (유연성) : 소프트웨어를 얼마만큼 쉽게 수정할 수 있는가 하는 정도
    • Testablility (시험 역량) : 의도된 기능이 수행되도록 보장하기 이해 프로그램을 시험할 수 있는 정도

    소프트웨어 적응 능력 

    • Portability((이식성) : 다양한 하드웨어 환경에서도 운용 가능하도록 쉽게 수정될 수 있는 정도
    • Reusability(재사용성)
    • Interopearability(상호운용성) :다른소프트웨어와 정보를 교환할 수 있는 정도

    럼바우 분석기법, 럼바우 객체 모델링 기법,

    소프트웨어 구성 요소를 그래픽 표기법을 이용하여 모델링하는 객체지향 분석 기법

    1. 객체모델링

    - 객체 다이어그램을 이용.

    - 시스템에서 요구되는 객체를 찾아내어 속성과 연산 식별 및 객체들 간의 관계를 규정

    2. 동적모델링

     - 상태도를 이용.

     - 시간흐름에 따른 객체들 사이의 제어 흐름, 상호 작용, 동작 순서 등의 동적인 행위를 표현.

    3. 기능모델링
     - 자료흐름도 이용

     - 다수의 프로세스들 간의 자료 흐름을 중심으로 처리과정을 표현

     - 어떤 데이터를 입력하면 어떤 결과를 구현할 것인지 표현.


    NS(Nassi-Schneiderman) 차트

    논리의 기술에 중점을 둔 도형식 표현방법이다.

    연속, 선택 및 다중 선택, 반복 등의 제어 논리 구조로 표현한다.

    조건이 복합되어 있는 곳의 처리를 시각적으로 명확히 식별하는데 적합하다.

     

    • 논리의 기술에 중점을 둔 도형을 이용한 표현 방법이다.
    • 그리기가 어렵다.(전문성이 있어야 잘 그린다)
    • 순차, 선택, 반복으로 표현한다.
    • 임의의 제어 이동이 어렵다.
      • goto구조가 어렵다.
    • 그래픽 설계 도구이다.
    • 상자 도표라고도 한다 (화살표로 표현 x)
    • 프로그램으로 구현이 쉽다.
    • 조건이 복합되어 있는 곳의 처리를 명확히 식별하기에 적합하다.
      • if문이 여러개일 때 가능

     

     

     

     

     


     

    비용 예측을 위한 기능 점수 방법

    - 입력, 출력, 질의, 파일, 인터페이스의 개수로 소프트웨어 규모를 표현한다.(o)

    - 경험을 바탕으로 단순, 보통 복잡한 정도에 따라 가중치를 부여한다.(o)

    - 프로젝트의 영향도와 가중치의 합을 이용하여 실질 기능점수를 계산한다.(o)

    - 기능점수는 원시코드의 구현에 허용되는 프로그래밍 언어에 종속적이다 (x)

     

     


    CASE : Computer Aided Software Engineering

    소프트웨어 공학의 여러 작업을 자동화하는 도구

    소프트웨어 부품의 재사용성을 향상시켜준다.

    소프트웨어 품질과 일관성을 효율적으로 관리할 수 있다.

    소프트웨어 생명주기의 모든 단계를 연결시켜 주고 자동시켜준다.

    소프트웨어의 유지보수를 용이하게 수행

    여러 작업을 자동화함.

    문서화 및 명세화를 위한 그래픽 기능 제공

    데이터흐름, 비즈니스 프로세스 등 다이어그램 쉽게 작성하도록 해줌.

     

    정보저장소

    • 도구들과 생명주기 활동, 사용자들, 응용 소프트웨어들 사이의 통신과 소프트웨어 시스템 정보의 공유 향상
    • 도구들의 통합, 소프트웨어 시스템의 표준화, 소프트웨어 시스템 정보의 공유, 소프트웨어 재사용성의 기본
    • 초기의 소프트웨어 개발 환경에서는 사람이 정보저장소 역할을 했지만 오늘날에는 데이터베이스가 정보저장소 역할을 담당
    • 소프트웨어 시스템 구성 요소들과 시스템 정보가 정보저장소에 의해 관리되므로 소프트웨어 시스템의 유지보수가 용이해짐

     


    블랙박스 테스트

     

    동치 분할 테스트

    (Equivalence Partitioning Test)

    프로그램의 입력 데이터를 여러 분류로 나누어 검사
    경계값 분석

    (Boundary Value Analysis)

    입력값의 경계값을 중심으로 예외 발생 검사
    원인-효과 그래프 기법

    (Cause-effect Graphing)

    입력데이터 간의 관계, 출력에 미치는 영향의 분석 그래프 이용
    오류 예측 검사

    (Fault Based Testing)

    테스터의 감각이나 경험, 지식을 통해 에러케이스를 예측
    비교 검사

    (Comparison Testing)

    테스트 대상과 비교 대상 프로그램에 같은 입력값을 넣어 데이터를 비

     

    화이트박스 테스트

    • 제품 내부의 요소들이 명세서에 따라 수행되고 충분히 실행되는가를 보장하기 위한 검사이다.
    • 모듈 안의 작동을 직접관찰한다
    • 프로그램 원시 코드의 논리적인 구조를 커버하도록 테스트 케이스를 설계한다.
    • 기초 경로 검사(Basic Path Testing)
      • Tom McCabe가 제안한 대표적인 화이트 박스 테스트 기법
      • 수행 가능한 모든 경로 검사
    • 조건 검사(Condition Testing)
      • 프로그램의 조건문에 초점을 맞추어 검사
    • 루프 검사(Loop Testing)
      • 프로그램의 반복 구조에 초점을 맞추어 검사
    • 데이터 흐름 검사(Data Flow Testing)
      • 프로그램에서 변수의 정의와 변수 사용의 위치에 초점을 맞추어 검사

     

     

    문제은행 기출문제

    각종IT시험, 공인중개사 등 답있는 기출문제 시험 자격증 족보

    q.fran.kr

     

     

Designed by Tistory.