[정처기 필기] 「1」 | 요구사항 확인 - (1.3) 현행 시스템 파악, 개발 기술 환경 파악

728x90

[정처기 필기] 1」 | 요구사항 확인 - (1.3) 현행 시스템 파악, 개발 기술 환경 파악

> 「1」 소프트웨어 설계

> 요구사항 확인, 화면 설계, 애플리케이션 설계, 인터페이스 설계

「2」 소프트웨어 개발

「3」 데이터베이스 구축

「4」  프로그래밍 언어 활용

「5」  정보시스템 구축 관리

 

1 소프트웨어 생명 주기

2 스크럼(Scrum) 기법

3 XP(eXtreme Programming) 기법

> 4 현행 시스템 파악

> 5 개발 기술 환경 파악

6 요구사항 정의

7 요구사항 분석

8 요구사항 분석 CASE와 HIPO

9 UML(Unified Modeling Language)

10 주요 UML 다이어그램

4. 현행 시스템 파악

현행 시스템 파악 절차

 

개발 범위를 명확히 설정하기 위해 현재 사용하고 있는 정보 시스템에 대한 현황 파악

 

1단계 : 시스템 구성 파악, 시스템 기능악, 시스템 인터페이스 파악

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

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

 

시스템 구성 파악

 

주요 업무를 담당하는 기간 업무, 지원하는 지원 업무로 구분

 

- 조직 내 모든 정보 시스템의 현황을 파악할 수 있도록, 단위 업무 정보시스템들의 명칭, 주요 기능 명시

 

시스템 기능 파악

 

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

 

시스템 인터페이스 파악

 

단위 업무 시스템 간에 주고받는 데이터의 종류, 형식, 프로토콜, 연계 유형, 주기 등 명시

 

아키텍처 구성 파악

 

기간 업무 수행에 어떤 기술 요소가 사용되는지 최상위 수준에서 계층 별로 표현한 아키텍처 구성도로 작성

 

- 아키텍쳐가 다른 경우, 핵심이 되는 기간 업무 처리 시스템을 기준으로 표현

 

소프트웨어 구성 파악

 

단위 업무 시스템별로 업무 처리를 위해 설치된 소프트웨어들의 제품명, 용도, 라이센스 적용 방식, 라이센스 수 등 명시

 

- 소프트웨어 비용이 적지 않은 비중이므로 상용 소프트웨어의 경우, 라이선스 적용방식 기준과  보유한 라이선스 파악이 중요

 

하드웨어 구성 파악

 

단위 업무 시스템들이 운용되는 서버의 주요 사양, 수량, 이중화의 적용 여부를 명시

 

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

- 서버의 이중화가 적용된 경우, 대부분 새로 구성될 시스템에도 이중화가 필요 => 비용 증가, 난이도 높아짐

 

네트워크 구성 파악

 

업무 시스템들의 네트워크 구성 파악을 위해 서버의 위치, 서버간 네트워크 연결 방식네트워크 구성도로 작성

 

- 구성도를 통해 서버들의 물리적 위치관계 파악 가능, 보안 취약성 분석 가능

- 네트워크에 장애 발생한 경우, 발생 원인 복구하기 위한 용도

5. 개발 기술 환경 파악

개발 기술 환경의 정의

 

개발하고자 하는 소프트웨어와 관련된 운영체제(Operating System), 데이터베이트(Database Management System), 미들웨어(Middle Ware) 등 선정할 때 고려해야 할 사항 기술, 오픈 소스 사용 시 주의할 내용 제시

 

운영체제(OS; Operating System)

 

컴퓨터 시스템의 자원들을 효율적으로 관리, 사용자가 효율적으로 사용할 수 있도록 환경 제공 소프트웨어

 

- 사용자, 하드웨어 간의 인터페이스로 동작하는 시스템 소프트웨어의 일종, 다른 응용 프로그램이 유용한 작업을 할 수 있는 환경을 제공

- 컴퓨터 운영체제 Windows, UNIX, Linux, Max OS 등, 모바일 운영체제 iOS, Android

 

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

 

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

 

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

 

사용자와 데이터베이스 사이에서 사용자의 요구에 따라 정보 생성, 데이터베이스 관리해주는 소프트웨어

 

- 기존의 파일 시스템의 데이터 종속성, 중복성 문제를 해결하기 위한 시스템, 모든 응용프로그램들이 데이터베이스를 공용할 수 있도록 관리

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

- Oracle, IBM DB2, Microsoft SQL Server, MySQL, SQLite, MongoDB, Redis

 

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

 

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

 

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

 

동적인 콘텐츠를 처리하기 위해 사용되는 미들웨어

 

- 데이터접근, 세션 관리, 트랜잭션 관리 등의 라이브러리 제공

- 주로 데이터베이스 서버와 연동

- Tomcat, GlassFish, JBoss, Jetty, JEUS, Resin, WebLogic, WebSphere

 

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

 

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

 

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

 

오픈 소스(Open Source)는 누구나 제한 없이 사용할 수 있도록 소스 코드를 공개한 것으로 오픈 소스 라이선스를 만족하는 소프트웨어

 

- 라이선스의 종류, 사용자 수, 기술의 지속 가능성 등 고려해야 함

 

 

 

 

 

 

 

 

 

 

 

출처 | <시나공> 정보처리기사 필기 2024 기본서 (길벗알앤디)

 

 
728x90