정보처리기사 실기 문제 정리 - 1. 요구사항 확인

Cold Ui·2023년 7월 15일
0

정보처리기사 실기

목록 보기
1/12
post-thumbnail

1. 요구사항 확인

01. 소프트웨어 개발 방법론

기출 문제

  1. 애자일 방법론
    • 프로젝트 개발 기간 : 20개월
    • 계산식 : 30,000 / 300 = 100 , 100 / 5 = 20
  2. 1) Functional
    2) Dynamic
    3) Information
  3. ISP 인터페이스 분리의 원칙(Interface Segregation Principle)

예상 문제

  1. 소프트웨어 생명주기 모델이란 시스템의 요구분석부터 유지보수까지 전 공정을 체계화한 절차이다.
  2. 구현 단계 설계 단계
  3. 폭포수 모델
  4. 구조적 방법론
  5. TDD(테스트 기반 개발, Test Driven Development)란 작성해야 하는 프로그램에 대한 테스트를 먼저 수행하고, 이 테스트를 통과할 수 있도록 실제 프로그램의 코드를 작성한다는 원리이다.
  6. 지속적인 통합(CI)
  7. 스크럼
  8. 델파이 기법(Delphi Method)이란 전문가의 경험적 지식을 통한 문제 해결 및 미래 예측을 위한 기법이다.
  9. 기능점수(FP) : 요구 기능을 증가시키는 인자별로 가중치를 부여하고, 요인별 가중치를 합산하여 총 기능 점수를 계산하여 비용을 산정하는 방식
  10. PERT : 일의 순서를 계획적으로 정리하기 위한 수렴 기법으로 비관치, 중간치, 낙관치의 3점 추정방식을 통해 일정을 관리하는 기법
  11. 14일
  12. Man Month : 50,000 / 250 = 200

02. 현행 시스템 분석

기출 문제

  1. Observer
    • 한 객체의 상태가 바뀌면 그 객체에 의존하는 다른 객체들한테 연락이 가고 자동으로 내용이 갱신되는 방법으로 일대 다의 의존성을 가지며 상호 작용하는 객체 사이에서는 가능하면 느슨하게 결합하는 디자인 패턴
  2. 안드로이드
  3. 행위
    목적에 따른 디자인 패턴의 유형에는 생성, 구조, (    ) 가 있다.
    -> 이를 먹으면 복해진다.
  4. Factory Method
    • 팩토리 메서드 패턴은 상위 클래스에서 객체를 생성하는 인터페이스를 정의하고, 하위 클래스에서 인스턴스를 생성하도록 하는 방식으로, 상위 클래스에서는 인스턴스를 만드는 방법만 결정하고, 하위 클래스에서 그 데이터의 생성을 책임지고 조작하는 함수들을 오버라이딩하여 인터페이스와 실제 객체를 생성하는 클래스를 분리할 수 있는 특성을 갖는 디자인 패턴이다.
    • Factory Method 패턴은 생성할 객체의 클래스를 국한하지 않고 객체를 생성한다.
  5. 행위
    • 반복적으로 사용되는 객체들의 상호 작용을 패턴화한 것으로 클래스나 객체들이 상호 작용하는 방법, 알고리즘 등과 관련된 패턴은 행위(Behavioral) 패턴이다.
    • 행위 패턴에는 Mediator, Interpreter, Iterator, Template Method, Observer, State, Visitor, Command, Strategy, Memento, Chain of Responsibility가 있다.
  6. 1) Bridge (브릿지)
    • 브릿지 패턴은 기능의 클래스 계층과 구현의 클래스 계층을 연결하고, 구현부에서 추상 계층을 분리하여 추상화된 부분과 실제 구현 부분을 독립적으로 확장할 수 있는 디자인 패턴 (구조 패턴)
    2) Observer (옵저버)
    • 한 객체의 상태가 바뀌면 그 객체에 의존하는 다른 객체들한테 연락이 가고 자동으로 내용이 갱신되는 방법으로 일대 다의 의존성을 가지며 상호 작용하는 객체 사이에서는 가능하면 느슨하게 결합하는 디자인 패턴 (행위 패턴)

