개발 기술 환경의 정의
- 개발하고자하는 소프트웨어와 관련된 운영체제, 데이베이스 관리 시스템(DBMS), 미들 웨어 등을 선정할 때 고려해야 할 사항을 기술, 오픈 소스 사용시 주의해야 할 내용을 제시
운영 체제(OS; Operating System)
- 운영 체제 -> 컴퓨터 시스템 자원 효율적 관리
- 사용자와 하드웨어 간 인터페이스
운영체제 관련 요구사항 식별 시 고려사항
- 가용성: 장시간 운영으로 인한 장애, 메모리 누수 , 보안/에러 패치로 인한 재가동
- 성능: 대규모 사용자 처리, 대용량 파일 처리, 지원가능한 메모리 크기(32bit, 64bit)
- 기술 지원: 제작자의 기술지원, 여러 사용자간 커뮤니티, 오픈소스 여부
- 주변기기: 설치 가능한 하드웨어, 주변 기기 지원 여부
- 구축 비용: 히드웨어 비용, 라이선스, 유지관리 비용, 총 소유비용(TCO)
데이터베이스 관리 시스템(DBMS; DataBase Management System)
- 사용자와 데이터 베이스 사이에서 사용자의 요구에 따라 정보를 생성, 데이터베이스를 관리
- 기존 파일 시스템(각 응용 프로그램들이 개별적으로 자기 데이터를 file로 관리)의 데이터 종속성과 중복성 문제 를 해결하기 위해 제안됨
- 데이터 종속성: 데이터의 구성방식이나 접근 방법에 대한 응용 프로그램과 데이터 간의 상호 종속 관계
- 데이터 중복성: 같은 데이터를 여러 응용 프로그램에서 이용해야 하는 경우
- 모든 응용 프로그램이 데이터베이스를 공용 할 수 있도록 관리
- 데이터베이스 구성, 접근 방법, 유지관리 에 대한 모든 책임을 짐
- Oracle, DB2, MS SQL Server, MySQL, SQLite, MongoDB, Redis
DBMS 관련 요구사항 식별 시 고려사항
- 가용성: 백업/복구의 편의성, DBMS 이중화 지원 여부
- 성능: 대규모 데이터 처리, 분할 테이블 지원 여부, 대용량 트랜잭션 처리, 다양한 튜닝 옵션, 비용기반 질의 최적화(질의의 대한 다양한 실행방법을 만들고 각각의 방법에 대한 비용을 추정)
- 기술지원: 제작자의 기술지원, 커뮤니티, 오픈소스
- 상호 호환성: 설치 가능한 운영체제, JDBC/ODBC 여부(JDBC: 자바와 DB를 연결해주는 인터페이스, ODBC: 응용 프로그램과 DB를 연결해주는 인터페이스)
- 구축 비용: 라이선스,, 유지관리, 총 소유비용
웹 어플리케이션 서버(WAS; Web Application Server)
- 정적인 콘텐츠 -> 웹서버, 동적인 콘텐츠 -> 웹 어플리케이션 서버
- 데이터 접근, 세션 관리, 트랜잭션 관리 를 위한 라이브러리
- 주로 데이터베이스 서버와 연결
- TomCat, GlassFish, JBoss, Jetty, JEUS, Resin,, Web Logic, Websphere
웹 어플리케이션 서버 관련 요구사항 식별 시 고려사항
- 가용성: 고유적인 장애, 안정적 트랜잭션, WAS 이중화 지원여부
- 성능: 대규모 트랜잭션 처리 여부, 다양한 설정 옵션, 가비지 콜렉션(사용하지 않는 메모리 공간을 강제로 해제하는 기법) 지원
- 기술지원: 안정적인 기술지원, 커뮤니티, 오픈 소스 여부
- 구축 비용: 라이선스, 유지/보수 비용, 총 소유 비용
오픈 소스 사용에 따른 고려사항
- 오픈소스: 누구나 별 다른 제한 없이 사용할 수 있도록 소스코드를 공개한 것, 오픈소스 라이선스를 만족하는 소프트웨어
- 라이선스의 종류, 사용자 수, 기술의 지속 가능성 을 고려
'CS > 정보처리기사' 카테고리의 다른 글
[소프트웨어 설계] 요구사항 분석 (0) | 2022.04.16 |
---|---|
[소프트웨어 설계] 요구사항 정의 (0) | 2022.04.16 |
[소프트웨어 설계] 현행 시스템 파악 (0) | 2022.04.09 |
[소프트웨어 설계] XP 기법(eXtreme Programming) (0) | 2022.04.05 |
[소프트웨어 설계] 스크럼 기법 (0) | 2022.04.05 |