소프트웨어 생명주기(SDLC) 모델에 대해서 서술하시오
👉시스템의 요구분석부터 유지보수까지 전 공정을 체계화한 절차이다
소프트웨어 생명주기 모델 중에서 시스템 명세 단계에서 정의한 기능을 실제 수행할 수 있도록 수행 방법을 논리적으로 결정하는 단계는 무엇인가?
👉설계 단계
소프트웨어 개발 시 각 단계를 확실히 마무리 지은 후에 다음 단계로 넘어가는 모델은 무엇인가?
👉폭포수 모델(Waterfall Model)
전체 시스템을 기능에 따라 나누어 개발하고, 이를 통합하는 분할과 정복 접근 방식의 방법론은 무엇인가?
👉구조적 방법론
TDD(Test Driven Development)에 대해서 서술하시오
👉작성해야 하는 프로그램에 대한 테스트를 먼저 수행하고, 이 테스트를 통과할 수 있도록 실제 프로그램의 코드를 작성한다는 원리이다
XP 12가지 가치 중 매일 여러 번씩 소프트웨어를 통합하고 빌드해야 한다는 원리는 무엇인가?
👉지속적인 통합(CI)
애자일 방법론 중에서 매일 정해진 시간, 장소에서 짧은 시간의 개발을 하는 팀을 위한 프로젝트 관리 중심 방법론은 무엇인가?
👉스크럼
델파이 기법(Delphi Method)에 대해서 서술하시오
👉전문가의 경험적 지식을 통한 문제 해결 및 미래 예측을 위한 기법이다
요구 기능을 증가시키는 인자별로 가중치를 부여하고, 요인별 가중치를 합산하여 총 기능 점수를 계산하여 비용을 산정하는 방식은 무엇인가?
👉기능 점수(FP)
일의 순서를 계획적으로 정리하기 위한 수렴 기법으로 비관치, 중간치, 낙관치의 3점 추정방식을 통해 일정을 관리하는 기법은 무엇인가?
👉PERT
LoC가 50,000라인이고, 개발자가 10명이며, 개발자는 월평균 250라인을 개발한다. 이때 Man Month를 구하시오
👉200 Man Month
소프트웨어 아키텍처에 대해서 서술하시오
👉소프트웨어 아키텍처는 여러 가지 소프트웨어 구성요소와 그 구성요소가 가진 특성 중에서 외부에 드러나는 특성, 그리고 구성요소 간의 관계를 표현하는 시스템의 구조나 구조체이다
4+1뷰 중 다음 설명에 해당하는 뷰가 무엇인지 쓰시오
- 시스템의 비기능적인 속성으로서 자원의 효율적인 사용, 병행 실행, 비동기, 이벤트 처리 등을 표현한뷰
- 개발자, 시스템 통합자 관점
👉프로세스 뷰(Process View)
시스템을 계층(Layer)으로 구분하여 구성하는 패턴으로 서로 마주 보는 두 개의 계층 사이에서만 상호 작용이 이루어지는 패턴은 무엇인가?
👉계층화 패턴(Layered Pattern)
MVC 패턴에 대해서 서술하시오
👉대화형 애플리케이션을 모델, 뷰, 컨트롤러 3개의 서브 시스템으로 구조화하는 패턴이다
디자인 패턴에 대해서 서술하시오
👉소프트웨어 공학의 소프트웨어 설계에서 공통으로 발생하는 문제에 대해 자주 쓰이는 설계 방법을 정리한 패턴이다
전역 변수를 사용하지 않고 객체를 하나만 생성하도록하며, 생성된 객체를 어디에서든지 참조할 수 있도록하고, 한 클래스에 한 객체만 존재하도록 제한하는 디자인 패턴은 무엇인가?
👉싱글톤(Singleton) 패턴
상위 클래스에서 객체를 생성하는 인터페이스를 정의하고, 하위 클래스에서 인스턴스를 생성하도록 하는 방식으로, 상위 클래스에서는 인스턴스를 만드는 방법만 결정하고, 하위 클래스에서 그 데이터의 생성을 책임지고 조작하는 함수들을 오버라이딩하여 인터페이스와 실제 객체를 생성하는 클래스를 분리할 수 있는 특성을 갖는 디자인 패턴은 무엇인가?
👉팩토리 메서드(Factory Method) 패턴
알고리즘 군을 정의하고(추상 클래스)같은 알고리즘을 각각 하나의 클래스로 캡슐화한 다음, 필요할 때 서로 교환해서 사용할 수 있게 하는 패턴으로, 행위를 클래스로 캡슐화해 동적으로 행위를 자유롭게 바꿀 수 있게 해주는 디자인 패턴은 무엇인가?
👉전략(Strategy) 패턴
어떤 작업을 처리하는 일부분을 서브 클래스로 캡슐화해 전체 일을 수행하는 구조는 바꾸지 않으면서 특정 단계에서 수행하는 내역을 바꾸는 패턴으로 일반적으로 상위 클래스(추상 클래스)에는 추상 메서드를 통해 기능의 골격을 제공하고, 하위 클래스(구체 클래스)의 메서드에는 세부 처리를 구체화하는 방식으로 사용하며 코드 양을 줄이고 유지보수를 용이하게 만드는 특징을 갖는 디자인 패턴은 무엇인가?
👉템플릿(Template) 패턴
다음 설명에 해당하는 디자인 패턴을 쓰시오
- 기존에 생성된 클래스를 재사용할 수 있도록 중간에서 맞춰주는 역할을 하는 인터페이스를 만드는 패턴으로, 상속을 이용하는 클래스 패턴과 위임을 이용하는 인스턴스 패턴의 두 가지 형태로 사용되는 디자인 패턴
- 인터페이스가 호환되지 않는 클래스들을 함께 이용할 수 있도록 타 클래스의 인터페이스를 기존 인터페이스에 덧 씌움
👉Adapter
Template, Method, State, Observer 패턴이 포함된 디자인 패턴의 종류는 무엇인지 쓰시오
👉 행위 패턴
요구공학에 대해서 서술하시오
👉사용자의 요구가 반영된 시스템을 개발하기 위하여 사용자 요구사항에 대한 도출, 분석, 명세, 확인 및 검증하는 구조화된 활동이다
요구사항 개발 단계 중에서 소프트웨어가 해결해야 할 문제를 이해하고, 고객으로부터 제시되는 추상적 요구에 대해 관련 정보를 식별하고, 수집 방법 결정, 수집된 요구사항을 구체적으로 표현하는 단계는 무엇인가?
👉요구사항 도출
말을 꺼내기 쉬운 분위기로 만들어, 회의 참석자들이 내놓은 아이디어들을 비판 없이 수용할 수 있도록 하는 회의는 무엇인가?
👉브레인스토밍(Brainstorming)
요구사항 명세 단계에서 사용자의 요구를 표현할 때 자연어를 기반으로 서술하는 기법은 무엇인가?
👉비정형 명세 기법
소프트웨어 개발 프로세스의 시작인 소프트웨어의 요구사항을 분석하고 정의하는 단계에서 작성되는 최종 산출물은 무엇인가?
👉요구사항 명세서
소프트웨어 요구, 설계, 원시 코드 등의 저작자 외의 다른 전문가 또는 팀이 검사하여 문제를 식별하고 문제에 대한 올바른 해결을 찾아내는 형식적인 검토 기법은 무엇인가?
👉인스펙션
형상통제 위원회(Configuration Control Board)에 대해서 서술하시오
👉형상 관리에 대한 주요 방침을 정하고 산출물을 검토하며, 단계별 의사결정을 수행하는 조직이다
분석 모델 검증 방법 중 유스케이스 모델 검증 방법에 대해 서술하시오
👉유스케이스 모델 검증 방법은 시스템 기능에 대한 유스케이스 모형 상세화 수준 및 적정성 검증을 위해서 액터, 유스케이스, 유스케이스 명세서를 점검하는 기법이다
다음에서 설명하는 분석 모델의 기술적 타당성 검토 항목을 쓰시오
- 요구사항을 만족시키기 위한 분석 모델에 따라 시스템을 구현할 때 요구되는 시스템의 자원 식별
- 분석 클래스에서 불필요하고 지나치게 많은 속성들을 포함시키게 되면 객체 생성 시 시스템의 메모리 자원이 많이 요구되며, 전체 시스템의 성능 저하 발생
👉성능 및 용량 산정의 적정성
시스템이 인수되고 설치된 후 일어나는 모든 활동 단계는 무엇인가?
👉유지보수 단계
시스템 개발 시 위험을 최소화하기 위해 점진적으로 완벽한 시스템으로 개발해 나가는 모델은 무엇인가?
👉나선형 모델(Spiral Model)
정보시스템 개발에 필요한 관리 절차와 작업 기벌을 체계화한 방법론은 무엇인가?
👉정보공학 방법론
짝 프로그래밍(Pair Programming)에 대해서 서술하시오
👉개발자 둘이서 짝으로 코딩하는 원리이다
XP 12가지 가치 중 공통적인 이름 체계와 시스템 서술서를 통해 고객과 개발자 간의 의사소통을 원활하게 한다는 원리는 무엇인가?
👉메타포어(Metaphor)
도요타의 시스템 품질기법을 소프트웨어 개발 프로세스에 적용해서 낭비 요소를 제거하여 품질을 향상시킨 방법론은 무엇인가?
👉린 방법론
Man Month에 대해서 서술하시오
👉한 사람이 1개월 동안 할 수 있는 일의 양을 기준으로 프로젝트 비용을 산정하는 방식
여러 작업들의 수행 순서가 얽혀 있는 프로젝트의 일정을 계산하는 기법은 무엇인가?
👉주 공정법(CPM)
소프트웨어 집약적인 시스템에서 아키텍처가 표현해야하는 내용 및 이들 간의 관계를 제공하는 아키텍처 기술 표준은 무엇인가?
👉소프트웨어 아키텍처 프레임워크
4+1뷰 중 다음 설명에 해당하는 뷰가 무엇인지 쓰시오
- 시스템의 기능적인 요구사항이 어떻게 제공되는지 설명해주는 뷰
- 설계자, 개발자 관점
👉논리 뷰(Logical View)
소프트웨어 아키텍처 패턴(Software Architecture Pattern)에 대해 서술하시오
👉소프트웨어를 설계할 때 참조할 수 있는 전형적인 해결 방식이다
데이터 스트림을 생성하고 처리하는 시스템에서 사용 가능한 패턴은 무엇인가?
👉파이프-필터 패턴(Pipe-Filter Pattern)
변경 용이성과 기능성에 집중, 평가가 용이하여 경험이 없는 조직에서도 활용 가능한 비용 평가 모델은 무엇인가?
👉SAAM
복잡한 인스턴스를 조립하여 만드는 구조로, 복합 객체를 생성할 때 객체를 구현(표현)하는 방법을 분리함으로써 동일한 생성 절차에서 서로 다른 표현 결과를 만들 수 있는 디자인 패턴은 무엇인가?
👉빌더(Builder) 패턴
상위 클래스에서 객체를 생성하는 인터페이스를 정의하고, 하위 클래스에서 인스턴스를 생성하도록 하는 방식으로, 상위 클래스에서는 인스턴스를 만드는 방법만 결정하고, 하위 클래스에서 그 데이터의 생성을 책임지고 조작하는 함수들을 오버라이딩하여 인터페이스와 실제 객체를 생성하는 클래스를 분리할 수 있는 특성을 갖는 디자인 패턴은 무엇인가?
👉팩토리 메서드(Factory Method) 패턴
사용자의 요구가 반영된 시스템을 개발하기 위하여 사용자 요구사항에 대한 도출, 분석, 명세, 확인 및 검증하는 구조화된 활동은 무엇인가?
👉요구공학
현실에 일어나는 장면을 설정하고 여러 사람이 각자가 맡은 역을 연기함으로써 요구사항을 분석하고 수집하는 방법은 무엇인가?
👉롤 플레잉(Role Playing)
이해관계자와 직접 대화를 통해 정보를 구하는 공식적, 비공식적 정보 수집 방법은 무엇인가?
👉인터뷰(Interview)
요구사항 명세 단계에서 사용자의 요구를 표현할 때 수학적인 원리와 표기법으로 서술하는 기법은 무엇인가?
👉정형 명세 기법
검토 자료를 회의 전에 배포해서 사전 검토한 후 짧은 시간 동안 회의를 진행하는 형태로 리뷰를 통해 문제 식별, 대안 조사, 개선 활동, 학습 기회를 제공하는 가장 비형식적인 검토 기법은 무엇인가?
👉워크스루