1-1. 현행 시스템 파악
A 회사 서비스의 외주 업무를 맡은 모히또 군,
과연 그는 A 회사에게 받은 임무를 수행하기 위해 무엇부터 진행해야 할까?
현행 시스템 파악:
- 지금 A 회사의 현행 시스템이 어떠한 하위 시스템으로 구성되어 있고, 무엇을 제공하는지, 어떤 기술을 사용하고 있는지, 사용하고 있는 소프트웨어 및 하드웨어는 무엇이고 네트워크는 어떻게 구성되어 있는지 등을 파악하는 활동이다.
- 현행 시스템을 파악하기 위해 3단계의 절차를 거친다.
현행 시스템의 파악 절차
문제1: 현행 시스템 파악 절차의 3단계를 서술 하시오.
정답:
구성, 기능, 인터페이스 파악 ⇒ 아키텍처 및 소프트웨어 구성 파악 ⇒ 하드웨어 및 네트워크 구성 파악
1-2. 개발 기술 환경 정의
개발 기술 환경을 정의할 때 고려할 사항:
1. 운영체제: 하드웨어와 소프트웨어 리소스를 관리하고 컴퓨터 프로그램을 위한 공통 서비스를 제공하는 소프트웨어
- 종류: 윈도즈(Windows), 리눅스(Linux), 유닉스(UNIX), 안드로이드(Android), 아이오에스(iOS) 등이 존재
- 운영체제 관련 요구사항을 식별할 때 고려해야 할 사항: 신뢰도, 성능, 기술 지원, 주변 기기, 구축 비용
2. DBMS: 사용자, 다른 애플리케이션, 데이터베이스와 상호 작용하여 데이터를 저장하고 분석하기 위한 컴퓨터 소프트웨어 어플리케이션으로, 데이터베이스 생성, 조회, 변경 등의 관리가 주요 기능이다.
- 종류: Oracle, IBM DB2, Microsoft SQL, MySQL, SQLite, MongoDB, Redis
- DBMS 관련 요구사항 식별할 때 고려해야 할 사항: 가용성, 성능, 기술 지원, 상호 호환성, 구축 비용
3. 미들웨어: 소프트웨어 애플리케이션에게 운영체제가 제공하는 서비스를 추가 및 확장하여 제공하는 컴퓨터 소프트웨어를 말한다. 운영체제와 소프트웨어 애플리케이션 사이에 위치해있다. 대표적인 미들웨어 중 하나는 웹 애플리케이션 서버(WAS: Web Application Server)이다.
웹 애플리케션 서버(WAS: Web Application Server): 동적인 웹 사이트, 웹 서비스의 개발을 지원하기 위해 설계된 소프트 웨어로서 데이터 접근, 세션 관리, 트랜잭션 관리 등을 위한 라이브러리를 제공하고 있다.
- 종류: GlassFish, JBoss, Jetty, JEUS, Resin, WebLogic, WebSphere
- WAS 관련 요구사항 식별할 때 고려해야 할 사항: 가용성, 성능, 기술 지원, 구축 비용
4. 오픈 소스: 소스 코드를 공개하여 누구나 특별한 제한 없이 해당 코드를 보고 사용할 수 있으며 오픈 소스 라이선스를 만족하는 소프트웨어를 말한다.
- 오픈 소스 사용 시 고려 사항: 라이선스의 종류, 사용자 수, 기술의 지속 가능성
문제1:
리눅스 커널을 기반으로 동작하며 자바의 코틀린 언어로 개발된, 모바일 기기에 주로 사용되는 오픈소스 플랫폼인 운영체제는 무엇인지 쓰시오.
정답:
안드로이드(Android)
2-1. 요구사항 정의
요구사항 개발 프로세스:
1. 요구사항 도출
- 소프트웨어가 해결해야 할 문제를 이해하는 첫 번째 단계로서, 요구사항이 어디에 있고, 어떻게 수집할 것인가와 관련
2. 요구사항 분석
- 분석 기법 종류: 요구사항 분류(요구사항이 기능인지 비기능인지와 같은 기준으로 분류), 개념 모델링, 요구사항 할당, 요구사항 협상, 정형 분석 등이 있다.
3. 요구사항 명세
- 체계적으로 검토, 평가, 승인될 수 있는 문서를 작성하는 것을 의미
4. 요구사항 확인
- 확인 기법 종류: 요구사항 검토, 프로토타이핑, 모델 검증, 인수 테스트
문제1: 다음은 요구사항의 분류에 대한 설명이다. 괄호 ( ) 안에 들어갈 요구사항의 유형에 대해서 쓰시오.
( A ) 요구사항은 시스템이 제공하는 기능, 서비스에 대한 요구사항이다.
( B ) 요구사항은 시스템이 수행하는 기능 이외의 사항, 시스템 구축에 대한 제약사항에 관한 요구사항이다.
정답:
A : 기능적
B : 비기능적
2-2. 요구사항의 시스템화 타당성 분석
요구사항의 기술적 타당성 검토:
1. 성능 및 용량산정 적정성
- 목표 시스템의 용량이 산정되면, 과거 유사 프로젝트 경험치를 적용하여 필요시 재조정한 후, 성능 관련 비기능 요구사항과 비교하여 적정성 여부를 판단한다.
2. 시스템 간 상호 운용성
- 상호 운용성이란 다른 목적을 지닌 2개 이상의 시스템들이 상호 간 정보 및 서비스를 교환하면서 효관적으로 운용될 수 있는 시스템의 능력을 의미한다(한국전산원 2004).
- 요구사항 중에서 목표 시스템이 조직 내외 타 시스템과의 연동을 요구하는 경우, 상호 운용이 가능한지 여부를 판단해야 한다.
3. IT 시장 성숙도 및 트렌드 부합성
- 정보 기술들의 시장 성숙도 및 발전 방향을 파악하고 요구사항이 이에 부합하는지 판단한다.
4. 기술적 위험 분석
- 기술의 복잡성, 검증 여부, 의존성 등에 대하여 위험 발생 가능성, 영향도를 파악한다.
기술의 특성 | 내용 |
복잡성 | 기술의 안정성, 시장성, 개방성을 저해하는 모든 요소 하드웨어, 소프트웨어, 솔루션의 적용이 아키텍처와 불일치 |
검증 여부 | 적용 기술에 대한 조직 내 무경험 외부 지원 불가능 |
의존성 | 특허 및 라이선스에 따른 문제 특정 업체 기술에 대한 의존 |
문제1: 다음은 요구사항의 기술적 타당성 검토 항목에 대한 설명이다. 무엇에 대해 설명하는지 작성하시오.
요구사항 중에서 목표 시스템이 조직 내외 타 시스템과의 연동을 요구하는 경우,
상호 운용이 가능한지 여부를 판단해야 한다.
정답:
시스템 간 상호 운용성
3-1. 분석모델 검증
1. 유스케이스 모델 검증 점검 대상
- 액터
- 유스케이스
- 유스케이스 명세서
2. 개념 수준의 분석 클래스 검증 점검 항목
- 개별 유스케이스 단위로 작성하지 않고 시스템 전체를 대상으로 작성하였는가?
- 중요도가 높은 유구사항 또는 유스케이스에 필요한 엔티티 클래스가 도출되었는가?
- 도출된 클래스 이름과 설명이 이해관계자 간에 이견이 발생하지 않도록 명확한가?
- 클래스의 속성은 도출하였는가? 도출된 속성의 이름과 설명이 명확한가?
- 클래스들 간에 순환적 관계가 불필요하게 정의되어 있는가?
- 클래스 간의 관계에서 다중성(Multiplicity)이 정의되었는가?
3. 분석 클래스의 스테레오 타입
- 경계(Boundary) : 시스템과 외부 액터와의 상호작용을 담당하는 클래스
- 엔티티(Entity) : 시스템이 유지해야 하는 정보를 관리하는 기능을 전담하는 클래스
- 제어(Control) : 시스템이 제공하는 기능의 로직 및 제어를 담당하는 클래스
문제1: 분석모델 검증 방법 3단계를 서술하시오.
정답:
유스케이스 모델 검증 ⇒ 개념수준 분석 클래스 검증 ⇒ 분석 클래스 검증
3-2. 분석모델의 시스템화 타당성 분석
1. 성능 및 용량
- 요구사항을 만족시키기 위한 분석모델에 따라 시스템을 구현할 때 요구되는 시스템의 자원을 식별한다.
- 분석 클래스에서 불필요하고 지나치게 많은 속성들을 포함시키게 되면 객체 생성 시 시스템의 메모리 자원을 많이 요구하게 된다.
2. 시스템 간 상호 운용성
- 분석모델을 이용하여 보다 구체적으로, 시스템 간 상호 정보 및 서비스를 교환 가능한지 검토한다.
3. 시장 성숙도 및 트렌드 부합성
- 분석모델이 과거의 문제를 해결하고 많이 사용되는 트렌드에 부합하는지 확인한다.
4. 기술적 위험 분석
- 분석모델이 시스템의 기술 구조, 프레임워크, 사용되는 하드웨어 및 소프트웨어와 부합되는지 확인한다.
- 분석모델이 검증되지 않은 기술의 사용을 가정하고 있어 추가적인 비용 발생 가능성이 있는지 확인한다.
- 분석모델을 구현하기 위하여 특정 업체의 기술, 특허, 라이선스에 의존해야 하는지 확인한다.
문제1: 분석 모델의 기술적 타당성 검토 항목 2가지를 작성하시오.
정답:
성능 및 용량산정 적정성, 시스템 간 상호 운용성, IT 시장 성숙도 및 트렌드 부합성, 기술적 위험 분석
'Challenge > 자격증' 카테고리의 다른 글
제2302회 리눅스마스터 1급 1차(B형) 가채점/가답안 (1) | 2023.09.10 |
---|---|
리눅스 마스터 1급 필기(1차)&실기(2차) 대비 요약 - 완전판 (0) | 2023.08.10 |
2. 정보처리기사 '데이터 입출력 구현' 키워드 정리 및 문제 (1) | 2022.04.11 |
2022년도 3월 26일(토) 컴활 1급 필기시험 합격 후기 (1) | 2022.03.27 |