정보처리기사 정리(2)

KIMYEONGJUN·2024년 1월 23일
0

목적

나중에 내가 다시 봤을때 복습이 될 수있게 오늘 배운 내용을 정리한다.

1과목 소프트웨어 설계

소프트웨어 개발 환경 분석

현행 시스템 파악 개요
제공 기능과 주고 받는 정보뿐 아니라 소프트웨어, 하드웨어, 네트워크 구성등도 파악하는 활동이다.

현행 시스템 파악 절차(3단계)
현행 시스템의 구성, 기능, 인터페이스 현황 파악
현행 시스템의 아키텍처 및 소프트웨어 구성 현황 파악
현행 시스템의 하드웨어 및 네트워크 구성 현황 파악

1단계 - 시스템
구성 현황 파악
기능 파악
인터페이스 현황 파악

2단계 - 소프트웨어
아키텍처 파악
소프트웨어 구성 파악

3단계 - 하드웨어
하드웨어 파악
네트워크 구성 파악

1단계 -> 2단계 -> 3단계

현행 시스템 구성 및 기능 파악
현행 시스템을 기간 업무와 지원 업무로 구분한다.

기간 업무: 주요 업무
지원 업무: 주요 업무를 지원하는 업무

시스템 기능 현황 파악
단위 업무 시스템이 현재 제공하고 있는 기능을 파악하는 것이다.
단위 업무 시스템에서 제공하는 기능등을 주요 기능과 세부 기능으로 구분하여 계층형으로 표현한다.

시스템 인터페이스 파악
단위 업무 시스템들이 서로 주고 받는 데이터의 종류나 형식, 프로토콜, 연계유형, 주기 등을 파악한다.

데이터형식: 고정 포맷, 가변 포맷, JSON, XML
통신규약(프로토콜): TCP/IP, X.25
연계 유형: EAI, FEP

현행 시스템 아키텍처 및 소프트웨어 파악

시스템 아키텍처 구성도 파악
기간 업무 수행을 위한 기술 요소들을 계층별로 구성한 도표이다.
업무 시스템별로 아키텍처가 다른 경우에는 가장 핵심이 되는 기간 업무 처리 시스템을 기준으로 한다.

소프트웨어 구성도 파악
단위 업무 시스템의 업무 처리를 위해 설치되어 있는 소프트웨어들의 사양과 라이선스 방식, 개수 등을 파악한다.
시스템 구축시 소프트웨어 비용이 적지 않기 때문에, 소프트웨어 라이선스 파악이 중요하다.

이중화부분 중요
현행 시스템 하드웨어 및 네트워크 파악

하드웨어 구성도 파악
단위 업무 시스템들의 물리적 위치와 주요 사양, 수량, 이중화(복사, 백업을한다) 적용 여부 등을 파악한다.
이중화는 서비스 기간, 장애 대응 정책에 따라 결정되며, 현행 시스템에 이중화가 적용된 경우에는 목표 시스템에도 대부분 구축이 필요하다.
이중화를 적용할 경우 인프라 구축 기술 난이도 및 비용 증가의 가능성이 높다.

네트워크 구성도 파악
서버의 위치 및 네트워크 연결방식 파악을 통해 조직내 서버들의 물리적인 위치 관계를 파악할 수 있다.
조직 내 보안 취약성 분석 및 대응, 네트워크 장애 발생 추적 및 대응을 하기위한 근거로 활용 가능하다.

개발 기술 환경 식별

운영체제
하드웨어와 소프트 웨어 리소스를 관리하고 컴퓨터 프로그램을 위한 공통 서비스를 제공한다.

주요 운영 체제로는 Microsoft Windows, UNIX, Linux, IOS, Android 등 이있다.
Microsoft Windows: 다양한 라이선스 정책, 중소 규모 서버, 개인 PC
UNIX: 다양한 라이선스 정책, 대용량 처리, 안정성이 요구되는 서버
Linux: 무료, 확장성, 다양한 버전 제공, 중대 규모 서버
IOS: 유료, 하드웨어 포함, 스마트폰, 태블릿PC
Android: 무료, 리눅스 기반, 스마트폰, 태블릿PC

운영체제 식별시 고려사항
운영체제 관련 요구사항 식별에는 신뢰도, 성능, 기술 지원, 주변 기기, 구축 비용등을 고려해야한다.
신뢰도: 메모리 누수, 보안 취약점, 버그 등으로 인한 성능 저하 및 장애 발생 가능성
성능: 대규모 작업 처리, 동시 사용자 요청 처리, 지원 가능 메모리 크기
기술 지원: 공급 업체의 안정적인 기술 지원, 사용자 커뮤니티, 오픈 소스 여부
주변 기기: 설치 가능 하드웨어 , 주변 기기 지원 여부
구축 비용: 하드웨어, 라이선스, 유지관리 비용

DBMS(DataBase Management System)
사용자, 애플리케이션, 데이터베이스와 상호 작용하여 데이터를 저장, 관리, 상호작용하는 시스템이다.

DBMS종류
Oracle: 유료, 대규모, 대량 데이터의 안정적인 처리
MS-SQL: 유료, 중소 규모 데이터의 안정적인 처리
My-SQL: 무료, 오픈소스 관계형 DBMS
MongoDB: 무료, 오픈소스 NoSQL DBMS

DBMS 식별 시 고려사항
가용성: 백업 및 복구의 편의성, 이중화 및 복제 지원
성능: 대용량 데이터 처리 능력, 질의 최적화
상호 호환성: 설치 및 운용 가능한 운영체제가 다양함

미들웨어(Middleware)
운영체제와 소프트웨어 애플리케이션 사이(Middle)에 위치하여 운영체제가 제공하는 서비스를 확장하여 소프트웨어이다.

미들웨어 식별 시 고려사항
성능: 대규모 처리, 다양한 설정 옵션, 가비지 컬렉션

오픈 소스(Open Source)소프트웨어
소스 코드를 무료로 공개하여 제한 없이 누구나 사용 및 개작이 가능한 소프트웨어이다.

오픈 소스 식별시 고려사항
무료로 공개하는 범위에 따라 다양한 라이선스가 존재한다.
사용 가능한 라이선스의 개수와 기술의 지속 가능성을 파악해야 한다.

마무리

이부분은 정리할게 별로 없다. 다른 부분의 복습을 더해야할것같다.

profile
Junior backend developer

0개의 댓글