관리 메뉴

나구리의 개발공부기록

1장 - 요구사항 확인 | 섹션4. 현행 시스템 파악, 섹션5. 개발 기술 환경 파악 본문

2024정보처리기사 준비 정리(필기 - 시나공, 실기 - 수제비)/필기 1강 - 소프트웨어 설계

1장 - 요구사항 확인 | 섹션4. 현행 시스템 파악, 섹션5. 개발 기술 환경 파악

소소한나구리 2024. 4. 7. 21:37

2024년도 시나공 필기 책 내용 정리


섹션4. 현행 시스템 파악

 

1. 현행 시스템 파악 절차

 

  • 새로 개발하려는 시스템의 개발 범위를 명확히 설정하기위해 현행 시스템의 구성과 제공 기능, 시스템 간의 전달 정보, 사용되는 기술 요소, 소프트웨어, 하드웨어, 네트워크의 구성 등을 파악
1단계 시스템 구성 파악
시스템 기능 파악
시스템 인터페이스 파악
2단계 아키텍처 구성 파악
소프트웨어 구성 파악
3단계 하드웨어 구성 파악
네트워크 구성 파악

 


1) 시스템 구성 파악

 

  • 현행 시스템의 구성은 조직의 주요 업무를 담당하는 기간 업무와 이를 지원하는 지원업무로 구분하여 기술
  • 조직 내에 있는 모든 정보시스템의 현황을 파악할 수 있도록 각 업무에 속하는 단위 업무 정보 시스템들의 명칭, 주요 기능들을 명시

2) 시스템 기능 파악

 

  • 현행 시스템의 기능은 단위 업무 시스템이 현재 제공하는 기능들을 주요 기능과 하부 기능, 세부 기능으로 구분하여 계층형으로 표시

3) 시스템 인터페이스 파악

 

  • 현행 시스템의 인터페이스에는 단위 업무 시스템 간에 주고받는 데이터의 종류, 형식, 프로토콜, 연계 유형, 주기 등을 명시
  • 데이터를 어떤 형식으로 주고 받는지, 통신 규약은 무엇을 사용하는지, 연계 유형은 무엇인지 등을 반드시 고려

4) 아키텍처 구성 파악

 

  • 현행 시스템의 아키텍처 구성은 기간 업무 수행에 어떠한 기술 요소들이 사용되는지 최상위 수준에서 계층별로 표현한 아키텍처 구성도로 작성
  • 아키텍처가 단위 업무 시스템 별로 다른 경우에는 가장 핵심이 되는 기간 업무처리 시스템을 기준으로 표현

5) 소프트웨어 구성 파악

 

  • 소프트웨어 구성에는 단위 업무 시스템별로 업무 처리를 위해 설치되어 있는 소프트 웨어들의 제품명, 용도, 라이선스 적용방식, 라이선스 수 등을 명시
  • 시스템 구축비용 면에서 소프트웨어 비용이 적지 않은 비중을 차지하므로 상용 소프트웨어의 경우 라이선스 적용 방식의 기준과 보유한 라이선의 파악이 중요

6) 하드웨어 구성 파악

 

  • 하드웨어 구성에는 단위 업무 시스템들이 운용되는 서버의 주요 사양과 수량 , 이중화의 적용 여부를 명시
  • 서버의 이중화는 기간 업무의 서비스 기간, 장애 대응 정책에 따라 필요 여부가 결정됨
  • 현행 시스템에 이중화가 적용된 경우 대부분 새로 구성될 시스템에도 이중화가 필요하므로 이로 인한 비용 증가와 시스템 구축 난이도가 높아질 가능성을 고려해야 함

7) 네트워크 구성 파악

 

  • 네트워크 구성은 업무 시스템들의 네트워크 구성을 파악할 수 있도록 서버의 위치, 서버 간의 네트워크 연결 방식을 네트워크 구성도로 작성
  • 네트워크 구성도를 통해 서버들의 물리적인 위치 관계를 파악할 수 있고 보완 취약성을 분석하여 적절한 대응을 할 수 있음
  • 네트워크에 장애가 발생한 경우 원인을 찾아가 복구하기 위한 용도로 활용

섹션5. 개발 기술 환경 파악

 

 

1. 개발 기술 환경의 정의

 

  • 개발하고자 하는 소프트웨어와 관련된 운영체제, 데이터베이스 관리 시스템, 미들웨어 등을 선정할 때 고려해야 할 사항을 기술하고 오픈 소스 사용 시 주의해야 할 내용을 제시

