본문 바로가기

정보처리기사/I. 소프트웨어 설계

I. 소프트웨어 설계 - 요구사항 확인 (1)

(1) 플랫폼 기능  분석

 1. 플랫폼의 개념

   하드웨어 + 소프트웨어 결합. 동일 플롯폼 내에서는 상호 호환이 가능하도록 만들어진 결합체를 의미

 

 2. 플랫폼의 유형

  크게 세가지 (싱글 , 투 , 멀티 사이드)로 구분됨

 

유형 설명 사례
싱글 사이드 플랫폼 제휴 관계를 통해 소비자와 공급자를 연결 아이튠즈
안드로이드
투 사이드 플랫폼 두 그룹을 중개하고 모두에게 개방 소개팅 앱
멀티 사이드 플랫폼 다양ㅇ한 이해관계 그룹을 연결하여 중개  페이스북
인스타그램

 3. 플랫폼의 기능

  - 개발과 운영비용이 감소하고 생산성이 향상됨

  - 동일 플랫폼 커뮤니티 형성 및 네트워크 효과

 

 4. 플랫폼 기능 분석 절차

  - 프로세스를 참조하여 작업을 수행한다

순서 절차 설명
1 현행 플랫폼 자료수집 - 제시자료와 인터뷰를 통해 수집
- 인터뷰 결과서, 현행플랫폼 구성도 도출
2 수집 자료 분석 - 수집된 자료의 정보들을 취합/ 정제
3 결과 산출물 작성 - 수집된 자료 기반 플랫폼 기능 분석도 작성

 

(2) 플랫폼 성능 특성 분석

 1. 플랫폼 성능 특성 분석 이유

  - 서비스 이용시 속도의 적정성을 알 수 있다.

  - 개선요청 항목은 현재 시스템 플랫폼 성능이 느린 것으로 제기될 가능성이 높다.

 

 2. 플랫폼 성능 특성 분석 기법

  - 사용자 인터뷰, 성능테스트, 산출물 점검이 있다.

기법 설명 산출물
사용자 인터뷰 사용자 인터뷰를 통해 속도의 적정성 확인 - 인터뷰 결과서
성능 테스트 플랫폼을 대상으로 성능, 부하 테스트를 수행 - 성능 테스트
- 부하 테스트 결과서
산출물 점검 현 플랫폼과 유사한 타사 제품의 성능 자료 등을 분석 - *벤치마킹 테스트

* 벤치마킹 테스트 ( Bench Marking Test ) : 기술제품을 구매하려는 기업에 제품들이 기술적 요구사항에 맞는지 성능 시험

 

(3) 운영체제 분석

 1. 운영체제(Operating System) 개념

  - 하드웨어, 소프트웨어 자원을 효율적으로 관리하며 공통된 기능을 제공하는 소프트웨어

 

 2. 운영체제 현행 시스템 분석

  - 운영체제 현행 시스템 분석 시 품질 측면과 지원 측면 등을 고려해야 한다.

관점 고려사항 설명
픔질 측면 신뢰도 - 운영체제의 장애 발생 가능성
- 운영체제의 버그로 인한 재가동 여부
성능 - 대규모 및 대량 파일 작업 (*배치 작업)
- 지원 가능한 메모리 크기 ( 32 bit, 64 bit)
지원 측면 기술 지원 - 공급사들의 안정적인 기술 지원
- 오픈 소스 여부
주변 기기 - 설치 가능한 하드웨어
- 다수의 주변 기기 지원 여부
구축 비용 - 지원 가능한 하드웨어 비용
- 응용프로그램의 라이선스 정책 및 비용
- 유지 관리 및 비용

* 배치 작업 ( Batch Job ) : 작업들을 하나의 작업 단위로 묶어 일괄 처리하는 작업 ( 일정량씩 처리 )

* 실시간 작업 ( Live Job ) :  실시간으로 바로바로 반영 되는 작업 

=> 서로 반대되는 작업들이다

 

 3. 운영체제 종류 및 특징

 - 운영체제는 크게  PC 와 모바일로 나뉜다

