📐 소프트웨어 설계 - 현행 시스템 분석하기

2020. 7. 16. 13:43컴퓨터언어/소프트웨어공학

728x90
반응형

 

✅ 용어정리

하드웨어 구성도 : 서버의 주요 사양과 수량, 이중화(백업)가 적용되어 있는지 여부를 명시
오픈소스 : 소스코드를 공개해 누구나 특별한 제한 없이 그 코드를 사용할 수 있는 소스나 소프트웨어

 

👍 현행시스템 파악이란?

 

내가 소프트웨어를 새로 개발하려면 현재 시스템이 어떻게 구성되어 있는지 먼저 파악해야 한다.

파악할 요소로는 하위시스템 구성요소, 제공기능, 연계요소, 적용 기술요소, 소프트웨어, 하드웨어, 네트워크 구성요소 등이 있다.

 

현행 시스템을 분석하면

  • 현재 개발범위와 향후 개발될 시스템으로의 이행방향성을 알 수 있다.
  • 개발하고자 하는 응용소프트웨어와 관련된 운영체제, DB관리시스템, 미들웨어 등 요구사항을 식별할 수 있다.
  • 개발하고자 하는 응용소프트웨어에 적용될 목표시스템을 명확하고 구체적으로 표현할 수 있다.

 

👊 1단계

시스템의 구성-기능-인터페이스 파악하기

 

1-1

현행시스템 구성현황 파악하기

구현할 업무를 주요업무인 "기간업무"와 기간업무를 지원하는 "지원업무"로 구분한다.

각 업무에 속하는 단위 업무 정보시스템의 명칭, 주요 기능을 명시한다.

조직 내 존재하는 "모든" 정보시스템의 현황을 파악해야 한다.

 

1-2

기능현황 파악하기

각 단위 업무별 기능을 세부적으로 정리하여 주요-하부기능으로 계층화한다.

 

1-3

인터페이스 파악하기

단위 업무 시스템 간 주고받는 데이터의 종류/형식/프로토콜/연계유형(EAI, FEP)/주기을 명시한다.

 

👊 2단계

아키텍처 및 소프트웨어 구성 파악하기

시스템 아키텍처란, 시스템 내부에서 각각의 하위 시스템들이 어떤 관계로 상호작용하는지 파악할 수 있도록 구성이나 동작원리를 표현한 것을 말한다.

 

2-1

아키텍처 구성 파악하기

기간업무(주요업무)가 수행하는 기술요소를 기준으로 하여 그림으로 표현한다.

 

2-2

소프트웨어 구성 파악하기

단위업무 처리를 위해 설치된 소프트웨어 제품명, 용도, 라이센스 적용방식, 라이센스 수 등을 명시한다.

상용 소프트웨어인 경우 라이센스 적용방식(사양, 사용자 수 등)의 기준과 실제 보유한 라이센스의 파악을 잘해야 한다.

 

👊 3단계

하드웨어 및 네트워크 구성 파악하기

 

3-1

단위업무 시스템을 운용하는 서버의 주요 사양과 수량, 이중화(백업)의 적용 여부를 명시한다.

서버의 이중화는 기간업무의 서비스 기간, 장애 대응 정책에 따라 필요 여부가 결정된다.

현행 시스템에 이중화가 적용된 경우 대부분 새로 구성될 시스템에도 이중화가 필요하므로, 이로 인한 비용 증가와 시스템 구축 난이도가 높아질 가능성을 고려해야 한다.

 

3-2

네트워크 구성 파악하기

업무시스템들의 서버 위치, 서버 간 네트워크 연결방식을 파악한다.

서버들의 물리적 위치 관계를 파악할 수 있고 보안 취약성을 분석하여 적절한 대응을 할 수 있다.

728x90
반응형