*요구사항 분석은 대부분 비슷한 맥락에서 출제 → 거의 50% 정도로 문제에 관여함
현행 시스템 분석 목적
- 개발 시스템의 개발 범위 확인, 이행 방향성 검토
- 현행 시스템이 어떤 하위 시스템으로 구성되어 있는지 파악하는 절차
- 현행 시스템의 제공 기능과 타 시스템과의 정보 교환 분석
- 현행 기술 요소와 SW, HW 파악
절차
- 세부적인 부분부터 점차 큰 범위/ 바깥 범위로 파악
- 1단계 : 시스템 구성 파악 - 기능 파악 - 인터페이스(연결) 현황 파악
- 2단계 : 각 하위 시스템(플랫폼 내 각 서비스라든가) 아키텍처 파악 - 소프트웨어 구성 파악
- 3단계 : 하드웨어 현황 파악 - 네트워크 구성 파악
시스템 아키텍처
- 시스템 내 상위/ 하위 시스템들이 어떤 관계로 상호작용하는지 각 동작 원리와 구성 표현
- 단위 업무(플랫폼 내 각 서비스 등) 시스템별로 아키텍처가 다른 경우 핵심기간 업무 처리 시스템을 기준
- 시스템의 전체 구조, 행위, 행위 원리? → 시스템이 어떻게 작동하는지 설명하는 틀
- 시스템의 목적 달성을 위해 시스템에 구성된 각 컴포넌트를 식별하고
- 각 컴포넌트의 상호작용을 통해 어떻게 데이터가 교환되는지 설명
시스템 및 인터페이스 현황 파악
- 시스템 구성 파악
- 시스템 기능 파악
- 인터페이스 현황 파악
- EAI (Enterprise Application Integration)
- 기업 내의 모든 애플리케이션을 하나로 통합 (단일 플랫폼화)
- 기업 내 컴퓨터 앱들을 현대화하고, 통합, 조정하는 것을 목표로 하는 계획, 방법 및 도구 등 의미
- FEP (Front-End-Processer)
- 전처리기
- 입력 데이터를 프로세서가 처리하기 전에 미리 처리
- 프로세서가 처리하는 시간을 줄여주는 프로그램이나 하드웨어
- 여러 통신 라인을 중앙 컴퓨터에 연결하고 터미널의 메시지가 보낼 상태로 있는지? 받을 상태로 있는지 검색
- 통신 라인의 에러 검출
- SW, HW, 네트워크 현황 파악
- SW
- 시스템 내의 단위 업무 시스템의 업무 처리용 소프트으ㅔ어의 품명, 용도, 라이선스 적용 방식, 라이센스 수 명시
- 라이센스 적용 방식 단위 : 사이트, 서버, 프로세서, 코어, 사용자 수
- HW
- 서버 사양 : CPU 처리 속도, 메모리 크기, 하드디스크의 용량
- 서버 이중화 : 장애 시 서비스의 계속적 유지를 위해 운영
- 현행 시스템에 이중화가 적용되어 있다면 대부분 목표 시스템도 이중화가 요구됨 → 그에 따른 기술 난이도, 비용 증가 가능성 등 파악
- 네트워크
- 개발 기술 환경 분석
- 개발 대상 시스템의 플랫폼(윈도우즈, 리눅스 등등), OS, DBMS(티맥스인지, 오라클인지 등등), 미들웨어() 등을 분석
- SW
플랫폼 파악
- 응용SW (하드웨어+시스템 소프트웨어) 시스템 소프트웨어가 OS?
- 다양한 어플리케이션이 작동하는 기본이 되는 운영체제 소프트웨어를 의미 → 기존 플랫폼에 맞춰 or 요구 플랫폼에 맞춰 개발 환경 세팅하고 언어 선택 등 해야 함
- 종류
- 자바(JAVA) 플랫폼, 닷넷(.net) 플랫폼, IOS, AOS, Windows 등
- 기능
- 개발 운영 유지보수 비용의 감소, 생산성 향상, 동일 플랫폼 간의 네트웨크 효과
- 플랫폼 성능 특성 분석
- 현행 시스템의 사용자 요구사항을 통하여 시스템 성능 상의 문제를 요구할 경우 플랫폼 성능 분석을 통해 사용자가 느끼는 속도를 파악, 개선방향 제시 가능
- 특성 분석 항목
- 응답 시간(리스폰스 ㅊ타임) : 단단익선
- 가용성(Availabliliy) : GPU? 시간? 등 여유 공간
- 사용률(유틸라이제이션) : CPU 깔려있는 앱들에 비해 실제로 사용되는 비율
- 플랫폼 성능 분석 방법
- 기능 테스트 (퍼포먼스 테스트) : 현재 시스템의 플랫폼을 평가할 수 있는 기능 데스트 수행
- 사용자 인터뷰 : 사용자 대상 현행 플랫폼 기능의 불편함 인터뷰
- 문서 점검 : 플랫폼과 유사한 플랫폼의 기능 자료 분석
- 현행 시스템의 사용자 요구사항을 통하여 시스템 성능 상의 문제를 요구할 경우 플랫폼 성능 분석을 통해 사용자가 느끼는 속도를 파악, 개선방향 제시 가능
- 현행 시스템의 OS 분석
- OS(오퍼레이팅 시스템, 운영체제) 정의 및 기능
- HW, SW 자원 관리 및 공통 서비스 제공, 사용자와의 인터페이스 제공
- 종류 : IOS, AOS, Windows 등UNIX, LINUX, MacOS 등
- 현행 시스템의 OS 분석 항목 및 고려사항, 분석 항목
- 현재 정보 시스템의 OS 종류와 버전(윈도우즈 10 등), 패치 일자, 백업 주기 분석
- 고려사항
- 가용성, 성능, 기술 지원, 주변기기, 구축 비용 (TCO)
- TCO (total cost od Ownership) : 일정 기간 자산 획득에 필요한 직/ 간접적인 총비용
- HW, SW 구매비용, 운영 교육, 기술 지원, 유지보수, 손실, 에너지 사용 비용
- 현행 환경 분석 과정에서 라이센스의 종류, 사용자 수, 기술의 지속 가능성 등을 고려해야 한다
- 메모리 누수 : 실행 SW가 정상 종료되지 않고 남아있는 증상
- OS(오퍼레이팅 시스템, 운영체제) 정의 및 기능
오픈소스 라이센스 종류
- 소스코드가 공개되어 누구나 특별한 제한 없이 소스를 사용할 수 있음
- 대표적으로 LINUX → AOS(리눅스 기반으로 개발됨)
- 리눅스 버전은 아주 다양 (우분투, 레드햇 등)
- GNU(GNU’s Not Unix)
- 지엔유는 유닉스처럼 비싸지 않다
- 컴ㅠ터 프로그램은 물론 모든 관련 정보를 돈으로 주고 구매하는 것을 반ㄴ대하는 것이 기본 이념
- 리눅스
- GNU GPLv1 (제너럴 퍼블릭 라이센스)
- 소스코드를 공개하지 않으면서 바이너리만 배포하는 것을 금지하며, 사용할 수 있는 쉬운 소스코드를 같이 배포해야 한다
- BSD (Berkeley SW Distribution)
- 아무나 개작할 수 있고 수정한 것을 제한 없이 배포할 수 있다
- 수정본의 재배포는 의무 사항 아님 (GNU는 레벨이 올라갈수록 공개 의무 강해짐)
- 공개하지 않아도 되는 상용 SW에서도 사용 가능
- Apache 2.0
- Apache 재단 소유의 SW 적용을 위해 제공하는 라이센스, 웹서버를 무료로 오픈함
- 소스코드 수정 배포 시 Apache 2.0을 포함해야 함
- AOS, HADOOP
현행 시스템의 DBMS 분석
- DBMS (데이터베이스 매니지먼트 시스템)
- 종속성과 중복성의 문제를 해결하기 위해 제안된 데이터베이스 시스템
- 응용 프로그램과 데이터의 중재자로서 모든 응용 프로그램들이 데이터베이스를 공유할 수 있도록 관리
- 데이터베이스의 구성, 접근 방법, 관리 유지에 대한 모든 책임
- 데이터가 이미 많이 쌓여 있는 상황에서 DBMS를 변경하는 것은 아주 어려우므로 사전 분석 필수
- 종류
- 오라클, IBM DB2, MS SQL 서버, Mysql, SQ lite, mongoDB, Redis
- 현행 시스템의 DBMS 분석
- DBMS 종류, 버전, 구성 방식, 저장 용량, 백업 주기, 제작사의 유지보수 여부 가능성 등을 분석
- 테이블 수량, 데이터 증가 추이, 백업 방식 등 분석
- 논리/ 물리 테이블의 구조도를 파악해 각 테이블의 정규화 정도, 조인 난이도, 각종 프로시저, 트리거 등 분석
- 분석 시 고려사항
구분 | 설명 |
가용성 | 장시간 운영 시 장애 발생 가능성 패치 설치를 위한 재기동 시간과 이중화 및 복제 지원, 백업 및 복구 편의성 등 고려 |
성능 | 대규모 데이터 처리 성능 (분할 테이블의 지원 여부) 대량 거래 처리 성능 및 다양한 튜닝 옵션 지원 비용 기반 최적화 지원 및 설정의 최소화 등 고려 |
기술 지원 | 제조업체의 안정적인 기술 지원 (회사의 안정성) 같은 DBMS 사용자들 간의 정보 공유 여부와 오픈소스 여부 등 고려 |
상호 호환성 | 설치 가능한 OS 종류를 파악해 다양한 운영체제에서 지원되는지 확인 JDBC, ODBC 등 상호 호환성이 좋은 제품 선택 |
구축 비용 | 라이센스 정책 및 비용, 유지 또는 관리 비용, 총 소유 비용(TCO) 고려 |
'IT > 정보처리기사 도전기' 카테고리의 다른 글
1-6. 요구사항 개발 (0) | 2025.03.31 |
---|---|
1-3. 개발방법론 (0) | 2025.03.31 |
1-2. 재공학 (2) | 2025.03.31 |