예상 문제

  1. 소프트웨어 아키텍처란 여러 가지 소프트웨어 구성요소와 그 구성요소가 가진 특성 중에서 외부에 드러나는 특성, 그리고 구성요소 간의 관계를 표현하는 시스템의 구조나 구조체이다.
  2. 프로세스 뷰
    • 시스템의 비기능적인 속성으로서 자원의 효율적인 사용, 병행 실행, 비동기, 이벤트 처리 등을 표현한 뷰
    • 개발자, 시스템 통합자 관점
  3. 계층화 패턴 (Layered Pattern)
    • 시스템을 계층으로 구분하여 구성하는 패턴
    • 서로 마주 보는 두 개의 계층 사이에서만 상호 작용이 이루어짐
  4. MVC 패턴이란 대화형 애플리케이션을 모델, 뷰, 컨트롤러 3개의 서브 시스템으로 구조화하는 패턴
  5. 디자인 패턴이란 소프트웨어 공학의 소프트웨어 설계에서 공통으로 발생하는 문제에 대해 자주 쓰이는 설계 방법을 정리한 패턴이다.
  6. 싱글톤 패턴 (Singleton Pattern)
    • 전역 변수를 사용하지 않고 객체를 하나만 생성하도록 하며, 생성된 객체를 어디에서든지 참조 할 수 있도록 하는 디자인 패턴
  7. 팩토리 메소드 (Factory Method)
    • 상위 클래스에서 객체를 생성하는 인터페이스를 정의하고, 하위 클래스에서 인스턴스를 생성하도록 하는 방식으로, 상위 클래스에서는 인스턴스를 만드는 방법만 결정하고, 하위 클래스에서 그 데이터의 생성을 책임지고 조작하는 함수들을 오버라이딩하여 인터페이스와 실제 객체를 생성하는 클래스를 분리할 수 있는 특성을 갖는 디자인 패턴
  8. 전략 패턴 (Strategy Pattern)
    • 알고리즘 군을 정의하고(추상 클래스) 같은 알고리즘을 각각 하나의 클래스로 캡슐화한 다음, 필요할 때 서로 교환해서 사용할 수 있게 하는 패턴으로, 행위를 클래스로 캡슐화해 동적으로 행위를 자유롭게 바꿀 수 있게 해주는 디자인 패턴
  9. 템플릿 메서드 (Template Method)
    • 어떤 작업을 처리하는 일부분을 서브 클래스로 캡슐화해 전체 일을 수행하는 구조는 바꾸지 않으면서 특정 단계에서 수행하는 내역을 바꾸는 패턴으로 일반적으로 상위 클래스(추상 클래스)에는 추상 메서드를 통해 기능의 골격을 제공하고, 하위 클래스(구체 클래스)의 메서드에는 세부 처리를 구체화하는 방식으로 사용하며 코드 양을 줄이고 유지보수를 용이하게 만드는 특징을 갖는 디자인 패턴
  10. Adapter
    • 기존에 생성된 클래스를 재사용할 수 있도록 중간에서 맞춰주는 역할을 하는 인터페이스를 만드는 패턴으로, 상속을 이용하는 클래스 패턴과 위임을 이용하는 인스턴스 패턴의 두 가지 형태로 사용되는 디자인 패턴
    • 인터페이스가 호환되지 않는 클래스들을 함께 이용할 수 있도록 타 클래스의 인터페이스를 기존 인터페이스에 덧씌움
  11. 행위 패턴

03. 요구사항 확인

기출 문제

  1. 1) 기능
    2) 비기능

예상 문제

  1. 요구공학은 사용자의 요구가 반영된 시스템을 개발하기 위하여 사용자 요구사항에 대한 도출, 분석, 명세, 확인 및 검증하는 구조화된 활동이다.
  • 기능적 요구사항: 1, 3
  • 비기능적 요구사항: 2, 4
  1. 요구사항 도출
    • 소프트웨어가 해결해야 할 문제를 이해하고, 고객으로부터 제시되는 추상적 요구에 대해 관련 정보를 식별하고 수집 방법 결정, 수집된 요구사항을 구체적으로 표현하는 단계
  2. 브레인스토밍
  3. 비정형 명세 기법
    • 사용자의 요구를 표현할 때 자연어를 기반으로 서술하는 기법
  4. 요구사항 정의서 요구사항 명세서
    • 소프트웨어 개발 프로세스의 시작인 소프트웨어의 요구사항을 분석하고 정의하는 단계에서 작성되는 최종 산출물이 요구사항 명세서(요구사항 정의서)
  5. 델파이 기법 인스펙션
    • 소프트웨어 요구, 설계, 원시 코드 등의 저작자 외의 다른 전문가 또는 팀이 검사하여 문제를 식별하고 문제에 대한 올바른 해결을 찾아내는 형식적인 검토 기법은 인스펙션이다.
  6. 형상통제 위원회란 형상 관리에 대한 주요 방침을 정하고 산출물을 검토하며, 단계별 의사결정을 수행하는 조직이다.