구분 종류 저작자 특징
PC 윈도우즈 ( Windows )   Microsoft 서버 및 PC 유지
유닉스 ( Unix )  IBM, HP, SUN 대용량 처리, 안정성
리눅스 ( Linux ) Linux Torvalds 중/대규모 서버, 높은 보안성
모바일 안드로이드 ( Android ) Google 스마트폰, 태블릿 PC, 다양한 기기의 호환성
iOS Apple 스마트폰, 태블릿 PC,  높은 보안성, 고성능

 - 리눅스 기반 시스템이 비용이 가장 적게 소요됨

 - 윈도우즈 기반이 유지 및 관리 비용측면에서 강점을 가짐

 - 유닉스 기반은 안정적이고 대용량 처리를 위해서는 선호되는 시스템

 

 (4) 네트워크 분석

 1. 네트워크의 개념

  - 컴퓨터들이 노드간 연결 ( 데이터 링크 )을 통해 서로에게 데이터를 교환하는 기술

  - 데이터링크들은 광케이블과 같은 유선 또는 무선(WI-FI)을 통해 성립

 

 2. OSI 7계층(Layer)

  - 네트워크 통신에서의 충돌 문제를 완화하기 위해 *국제 표준화 기구에서 제시한 네트워크 기본모델

계층 설명 프로토콜 전송단위
응용 계층 (Application Layer) - 사용자와 네트워크 간 응용 서비스 연결, 데이터 생성 HTTP, FTP 데이터 (Data)
표현 계층 (Presentation Layer) - 데이터 형식 설정, 부호교환, 암/ 복호화 JPEG
세션 계층 (Session Layer) - 연결 접속, 동기 제어 SSH, TLS
전송 계층 (Transport Layer) - 신뢰성 있는 통신 보장
- 데이터 분할, 재조립, 흐름, 오류, 혼잡 제어
TCP, UDP 세그먼트 (Segment)
네트워크 계층 (Network Layer) - 단말기 간 데이터 전송을 위한 최적화된 경로 제공 IP,ICMP 패킷 (Packet)
데이터링크 계층 (Data Link Layer) - 인접 시스템 간 데이터 전송, 오류제어
- 동기화, 오류, 흐름 제어, 오류검출 및 재전송
이더넷
(Ethernet)
프레임 (Frame)
물리 계층 (Physical Layer) - 0과 1의 비트정보를 보내기 위한 전기적 신호 변환 RS-232C 비트 (bit)

* 국제 표준화 기구 (ISO : International Standardization Organization)

 

 3. 네트워크 현행 시스템 분석

  - 현행 시스템이 구성된 네트워크 구조를 네트워크 구성도를 통해 분석한다.

  - 서버위치, 서버 간 연결 방식을 파악할 수 있다.

  - *백본망, *라우터, *스위치, *게이트웨이, *방화벽 등을 대상으로 분석한다.

  - 물리적 위치와 관계파악, 보안 취약성 분석 및 대응이 쉽다

  - 네트워크 장애 발생 추적 및  대응 등의 다양한 용도로 활용할 수 있다.

 

* 백본망 (Backbon Network) : 각기 다른 LAN이나 부분망 간에 정보를 교환하기 위한 경로를 제공하는 망

* 라우터 (Router) : 3계층 데이터 패킷을 발신지에서 목적지까지 전달하기 위해 최적 경로를 지정, 다음 장치로 전달하는 장비

* 스위치 (Switch) : 2계층 장비로서 동일 네트워크 내에서 출발지에 들어온 데이터 프레임을 목적지 MAC주소 기반으로 전달하는 장비

* 게이트웨이(Gateway) : 질럿, 드라군 나오는 곳. 서로 다른 통신망, 프로토콜을 사용하는 네트워크간의 통신을 가능하게 하는 장비

* 방화벽(Firewall) : 외부로부터 불법 침입과 내부 유출 방지. 백신의 역할은 아니다. '외부->내부, 내부->외부'를 막을 순 있어도 내부 문제X

 

 (5) DBMS 분석

 1. DBMS(Database Management System)의 개념

  - 데이터베이스(DB: Database)라는 데이터 집합을 만들고, 저장 관리 기능 제공하는 프로그램

 

 2. DBMS 기능

  - 중복제어, 접근통제, 인터페이스 제공, 관계 표현 등을 제공

기능 설명
중복 제어 동일한 데이터가 여러 위치에 중복으로 저장되는 현상 방지
접근 통제 권한에 따라 데이터에 대한 접근 제어
인터페이스 제공 사용자에게 *SQL 및 *CLI, *GUI 등 인터페이스 제공
관계 표현 데이터간에 다양한 관계를 표현할 수 있는 기능 제공
샤딩/파티셔닝 구조 최적화를 위해 작은 단위로 나누는 기능 제공
무결성 제약조건 무결성에 관한 제약조건을 정의/ 검사하는 기능 제공
백업 및 회복 장애 발생 시 데이터의 보존 기능 제공

