-
[ 정보 처리 기사 실기 ] 1과목 01. 소프트웨어 개발 방법론 문제 풀이Certification 2023. 6. 20. 18:48
1. 절차보다는 사람이 중심이 되어 변화에 유연하고 신속하게 적응하면서 효율적으로 시스템을 개발할 수 있는 신속 적응적 경량 개발 방법론으로, 개발 기간이 짧고 신속하며, 웥폴에 대비되는 방법론으로 최근 회사에서 각광받는 방법론은?
=> 애자일 방법론
- 절차보다 사람 중심
- 변화에 유연하고 신속 적응
- 효율적 시스템 개발
- 신속 적응적 경량 개발 방법론
- 개발 기간 짧고 신속
- 워터폴에 대비되는 방법론으로 개발과 함께 피드백 받아 유동적 개발 가능
2. LoC(Line of Code) 가 30,000라인이고 개발자가 5명이며, 개발자가 월평균 300라인을 개발한다. 이때 프로젝트 개발 기간과 계산식을 쓰시오.
- 프로젝트 개발기간 : 20개월
- 계산식 : 한 사람이 프로젝트 할 때 걸리는 시간 30,000 / 300 (월간 생산성) = 100개월
프로젝트 기간 = 한 사람이 프로젝트할 때 걸리는 시간 / 프로젝트 인력 = 100/ 5 = 20개월
3. 럼바우 데이터 모델링 중에서 아래에서 설명하는 모델링 유형을 보기에서 골라서 쓰시오
1. 프로세스들의 자료 흐름을 중심으로 처리 과정을 표현하는 모델링으로 자료 흐름도(DFD)를 활용하여 표현 Functonal
2. 시간의 흐름에 따라 객체들 사이의 제어 흐름, 동작 순서 등의 동적인 행위를 표현하는 모델링으로 상태 다이어그램을 활용하여 표현 Dynamic
3. 시스템에서 요구하는 객체를 찾고 객체 간의 관계를 정의하여 ER다이어그램을 만드는 과정까지의 모델링으로 객체 다이어그램을 활용하여 표현 Information럼바우의 데이터 모델링은 그래픽 표기법을 이용하여 소프트웨어 구성요소를 모델링하는 방법론이다.
- 객체 모델링 Object Modeling = 정보 모델링 Information Modeling
: 시스템에서 요구하는 객체를 찾고 객체 간의 관계를 정의하여 ER 다이어그램을 만드는 과정의 모델링
: 가장 중요하며 선행되어 진행
: 객체 다이어그램을 활용하여 표현- 동적 모델링 Dynamic Modeling
: 시간의 흐름에 따라 객체들 사이의 제어 흐름, 동작 순서 등의 동적인 행위를 표현하는 모델링
: 상태 다이어그램을 활용하여 표현- 기능 모델링 Functional Modelilng
: 프로세스들의 자료 흐름을 중심으로 처리 과정을 표현하는 모델링
: 자료 흐름도 DFD를 이용하여 표현
4 . 객체 지향 설계 원칙 중 다음에서 설명하는 원칙을 보기에서 찾아서 쓰시오.
- 객체 설계 시 특정 기능에 대한 인터페이스는 그 기능과 상관없는 부분이 변해도 영향을 받지 않아야 한다는 원칙이다.
- 예를 들어, 복합기에 대한 객체가 있고 프린터, 복사기, 스캐닝 기능을 사용하는 사용자가 각각 있다고 하면 프린터 기능 인터페이스는 복사기나 스캔이 기능이 변하여도 프린터 기능을 사용하는 데에는 문제가 없어야 한다.
ISP : 인터페이스 분리의 법칙< 객체 지향 설계 원칙 >
- 단일 책임의 원칙 SRP Single Responsibility Principle
: 하나의 클래스는 하나의 목적을 위해 생성되며, 클래스가 제공하는 모든 서비스는 하나의 책임을 수행하는 데 집중되어 있어야 한다는 원칙, 객체 지향 프로그래밍의 5원칙 중 나머지 4원칙의 기초 원칙 - 개방 폐쇄 원칙 OCP : Open Close Principle
: 소프트웨어의 구성요소 ( 컴포넌트, 클래스, 모듈, 함수 )는 확장에는 열려있고, 변경에는 닫혀 있어야 한다는 원칙 - 리스코프 치환의 법칙 LSP : Liskov Substitution Principle
: 서브 타입 ( 상속받은 하위 클래스)은 어디서나 자신의 기반 타입 ( 상위 클래스 ) 으로 교체할 수 있어야 한다는 원칙 - 인터페이스 분리의 원칙 ISP : Interface Segregation Principle
: 한 클래스는 자신이 사용하지 않는 인터페이스는 구현하지 말아야 한다는 원칙
: 객체 설계 시 특정 기능에 대한 인터페이스는 그 기능과 상관없는 부분이 변해도 영향을 받지 않아야 한다는 원칙 - 의존성 역전의 법칙 DIP ; Dependency Inversion Principle
: 실제 사용 관계는 바뀌지 않으며, 추상을 매개로 메세지를 주고받음으로써 관계를 최대한 느슨하게 만드는 원칙
예상문제
01. 소프트웨어 생명주기 SDLC 모델에 대해서 서술하시오.
시스템의 요구분석부터 유지보수까지 전 공정을 체계화한 절차이다.
02. 소프트웨어 생명주기 모델 중에서 시스템 명세 단계에서 정의한 기능을 실제 수행할 수 있도록 수행 방법을 논리적으로 결정하는 단계는 무엇인가?
= 설계 단계
- 요구사항 분석 : 다양한 이해관계자의 상충할 수도 있는 요구사항을 고려하여 새로운 제푸이나 변경된 제품에 부합하는 요구와 조건을 결정하는 단계
- 설계 : 시스템 명세 단계에서 정의한 기능을 실제수행할 수 있도록 수행 방법을 논리적으로 결정하는 단계
- 구현 : 설계 단계에서 논리적으로 결정한 문제 해결 방법을 특정 프로그래밍 언어를 사용하여 실제 프로그램을 작성하는 단계
- 테스트 : 시스템이 정해진 요구를 만족하는지, 예상과 실제 결과가 어떤 차이를 보이는지 검사하고 평가하는 단계
- 유지보수 : 시스템이 인수되고 설치된 후 일어나는 모든 활동
03. 소프트웨어 개발 시 각 단계를 확실히 마무리 지은 후에 다음 단계로 넘어가는 모델은 무엇인가?
폭포수 모델 Waterfall Model
04. 전체 시스템 기능에 따라 나누어 개발하고, 이를 통합하는 분할과 정복 접근 방식의 방법론은 무엇인가?
구조적 방법론
05. TDD ; Test Driven Development 에 대해서 서술하시오.
작성해야 하는 프로그램에 대한 테스트를 먼저 수행하고 이 테스트를 통과할 수 있도록 실제 프로그램의 코드를 작성한다는 원리이다.
06. XP 12가지 가치 중 매일 여러 번씩 소프트웨어를 통합하고 빌드해야 한다는 원리는 무엇인가?
지속적인 통합 CI
07. 애자일 방법론 중에서 매일 정해진 시간, 장소에서 짧은 시간의 개발을 하는 팀을 위한 프로젝트 관리 중심 방법론은 무엇인가?
스크럼
08. 델파이 기법에 대해서 서술하시오
전문가의 경험적 지식을 통한 해결 및 미래예측을 위한 기법이다.
09. 요구 기능을 증가시키는 인자별로 가중치를 부여하고, 요인별 가중치를 합산하여 총 기능 점수를 계산하여 비용을 산정하는 방식은 무엇인가?
기능점수 FP
10. 일의 순서를 계획적으로 정리하기 위한 수렴 기법으로 비관치, 중간치, 낙관치의 3점 추정방식을 통해 일정을 관리하는 기법은 무엇인가?
PERT
11. CPM 네트워크가 다음과 같을 때 임계 경로의 소요기일은 얼마인가?
14일
임계경로 : 가장 오랜 시간이 걸리는 경로 2+3+5+4=14
12. LoC가 50,000라인이고, 개발자는 10명이며, 개발자는 월평균 250라인을 개발한다. 이때 Man Month를 구하시오. ( 프로그래머의 월간 생산성 )
200 Man Month
수제비 정보처리기사 책을 공부하며 정리한 내용입니다.
'Certification' 카테고리의 다른 글
정보처리기사 과목별 내용 (0) 2023.01.10 - 단일 책임의 원칙 SRP Single Responsibility Principle