단원 종합 문제

  1. 소프트웨어 생명주기 모델이란 소프트웨어 개발을 할 때 생명주기를 기반으로 모델을 설계하고 분석하며 사용자가 원하는 요구사항을 적절히 입력시키며 소프트웨어를 개발하는 모델이다.
    소프트웨어 생명주기 모델이란 시스템의 요구분석부터 유지보수까지 전 공정을 체계화한 절차이다.
  2. 유지보수
    • 시스템이 인수되고 설치된 후 일어나는 모든 활동 단계
  3. 나선형 모델
    • 시스템 개발 시 위험을 최소화하기 위해 점진적으로 완벽한 시스템으로 개발해 나가는 모델
    • 계획 및 정의 -> 위험 분석 -> 개발 -> 고객 평가
  4. 정보공학 방법론
    • 정보시스템 개발에 필요한 관리 절차와 작업 기법을 체계화한 방법론
    • 개발주기를 이용해 대형 프로젝트를 수행하는 체계적인 방법론
  5. 짝 프로그래밍이란 개발자 둘이서 짝을 이뤄 개발하는 것을 말한다.
  6. 메타포어
    • 공통적인 이름 체계와 시스템 서술서를 통해 고객과 개발자 간의 의사소통을 원활하게 한다는 원리
  7. 린 방법론
    • 도요타의 린 시스템 품질기법을 소프트웨어 개발 프로세스에 적용해서 낭비 요소를 제거하여 품질을 향상시킨 방법론
  8. Man Month란 한달 동안 개발자 한명이 개발할 수 있는 코드의 양을 의미한다. 한 사람이 1개월 동안 할 수 있는 일의 양을 기준으로 프로젝트 비용을 산정하는 방식이다.
  9. 주 공정법(CPM)
    • 여러 작업들의 수행 순서가 얽혀 있는 프로젝트의 일정을 계산하는 기법
  10. 프로젝트 개발 기간 : 8개월
    계산식 : Man Month = LoC / 개발자 월평균 라인 = 10,000 / 250 = 40
    40개월 / 5명 = 8개월
  11. IEEE 소프트웨어 아키텍처 프레임워크
    • 소프트웨어 집약적인 시스템에서 아키텍처가 표현해야 하는 내용 및 이들 간의 관계를 제공하는 아케텍처 기술 표준
  12. 논리 뷰
    • 시스템의 기능적인 요구사항이 어떻게 제공되는지 설명 해주는 뷰
    • 설계자, 개발자 관점
  13. 소프트웨어 아키텍처 패턴이란 소프트웨어를 개발할 때 어떤 패턴으로 설계하고 구현할 지 정하는 과정이다. 소프트웨어를 설계할 때 참조할 수 있는 전형적인 해결 방식이다.
  14. 파이프-필터 패턴
    • 데이터 스트림을 생성하고 처리하는 시스템에서 사용 가능한 패턴
    • 서브 시스템이 입력 데이터를 받아 처리하고, 결과를 다음 서브 시스템으로 넘겨주는 과정을 반복
  15. SAAM
    • 변경 용이성과 가능성에 집중, 평가가 용이하여 경험이 없는 조직에서도 활용 가능한 비용 평가 모델
  16. 빌더(Builder) 패턴
    • 복잡한 인스턴스를 조립하여 만드는 구조로, 복합 객체를 생성할 때 객체를 생성하는 방법(과정)과 객체를 구현(표현)하는 방법을 분리함으로써 동일한 생성 절차에서 서로 다른 표현 결과를 만들 수 있는 디자인 패턴
  17. Factory Method (팩토리 메서드)
    • 상위 클래스에서 객체를 생성하는 인터페이스를 정의하고, 하위 클래스에서 인스턴스를 생성하도록 하는 방식으로, 상위 클래스에서는 인스턴스를 만드는 방법만 결정하고, 하위 클래스에서 그 데이터의 생성을 책임지고 조작하는 함수들을 오버라이딩하여 인터페이스와 실제 객체를 생성하는 클래스를 분리할 수 있는 특성을 갖는 디자인 패턴
  18. 요구공학
    • 사용자의 요구가 반영된 시스템을 개발하기 위하여 사용자 요구사항에 대한 도출, 분석, 명세, 확인 및 검증하는 구조화된 활동
  • 기능적 요구사항 : 1, 4
  • 비기능적 요구사항 : 2, 3
  1. 1) 요구사항 도출
    2) 요구사항 명세
  2. 롤 플레잉
    • 현실에 일어나는 장면을 설정하고 여러 사람이 각자가 맡은 역을 연기함으로써 요구사항을 분석하고 수집하는 방법
  3. 델파이 기법이란 전문가의 경험을 통해 요구사항을 도출을 도와주는 기법이다. 전문가의 경험적 지식을 통한 문제 해결 및 미래예측을 위한 방법이다.
  4. 인터뷰
    • 이해관계자와 직접 대화를 통해 정보를 구하는 공식적, 비공식적 정보 수집 방법
  5. 정형 명세 기법
    • 요구사항 명세 단계에서 사용자의 요구를 표현할 때 수학적인 원리와 표기법으로 서술하는 기법
  6. 워크스루
    • 검토 자료를 회의 전에 배포해서 사전 검토한 후 짧은 시간 동안 회의를 진행하는 형태로 리뷰를 통해 문제 식별, 대안 조사, 개선 활동, 학습 기회를 제공하는 가장 비형식적인 검토 기법
profile
안녕하세요. 차니의 개발 블로그 입니다!

0개의 댓글