정처기/소프트웨어 설계

2. 요구사항 확인 - 5. 현행시스템 분석

hyehh 2023. 4. 2. 21:22
728x90
반응형
SMALL
728x90
반응형
SMALL

05. 현행시스템 분석

1. 현행 시스템 파악 절차

2. 전위처리기

3. 플랫폼 특성분석


현행 시스템 분석의 정의

- 현행 시스템이 어떤 하위 시스템으로 구성되어 있는지 파악하는 절차를 의미한다.

- 현행 시스템의 제공 기능과 타 시스템과의 정보교환 분석을 파악한다.

- 현행 시스템의 기술 요소와 소프트웨어, 하드웨어를 파악한다.

 

현행 시스템 분석의 목적

개발 시스템의 개발 범위를 확인하고 이행 방향성을 설정한다.


1. 현행 시스템 파악 절차

1단계

시스템 구성 파악 - 시스템 기능 파악 - 시스템 인터페이스 현황 파악(기능들이 어떻게 연결되어 있는지)

 

2단계

아키텍처 파악 (현행 시스템의 설계도를 본다) - 소프트웨어 구성 파악 (예) 로그인, 검색, 뉴스 등이 어떻게 되어있는지 )

 

3단계

시스템 하드웨어 현황 파악 - 네트워크구성 파악


시스템 아키텍처

- 시스템 내의 상위 시스템과 하위 시스템들이 어떠 한 관계로 상호작용하는지 각 동작 원리와 구성을 표현한 것이다.

- 단위 업무 시스템별로 아키텍처가 다른 경우 핵심기간 업무 처리 시스템을 기준으로 한다.

- 시스템의 전체 구조, 행위, 그리고 행위 원리를 나타내며 시스템이 어떻게 작동하는지 설명하는 틀이다.

- 시스템의 목적 달성을 위해 시스템에 구성된 각 컴포넌트를 식별하고 각 컴포넌트의 상호작용을 통하여 어떻게 정보가 교환되는지 설명한다.

 

시스템 및 인터페이스 현황 파악

여기서 인터페이스는 User 인터페이스를 말하는 게 아니고 각각의 시스템, 기능 서로 어떻게 연결되어 있는지를 보는 것이다.

 

- 시스템 구성 파악

- 시스템 기능 파악

- 인터페이스 현황 파악

 

EAI (Enterprise Application Integration, 기업 애플리케이션 통합)

- 기업 내의 모든 서비스, 기능을각각의 소프트웨어로 보고 하나의 소프트웨어로 통합하는 것이다.

- 기업 내의 컴퓨터 애플리케이션들을 현대화하고, 통합하고, 조정하는 것을 목표로 세운 계획, 방법 및 도구 등을 의미한다.


2. FEP (Front-End Processor, 전위 처리기)

입력 데이터를 프로세서가 처리하기 전에 미리 처리하여 프로세서가 처리하는 시간을 줄여주는 프로그램이나 하드웨어이다.

여러 통신 라인을 중앙 컴퓨터에 연결하고 터미널의 메시지(Message)가 보낼 상태로 있는지 받을 상태로 있는지 검색한다. 통신 라인의 에러를 검출한다.


소프트웨어, 하드웨어, 네트워크 현황 파악

소프트웨어 구성 파악

1. 시스템 내의 단위 업무 시스템의 업무 처리용 소프트웨어의 품명, 용도, 라이선스 적용 방식, 라이선스 수를 명시한다.

2. 라이선스 적용 방식 단위 : 사이트, 서버, 프로세서, 코어, 사용자 수

 

하드웨어 구성 파악

1. 서버 사양 : CPU 처리 속도, 메모리 크기, 하드 디스크의 용량

2. 서버 이중화가 되어있는지 : 이중화) 장애 시 서비스의 계속 유지를 위하여 운영하는 것

3. 현행 시스템에 이중화가 적용되어 있다면 대부분 목표 시스템도 이중화가 요구되므로 그에 따른 기술 난이도, 비용 증가 가능성을 파악한다.

 

네트워크 구성 파악

라우터는 몇 개인지 등 

 

개발 기술 환경 분석

개발 대상 시스템의 플랫폼, OS, DBMS(오라클인지), Middle Ware 등을 분석한다.


개발 기술 환경 분석 - 플랫폼 (Platform) 파악

다양한 애플리케이션이 작동하는 기본이 되는 운영체제 소프트웨어를 의미한다.