* SQL (Structured Query Language) : 관계형 데이터 베이스(RDBMS) 관리 시스템의 데이터를 관리하기 위해 설계된 프로그래밍 언어

* CLI (Commmand Line Language) : 명령어를 텍스트로 입력하여 조작하는 인터페이스

* GUI (Graphic User Interface) : 그래픽 환경을 기반으로 한 사용자 인터페이스

* DNS (Domain Name Service) : 호스트의 도메인 이름을 호스트의 네트워크 주소로 바꾸거나 그 반대의 변환을 수행할 수 있도록 하기

                                                   위한 분산형 데이터베이스 시스템

 

 3. 데이터베이스 현행 시스템 분석

  - DBMS의 가용성, 성능, 기술지원, 호환성, 구축 비용 등을 분석한다

관점 고려사항 설명
성능 측면 가용성 - 시스템을 운영할 때 장애 발생 가능성
- 백업 및 복구 편의성
- DBMS 이중화 및 복제 지원
성능 - 대규모 데이터 처리 성능
- 대량 거래 처리 성능
- 다양한 튜닝 옵션 지원 여부
- 비용 기반 최적화 지원 및 설정의 최소화
상호 호환성 - 설치 가능한 운영체제 종류
- 다양한 운영체제에서 지원되는 *JDBC, *ODBC
지원 측면 기술 지원 - 공급 업체들의 안정적 기술 지원
- 다수의 사용자 간의 정보 공유
- 오픈 소스 여부
구축 비용 - 라이선스 정책 및 비용
- 유지 및 관리 비용

* JDBC (Java Database Connectivity) : 자바에서 데이터베이스를 사용할 수 있도록 연결해주는 응용프로그램 인터페이스

* ODBC (Open Database Connectivity) : 데이터베이스를 엑세스하기 위한 표준 개방형 응용 프로그램 인터페이스

 

(6) 비즈니스 융합 분석

 1. 비즈니스 융합의 개념

  - 융합기술이 제공하는 기회나 융합의 원리를 적용해서 새로운 제품, 서비스를 창출하거나 기존 제품혁신을 위한 기업활동

  - 산업 또는 시장 간 경계를 허물어 정보통신기술을 적용해 새로운 *비즈니스 모델로의 범위를 확대하는 것을 의미

 

* 비즈니스 모델 (Business Model) : 고객의 가치를 창출하고 시장에 성공적인 경쟁을 위해 목표 전략 기술 등 총체적 구성체를 뜻함

 

 2. 비즈니스 융합 유형

  - 비즈니스 융합은 '관점'에 따라 다섯가지 유형으로 분류된다

유형 설명 사례
고객 가치(Why) 개인, 사회, 인류의 행복과 번영을 위한 가치창출 신재생 에너지 개발, 친환경 농산물 생산
시장 유통(Whom) 신시장 개척 또는 미래시장 선점 자율주행 자동차, 글로벌 통신망
가치 제안(What) 고객 충족 욕구 대응 신상품 개발 드론 배송, 협동 로봇, 소셜 로봇
공급 역량(Who) 신기술, 신규역량을 통해 상품생산 및 판매 스마트 밴드, 스마트 헬스케어
생산 방식(How) 제품 및 서비스의 생산, 판매 프로세스 *스마트 팩토리, *옴니채널

* 스마트 팩토리 (Smart Factory) : 기획/설계, 생산, 유통/판매 등 과정을 ICT기술로 통합 및 최소비용으로 고객맞춤형 제품 생산 공장

* 옴니채널 (Omni-Channel) : 소비가자 온/오프라인, 모바일 등을 통해 상품을 구매 검색 할 수 있는 서비스이자 쇼핑 환경

 

 3. 비즈니스 융합 분석 절차

  - 산업/시장 내 기업 환경과 경쟁 전략을 부석하여 핵심 비즈니스 융합 영역에 대해 분석 절차 수립

순서 절차 설명
1 기업전략 분석 - 기업 환경과 그에 대응하기 위한 경쟁 전략 분석
2 영역 및 방향 설정 - 기업전략을 고려한 영역에 대한 설정
3 포트폴리오 선정 - 부합성, 생존성, 경쟁, 성장성 등을 평가
4 융합모델 설계/평가 - 구체적으로 수행할 비즈니스 모델을 설계
- 융합모델 유혀성 평가 및 시범 작용
5 비즈니스 융합 실행/개선 - *프로토타이핑, 사업화 타당성 확인

* 프로토타이핑 (Prototyping) : 아이디어를 종이에서 디지털까지 이르기까지의 실질적인 형태로 구현하는 실험적인 프로세스