1) 운영체제(OS, Operating System)

 

  • 컴퓨터 시스템 자원들을 효율적으로 관리하며 사용자가 컴퓨터를 편리하고 효율적으로 사용할 수 있도록 환경을 제공하는 소프트웨어
  • 컴퓨터 사용자와 컴퓨터 하드웨어 간의 인터페이스로서 동작하는 시스템 소프트웨어의 일종으로 다른 응용 프로그램이 유용한 작업을 할 수 있도록 환경을 제공
  • Windows, UNIX, Linux, Mac OS 등의 컴퓨터 운영체제와 IOS, Android등의 모바일 운영체제가 있음

2) 운영체제 관련 요구사항 식별 시 고려사항

구분 내용
가용성 시스템의 장시간 운영으로 인해 발생할 수 있는 운영체제 고유의 장애 발생 가능성
메모리 누수로 인한 성능 저하 및 재가동
보안상 발견된 허점을 보완하기 위한 지속적인 패치 설치로 인한 재가동
운영체제의 결함 등으로 인한 패치 설치를 위한 재가동
성능 대규모 동시 사용자 요청에 대한 처리
대규모 및 대용량 파일 작업에 대한 처리
지원 가능한 메모리 크기(32bit, 64bit)
기술 지원 제작업체의 안정적인 기술 지원
여러 사용자들 간의 정보 공유
오픈 소스 여부(Linux)
주변 기기 설치 가능한 하드웨어
여러 주변기기 지원 여부
구축 비용 지원 가능한 하드웨어비용
설치할 응용 프로그램의 라이선스 정책 및 비용
유지관리 비용
총 소유 비용(TCO)

 

3) 데이터베이스 관리 시스템(DBMS)

 

  • 사용자와 데이터베이스 사이에서 사용자의 요구에 따라 정보를 생성해주고 데이터베이스를 관리해주는 소프트웨어
  • 기존의 파일 시스템이 갖는 데이터의 종속성과 중복성의 문제를 해결하기 위해 제안된 시스템 -> 모든 응용 프로그램들이 데이터베이스를 공용(공유)할 수 있도록 관리
  • 데이터베이스의 구성, 접근 방법, 유지관리에 대한 모든 책임을 짐
  • Oracle, IBM DB2, Microsoft SQL Server, MySQL, SQLite, MongoDB, Redis 등이 있음

4) DBMS 관련 요구사항 식별 시 고려사항

구분 내용
가용성 시스템의 장시간 운영으로 인해 발생할 수 있는 운영체제 고유의 장애 발생 가능성
DBMS의 결함 등으로 인해 패치 설치를 위한 재가동
백업이나 복구의 편의성
DBMS 이중화 및 복제 지원
성능 대규모 데이터 처리 성능(분할 테이블 지원 여부)
대용량 트랜잭션 처리 성능
튜닝 옵션의 다양한 지원
최소화된 설정과 비용 기반 질의 최적화 지원
기술 지원 제작업체의 안정적인 기술지원
여러 사용자들 간의 정보 공유
오픈 소스 여부
주변 기기 설치 가능한 운영체제의 종류
JDBC, ODBC와의 호환 여부
구축 비용 라이선스 정책 및 비용
유지관리 비용
총 소유 비용

 

5) 웹 애플리케이션 서버(WAS : Web Application Server)

 

  • 정적인 콘텐츠 처리를 하는 웹 서버와 달리 사용자의 요구에 따라 변하는 동적인 콘텐츠를 처리하기 위해 사용되는 미들웨어
  • 데이터 접근, 세션관리, 트랜잭션 관리 등을 위한 라이브러리를 제공하며 주로 데이터베이스 서버와 연동해서 사용
  • Tomcat, GlassFish, JBoss, Jetty, JEUS, Resin, WebLogic, WebSphere등이 있음

6) 웹 애플리케이션 서버 관련 요구사항 식별 시 고려사항

구분 내용
가용성 시스템의 장시간 운영으로 인해 발생할 수 있는 운영체제 고유의 장애 발생 가능성
WAS의 결함 등으로 인해 패치 설치를 위한 재가동
안정적인 트랜잭션 처리
WAS 이중화 처리
성능 대규모 데이터 처리 성능
다양한 설정 옵션 지원
가비지 컬렉션(GC : Garbage Collection)의 다양한 옵션
기술 지원 제조업체의 안정적인 기술지원
여러 사용자들간의 정보 공유
오픈소스 여부
구축 비용 라이선스 정책 및 비용
유지관리 비용
총 소유 비용

 

7) 오픈 소스 사용에 따른 고려 사항

 

  • 오픈 소스는 누구나 별 다른 제한 없이 사용할 수 있도록 소스 코드를 공개한 것으로 오픈 소스 라이선스를 만족하는 소프트웨어
  • 오픈 소스를 사용하는 경우에는 라이선스의 종류, 사용자의 수, 기술의 지속 가능성 등을 고려해야함