기반 시설이라고 생각하면 된다.

 

응용 소프트웨어 + (하드웨어 + 시스템 소프트웨어)

윈도우용 앱을 만들 것인지, 안드로이드용 앱을 만들것인지 , 등 결정을 해야 한다.

왜냐하면 각각 플랫폼마다 개발 언어가 다르기 때문이다. 그래서 플랫폼을 파악해야 한다.

 

종류 

JAVA 플랫폼, NET 플랫폼, IOS, Android, Windows

 

기능

개발/운영/유지보수 비용의 감소, 생산성향상, 동일 플랫폼 간의 네트워크 효과


3. 플랫폼 성능 특성 분석

현행 시스템의 사용자가 요구사항을 통하여 시스템 성능상의 문제를 요구할 경우 플랫폼 성능 분석을 통하여 사용자가 느끼는 속도를 파악하고 개선 방향을 제시할 수 있다.

특성 분석 항목

1. 응답 시간 (Response Time)

A라는 것에 대해 문제를 냈을 때 피드백주는 시간이 짧을수록 좋은 거다.

 

2. 가용성 (Availability)

100개의 여유공간이 있는데, 내가 호출을 할 때 100개를 다 쓸 수 있느냐에 대한 것이다.

100개의 여유공간 중 윈도우에서 30% 정도 먹고 있다. 그러면 실제로 쓸 수 있는 것은 70개이다.

그러면 가용성은 70%인 것이다.

 

3. 사용률 (Utilization)

CPU에 보통 이야기한다. CPU도 100이라는 기능을 하는데에 그중에 데몬 시스템이라고 바탕화면에 깔려있는 거 말고 실제 내가 쓰고 있는 비율을 말한다.

 

플랫폼 성능 특성 분석 방법

1. 기능 테스트 (Performance Test)

현재 시스템의 플랫폼을 평가할 수 있는 기능 테스트를 수행한다.

 

2. 사용자 인터뷰 

사용자를 대상으로 현행 플랫폼 기능의 불편함을 인터뷰한다.

 

3. 문서 점검

플랫폼과 유사한 플랫폼의 기능 자료를 분석한다.


개발 기술 환경 분석 - 현행 시스템의 OS 분석

OS (Operating System, 운영체제) 정의 및 기능

- HW, SW 자원 관리 및 공통 서비스 제공, 사용자와의 인터페이스를 제공한다.

- 종류 : Windows, Android, IOS, UNIX, LINUX, Mac OS 등

 

현행 시스템의 OS 분석 항목 및 고려사항. 분석 항목

현재 정보 시스템의 OS 종류와 버전, 패치 일자, 백업 주기 분석

현행 환경 분석 과정에서 라이선스의 종류, 사용자수, 기술의 지속 가능성 등을 고려해야 한다.

고려사항 : 가용성, 성능, 기술 지원, 주변기기, 구축 비용 (TCO)

 

TCO (Total Cost of Ownership)

일정 기간 자산 획득에 필요한 직/간접적인 총비용으로 HW.SW 구매 비용, 운영 교육, 기술 지원, 유지보수, 손실, 에너지 사용 비용

 

메모리 누수

실행 SW가 정상 종료되지 않고 남아있는 증상

예) 카톡을 실행시키고 홈키를 누르면 인터넷 브라우저를 열어도, 카톡은 계속 실행되고 있다.

카톡은 메신저라 계속 운영되고 있는 게 맞는데, 운영되지 않아도 되는 T맵이나 카카오맵 등 이런 게 남아 있는 것이다.

그러면 메모리에 필요 없는 게 남아있는 것이다.


오픈소스 라이선스 종류

소스 코드가 공개되어 누구나 특별한 제한 없이 소스를 사용할 수 있으며 대표적으로 LINUX가 있다.

LINUX 기반으로 만들어진 운영체제가 Android이다. 

 

