정처기에서 요구사항 분석은 문제가 자주 출제 되지 않는 파트이기 때문에 한 번 읽고 지나가는 정도를 추천합니다.
웹 개발에서 요구사항 확인은 필수이다. 무엇이 만들고 싶은지 알아야 어떻게 만들지 가격은 어떻게 될지 산정할 수 있다.
생각보다 굉장히 복잡하다.
개발 후 네트워크 상황에 대한 결정까지 해야한다. 정처기의 모든 내용이 실제 웹 개발에 활용된다. 다만 자주 쓰이는 개념과 그렇지 않은 개념이 혼재 되어있다.
목차
주요 키워드
기간 업무, 지원업무, 구성, 기능, 인터페이스, 아키텍처, 네트워크, 개발 기술 환경
개발 기술 환경 요구사항 파악 요약
자료 수집 : 시스템 구축 형태, 사용자, 트랜잭션 등 -> 자료 분석 : 수집한 자료로 기술 환경 결정 -> 요구정의서, 목표시스템 구성도 반영
현행 시스템 분석
어떤 기능과 디자인을 원하는 지 알아야 하니까 분석해야한다. 현재 시스템을 가지고 있는지.
나올 수 있는 문항
- 개발하고자 하는 응용소프트웨어의 이해를 높이기 위해, 현행 시스템 적용현황을 파악하고자하는 것은?
- 개발범위와 향후 개발될 시스템으로 이행 방향성을 분석할 수 있는 과정
- 운영체제, 데이터베이스관리시스템, 미들웨어 등의 요구 사항을 식별하는 과정
- 현행 시스템을 분석하여 개발하고자 하는 응용 소프트웨어에 적용될 목표시스템을 명확하고 구체적으로 기술
- 현행시스템을 분석해야 전반적인 내용 확인 가능
- 현재 시스템의 하위 시스템
- 제공하는 기능
- 다른 시스템과 주고받는 기능
- 기술요소
- 하드웨어 및 소프트웨어 구성
- 네트워크 구성
그래서 주요한 내용이 무엇인가?
현재의 시스템을 분석해서 우리가 개발할 범위와 진행해야할 업무(이행방향성)을 알아보는 것
분석 절차
1단계 구성/기능/인터페이스
현행시스템의 구성이란 주요업무를 처리하는 기간업무, 이를 지원하는 지원업무를 말한다. 업무라는 단어를 컴퓨터가 행한다고 생각하면 이해가 쉽다. 지금 바꾸려는 시스템의 구성을 알아내는 데, 주요한 업무들이 무엇인지 단위 업무들을 구분하는 것
현행시스템의 기능이란 단위 업무 시스템이 현재 제공하고 있는 기능들을 서술한 것, 주요 기능들과 하위 기능들을 계층형으로 표시함
현행시스템의 인터페이스란 다른 시스템과 주고 받는 데이터, 프로토콜들을 명시하는 것, 어떤 포멧, 규역, 연계 유형
취득할 자료 : 정보시스템 구성도/기능구성도/인터페이스 현황
2단계 아키텍처/소프트웨어
아키텍처란소프트웨어 아키텍처(Software Architecture)는 소프트웨어 시스템의 구조와 구성 요소 간의 상호작용을 정의하는 설계 원칙과 개념적인 틀을 의미.
아키텍처 구성도는 기간업무(주요업무)를 수행하기 위해 계층별로 기술 요소들을 최상위 수준에서 그림으로 표현한 것, 1
소프트웨어 구성도는 제품명, 용도, 라이선스 적용 방식등을 명시한 것.
3단계 : 하드웨어/네트워크 구성
하드웨어 구성은 서비스가 구현되고 있는 하드웨어에 대한 구성을 작성. 기간업무에 대한 내용과 용도, 제품명, 주요사양, 이중화 여부 등을 표현함. 여기에서 이중화는 미러 사이트를 말함.
구분 | 시스템명 | 서버용도 | 제품명 | 주요사양 | 수량 | 이중화 여부 |
기간업무 | 서버 A | 웹 서버 | 서버A | 12 코어, 2.3GHz, 30MB 캐시 2133MHz, ECC 지원 SATA 3.0, 2.5인치 |
2 | X |
네트워크 구성은 업무처리를 위한 시스템들이 어떤 구성을 가지고 있는지 작성하는 것
위치 | 용도 | 장비 제품명 | 주요 사양 | 수량 |
인터넷 | 인터넷 연결 | - | - | 1 |
스위치 | 네트워크 연결 | Cisco Catalyst 2960 | 24 포트, 1Gbps 이더넷 인터페이스 | 3 |
서버 | 서비스 제공 | Dell PowerEdge R740 | Intel Xeon, 32GB RAM, 1TB HDD | 1 |
라우터 | 네트워크 라우팅 | Cisco ISR 4321 | 2개의 WAN 포트, 2개의 LAN 포트 | 1 |
클라이언트 | 사용자 컴퓨터 | - | - | 다수 |
현행 시스템 분석서 작성
위의 자료를 구하지 못할 때는 매뉴얼 및 제안서 등 기존의 모든 문서를 고려해야한다.
정보시스템 구성/기능 및 인터페이스
정보시스템 구성/기능 구성도: 어떤 정보시스템이 있는지, 각 정보시스템의 이름과 주요 기능, 그리고 각 정보시스템이 어떤 기능으로 구성되어 있는지 나타냅니다.
인터페이스 현황: 정보시스템 간의 연계에 관한 정보로, 송신 시스템과 수신 시스템의 식별, 연계 방식, 주기, 연동 데이터 형식, 그리고 주요 연동 데이터를 나타냅니다.
현행 시스템 아키텍처 및 소프트웨어
현행 시스템 아키텍처 구성도: 현재 사용 중인 시스템의 아키텍처를 그림으로 표현한 것으로, 운영체제 종류, 적용 프레임워크, 계층별로 사용되는 기술, 데이터 연동 방식, 데이터 저장소, 외부 시스템과의 연계 방식 등을 보여줍니다.
소프트웨어 구성도: 단위 시스템별로 필요한 소프트웨어의 제품명, 용도, 라이선스 적용 방식, 그리고 라이선스 수를 나타냅니다.
하드웨어 및 네트워크
하드웨어 구성도: 단위 시스템별로 사용되는 서버의 제품명, 용도, CPU 종류, 메모리 용량, 하드디스크 용량, 수량, 이중화 여부 등을 보여줍니다.
네트워크 구성도: 네트워크 장비의 용도, 제품명, 수량, 주요 사양, 위치, 그리고 연동에 사용되는 프로토콜을 나타냅니다.
현행 시스템 분석서 산출물 예시
정보 시스템 구성 및 작성 예시
구분 | 시스템명 | 시스템 내용 |
기간업무 | 예약 관리 시스템 | 고객 예약 정보 관리, 예약 일정 관리 |
기간업무 | 주문 처리 시스템 | 고객 주문 처리, 결제 처리, 배송 추적 |
지원업무 | 회원 관리 시스템 | 회원 정보 관리, 회원 가입 및 탈퇴 처리 |
지원업무 | 재고 관리 시스템 | 제품 재고 관리, 입고 및 출고 처리 |
지원업무 | 고객 지원 시스템 | 고객 문의 관리, 문의 응답 및 처리 |
정보시스템 기능 구성도
정보시스템 | 송신 시스템 | 수신 시스템 | 수신 시스템 | 연동 형식 | 통신 규약 | 연계 유형 | 주기 |
예약 관리 시스템 | 예약 등록 시스템 | 예약 확인 시스템 | 예약 정보 | XML | HTTP | 동기식 | 실시간 |
주문 처리 시스템 | 주문 등록 시스템 | 결제 처리 시스템 | 주문 정보 | JSON | RESTful API | 비동기식 | 매일 |
회원 관리 시스템 | 회원 등록 시스템 | 회원 정보 조회 시스템 | 회원 정보 | CSV | FTP | 동기식 | 실시간 |
재고 관리 시스템 | 입고 등록 시스템 | 재고 조회 시스템 | 제품 재고 정보 | 데이터베이스 | SQL | 동기식 | 매시간 |
시스템 인터페이스 현황 및 작성예시
송신 시스템 | 송신 시스템 | 기능 1 | 기능 2 | 기능 3 |
시스템 A | 시스템 B | 주문 정보 전송 | 결제 정보 전송 | 배송 정보 전송 |
시스템 A | 시스템 C | 예약 정보 전송 | 고객 정보 전송 | 결제 정보 전송 |
시스템 B | 시스템 A | 주문 처리 결과 수신 | 상품 정보 수신 | 배송 상태 정보 수신 |
시스템 B | 시스템 D | 주문 정보 전송 | 재고 확인 요청 | 주문 상태 업데이트 |
시스템 C | 시스템 A | 예약 확인 결과 수신 | 고객 정보 업데이트 | 예약 변경 요청 |
개발 기술 환경 정의
운영체제
운영체제 : 하드웨어와 소프트웨어 리소스 관리, 공통 서비스를 제공하는 OS(window, linux, UNIX, iOS, Android)
신뢰도 : 장기간 수행
성능 : 대규모 처리가능
기술지원 : 안정적인 지원
주변기기 : 다른 기기외 연동 여부
비용 : 유지 비용
DBMS
DBMS : 데이터를 저장하고 분석하기 위한 소프트웨어 응용프로그램(Applicartion)[Oracle, IBM BD2, Microsoft SQL, MySQL, SQLite, MonogoDB, Redis)
가용성 : 장기간 운영 가능 여부
성능 : 대규모
기술지원 : 안정적 기술 지원
상호호환성 : 설치가능한 운영체제
비용
미들웨어
미들웨어 : 운영체제와 소프트웨어 사이에 위치하는 소프트웨어, OS가 기본적으로 제공하기도함.
가용성 ,성능, 기술지원, 비용을 고려해야함.
오픈소스
오픈소스 : 누구나 특별한 제한 없이 코드를 읽고, 쓸수 있는 소프트웨어
라이선스의 종류, 사용자 수, 기술의 지속 가능성
기술환경 정의
OLTP(Online Transaction Processing)
항목 | 설명 |
시스템 요구사항 | OLTP 시스템을 구축하기 위해 필요한 하드웨어 및 소프트웨어 요구사항 |
데이터베이스 선택 | OLTP에 적합한 데이터베이스 시스템 종류 및 기능 검토 |
트랜잭션 처리 성능 | 대용량 트랜잭션 처리를 위한 성능 테스트 및 비교 검토 |
확장성 및 가용성 | 시스템의 확장성과 가용성에 대한 평가 및 필요한 조치 검토 |
데이터 일관성 및 정합성 | 트랜잭션 처리 과정에서 데이터 일관성과 정합성 유지 방법 검토 |
보안 | OLTP 시스템의 보안 요구사항과 보안 기능 검토 |
모니터링 및 로깅 | 시스템 운영 상태와 트랜잭션 로그를 모니터링하고 기록하는 방법 검토 |
백업 및 복구 전략 | 시스템의 데이터 안전성을 위한 백업 및 복구 전략 검토 |
성능 튜닝 및 최적화 | OLTP 시스템의 성능을 향상시키기 위한 튜닝 및 최적화 방법 검토 |
사용자 피드백 및 평가 | 사용자 요구 사항 및 피드백 수집, 시스템 평가 및 개선점 도출 |
자료 분석, 개발 기술 환경 결정
앞서 확인하여 운영체제별로 어떤 방식을 적용할지, DBMS는 무엇을 이용할지 결정하는 것.
운영체제별 차이에 따라 비용 및 인력, 기술력의 차이가 있음.
'정보처리기사' 카테고리의 다른 글
[정처기실기] 프로그래밍 언어 활용 Python 기초 (0) | 2023.07.11 |
---|---|
파이썬, JAVA, C의 차이 | 각 언어의 특징 (0) | 2023.07.10 |
[정보처리기사 실기 우선순위] 합격을 위한 출제 빈도 순 주요 과목 정리 (0) | 2023.07.10 |
[정보처리기사] 암호화알고리즘 - 1 | 개요 (0) | 2023.06.28 |
[정보처리기사] 반복문이란?|for 문 c,java,python 작성법 (0) | 2023.05.24 |
댓글