개발 기술 환경의 정의
개발하고자 하는 소프트웨어와 관련된 운영체제(Operating System), 데이터베이스 관리 시스템(DataBase Management System), 미들웨어(Middle Ware)등을 선정할 때 고려할 사항을 기술하고, 오픈 소스 사용 시 주의해야 할 내용을 제시해야 한다.
운영체제(OS, Operating System)
운영체제는 컴퓨터 시스템의 자원들을 효율적으로 관리하며, 사용자가 컴퓨터를 편리하고 효율적으로 사용할 수 있도록 환경을 제공하는 소프트웨어이다.
- 컴퓨터 사용자와 컴퓨터 하드웨어 간의 인터페이스로서 동작하는 시스템 소프트웨어의 일종으로, 다른 응용 프로그램이 유용한 작업을 할 수 있도록 환경을 제공해준다.
- 컴퓨터 운영체제의 종류에는 Windows,UNIX,Linux,Mac os 등이, 모바일 운영체제에는 IOS, Android 등이 있다.
운영체제 관련 요구사항 식별 시 고려사항
운영체제와 관련된 요구사항 식별 시 다음과 같은 사항을 고려해야 한다.
구분 | 내용 |
가용성 |
시스템의 장시간 운영으로 인해 발생할 수 있는 운영체제 고유의 장애 발생 가능성 메모리 누수로 인한 성능 저하 및 재가동 보안상 발견된 허점을 보완하기 위한 지속적인 패치 설치로 인한 재가동 운영체제의 결함 등으로 인한 패치 설치를 위한 재가동 |
성능 |
대규모 동시 사용자 요청에 대한 처리 대규모 및 대용량 파일 작업에 대한 처리 지원 가능한 메모리 크기 |
기술지원 |
제작업체의 안정적인 기술 지원 여러 사용자들 간의 정보 공유 오픈 소스 여부(Linux) |
주변기기 |
설치 가능한 하드웨어 여러 주변기기 지원 여부 |
구축비용 |
지원 가능한 하드웨어 비용 설치할 응용 프로그램의 라이선스 정책 비용 유지관리 비용 총 소유 비용(TCO) |
데이터베이스 관리 시스템 (DBMS)
DBMS는 사용자와 데이터베이스 사이에서 사용자의 요구에 따라 정보를 생성해 주고, 데이터베이스를 관리해 주는 소프트웨어입니다.
- DBMS는 기존의 파일 시스템이 갖는 데이터의 종속성과 중복성의 문제를 해결하기 위해 제안된 시스템으로, 모든 응용 프로그램들이 데이터베이스를 공용할 수 있도록 관리해 준다.
- DBMS는 데이터베이스의 구성, 접근방법, 유지관리에 대한 모든 책임을 진다.
- DBMS의 종류에는 Oracle,IBM DB2, Microsoft SQL Server, MySQL, SQLite, MongoDB, Redis 등이 있다.
DBMS 관련 요구사항 식별 시 고려사항
DBMS와 관련된 요구사항 식별 시 다음과 같은 사항을 고려해야한다.
구분 | 내용 |
가용성 |
시스템의 장시간 운영으로 인해 발생할 수 있는 운영체제 고유의 장애 발생 가능성 DBMS의 결함 등으로 인한 패치 설치를 위한 재가동 백업이나 복구의 편의성 DBMS 이중화 및 복제 지원 |
성능 |
대규모 데이터 처리 성능(분할 테이블 지원 여부) 대용량 트랜잭션 처리 성능 튜닝 옵션의 다양한 지원 최소화된 설정과 비용 기반 질의 최적화 지원 |
기술 지원 |
제작업체의 안정적인 기술 지원 여러 사용자들 간의 정보 공유 오픈 소스 여부 |
상호 호환성 |
설치 가능한 운영체제의 종류 JDBC,ODBC와의 호환 여부 |
구축 비용 |
라이선스 정책 비용 유지관리 비용 총 소유 비용 |
웹 애플리케이션 서버(WAS)
웹 애플리 케이션 서버는 정적인 콘텐츠 처리를 하는 웹 서버와 달리 사용자의 요구에 따라 변하는 동적인 콘텐츠를 처리하기 위해 사용되는 미들웨어입니다.
- 데이터 접근, 세션 관리, 트랜젝션 관리 등을 위한 라이브러리를 제공합니다.
- 주로 데이터베이스 서버와 연동해서 사용합니다.
- 웹 애플리케이션 서버의 종류 : Tomcat, GlassFish, JBoss, Jetty, JEUS, Resin, WebLogic, WebSphere 등이 있다.
웹 애플리케이션 서버 관련 요구사항 식별 시 고려사항
웹 애플리케이션 서버와 관련된 요구사항 식별 시 다음과 같은 사항을 고려해야함
구분 | 내용 |
가용성 |
시스템의 장시간 운영으로 인해 발생할 수 있는 고유의 장애 발생 가능성 WAS의 결함 등으로 인한 패치 설치를 위한 재가동 안정적인 트랜젝션 처리 WAS 이중화 지원 |
성능 |
대규모 트랜잭션 처리 성능 다양한 설정 옵션 지원 가비지 컬렉션의 다양한 옵션 |
기술지원 |
제조업체의 안정적인 기술 지원 여러 사용자들 간의 정보 공유 오픈소스 여부 |
구축비용 |
라이선스 정책 비용 유지관리 비용 총 소유 비용 |
오픈 소스 사용에 따른 고려사항
오픈 소스는 누구나 별다른 제한 없이 사용할 수 있도록 소스 코드를 공개한 것으로 오픈 소스 라이선스를 만족하는 소프트웨어이다.
오픈 소스를 사용하는 경우에는 라이선서의 종류, 사용자 수 , 기술의 지속 가능성 등을 고려해야 함
'정보처리' 카테고리의 다른 글
요구사항 분석 기법 (0) | 2020.04.27 |
---|---|
요구사항 정의 (0) | 2020.04.26 |
현행 시스템 파악 절차에 대해 알아보자 (0) | 2020.04.23 |
3.XP(eXtreme Programming)이란 무엇일까? (0) | 2020.04.21 |
2.스크럼(Scrum) 기법이란? (0) | 2020.04.20 |