GNU (GNU's Not Unix)

- 컴퓨터 프로그램은 물론 모든 관련 정보를 돈으로 주고 구매하는 것을 반대하는 것이 기본 이념이다.

- 리눅스를 만든 이념이다.

 

GNU GPLv1(General Public License)

소스 코드를 공개하지 않으면서 바이너리만 배포하는 것을 금지하며, 사용할 수 있는 쉬운 소스 코드를 같이 배포해야 한다.

 

BSD (Berkeley Software Distribution)

버클리 대학교에서 만든 것이다.

아무나 개작할 수 있고, 수정한 것을 제한 없이 배포할 수 있다. 단, 수정본의 재배포는 의무적인 사항이 아니다.

공개하지 않아도 되는 상용 소프트웨어에서도 사용할 수 있다.

 

Apache 2.0

Apache 재단(소프트웨어 개발하는 재단) 소유의 SW 적용을 위해 제공하는 라이선스이다. 소스 코드 수정 배포 시 Apache 2.0을 포함해야 한다.

가장 대표적인 게 Android, HADOOP이 있다


현행 시스템 DBMS 분석

DBMS (DataBase Management System)

종속성과 중복성의 문제를 해결하기 위해서 제안된 데이터베이스 시스템이다.

 

응용 프로그램과 데이터의 중재자로서 모든 응용 프로그램들이 데이터베이스를 공유할 수 있도록 관리한다.

데이터베이스의 구성, 접근 방법, 관리 유지에 대한 모든 책임임을 진다.

 

종류

1. Oracle

2. IBM 082

3. Microsoft SQL Sever

4. MySQL

5. SQ Lite

6. MongoDB

7. Redis

 

현행 시스템 DBMS 분석

- DBSM 종류, 버전, 구성 방식, 저장 용량, 백업 주기, 제작사의 유지보수 여부 가능성을 분석한다.

- 테이블 수량, 데이터 증가 추이, 백업 방식 등을 분석한다. *논리/물리 테이블의 구조도를 파악하여 각 테이블의 정규화 정도, 조인 난이도, 각종 프로시저, 트리거 등을 분석한다.

 


DBMS 분석 시 5가지 고려사항

1. 가용성

장시간 운영 시 장애 발생 가능성, 패치 설치를 위한 재기동 시간과 이중화 및 복제 지원, 백업 및 복구 편의성 등을 고려한다.

예) 만약 100시간 동안 이 시스템을 100시간을 다 썼으면 가용률은 100% 근데 중간에 고장이 1시간 있어서 그러면

가용률은 99%

 

2. 성능

대규모 데이터 처리 성능(분할 테이블의 지원 여부), 대량 거래 처리 성능 및 다양한 튜닝 옵션 지원, 비용 기반 최적화 지원 및 설정의 최소화 등을 고려한다.

 

3. 기술 지원

제조업체의 안정적인 기술 지원, 같은 DBMS 사용자들 간의 정보 공유 여부와 오픈소스 여부 등을 고려한다.

왜) 오픈소스 같은 경우는 책임지고 맡아서 하는 회사가 없을 수 있으므로 제작한 회사가 없어지는 경우가 있다. 

 

4. 상호 호환성

설치 가능한 운영체제 종류를 파악하여 다양한 운영체제에서 지원되는지 확인한다.

JDBC, ODBC 등 상호 호환성이 좋은 제품을 선택한다. 

 

5. 구축 비용

라이선스 정책 및 비용, 유지 또는 관리 비용, 총 소유 비용(TCO)을 고려한다.


문제풀이

 

1. 일정 기간 자산 획득에 필요한 직/간접적인 총비용으로 HW/SW 구매 비용, 운영 교육, 기술 지원, 유지보수, 손실, 에너지 사용 비용 등을 무엇이라고 하는가? 

TCO 

 

2. 다음 중 소프트웨어, 하드웨어, 네트워크 현황 파악 단계에서 개발 기술 환경 분석 대상이 아닌 것은?

① 개발 대상 사용자의 요구사항

② OS

③ DBMS

④ Middle Ware

 

1번

개발 기술 환경 분석 대상에서는 사용자의 요구사항은 빠진다.

 

3. 소프트웨어 설계 시 구축된 플랫폼의 성능 특성 분석에 사용되는 측정 항목이 아닌 것은?

① 응답 시간 (Response Time)

② 가용성(Availability)

③ 사용률 (Utiltzation)

④ 서버 튜닝 (Server Tuning)

 

4번

 

다음 중 운영체제가 아닌 것은?

① Prezi

② Windows

③ Unix

④ LINUX

 

1번

프레젠테이션 도구이다. 파워포인트와 비슷한 소프트웨어이다.

 

DBMS 분석 시 고려사항으로 거리가 먼 것은?

① 가용성

② 성능

③ 네트워크 구성도

④ 상호 호환성

 

3번


 

728x90
반응형
LIST