개발 기술 환경 파악 ::
개발 기술 환경이란?
개발하고자 하는 소프트웨어와 관련된 운영체제(Operating System), 데이터베이스 관리 시스템(DataBase Management System), 미들웨어(Middle Ware) 등을 선정할 때 고려해야 할 사항과 오픈 소스 사용 시 주의 해야할 내용 제시
운영체제(OS, Operating System)
컴퓨터 시스템 자원들을 효율적으로 관리해 준다.
사용자와 하드웨어 사이에 인터페이스를 제공해 주는 시스템 소프트웨어의 일종으로
Windows, UNIX, Linux, Mac os등의 컴퓨터 운영체제와, IOS, Android 등의 모바일 운영체제가 여기에 속한다.
데이터베이스 관리 시스템(DBMS)
DBMS는 사용자가 데이터베이스를 조금 더 쉽고 체계적으로 다룰 수 있도록 관리해 주는 소프트웨어이다.
- 기존 파일 시스템이 가지고 있는 데이터의 종속성과 중복성 문제를 해결할 수 있도록 제안된 시스템으로, DB에 대한 모든 권한을 가지며 모든 응용 프로그램들이 데이터베이스를 공용할 수 있도록 관리한다.
여기서 종속성은 데이터가 항상 다른 고유한 데이터에 붙어 다니는 것을 말하는데 예를들어서 사원번호를 알면 그 사원의 이름을 알 수 있지만 반대로 이름만 가지고는 그 사원이 누구인지 정확한 구별이 어렵습니다. 이럴때 이름은 사원번호에 종속적이라고 말한다.
DBMS에 종류에는 Oracle, IBM DB2, Microsoft SQL Server, MySQL, SQLite, MongoDB 등이 있다.
DBMS
관련 요구사항 식별 시 고려사항
가용성 | 현재 내가 하고자 하는 작업을 진행 할 수 있는지를 나타낸다. 시스템 장시간 운영으로 인해 발생할 수 있는 운영체제 장애 발생 가능성 DBMS의 결함 등으로 인한 패치 설치를 위한 재가동 백업이나 복구의 편의성 DBMS 이중화 및 복제 지원 |
성능 | 대규모 데이터 처리 성능(분할 테이블 지원 여부) 대용량 트랜잭션 처리 성능 튜닝 옵션의 다양한 지원 최소화된 설정과 비용 기반 질의 최적화 지원 |
기술지원 | 개발에 필요한 매뉴얼이나 래퍼런스관련 커뮤니티등을 아우르는 개념이다. 뭔가 막혔을때 해결가능한 루트가 얼마나 풍부한지를 뜻한다. 제작업체의 안정적인 기술 지원 여러 사용자들 간의 정보 공유 오픈 소스 여부 |
상호 호환성 | 설치 가능한 운영체제의 종류 JDBC, ODBC와의 호환 여부 |
구축비용 | 라이선스 정책 비용 유지관리 비용 소유 비용 |
웹어플리케이션 서버(WAS)
서버와 클라이언트 사이에서 작동하기 때문에 미들웨어라고도 하고 정적/동적인 콘텐츠를 따로 관리하기 위해 사용한다. 정적인 콘텐츠를 처리 하는 웹 서버와 달리 주식이나 날씨같은 실시간으로 변하는 동적콘텐츠를 처리하기 위해 사용되는 미들웨어이다. 클라이언트는 좀 더 가벼운 로직을 수행할 수 있게되고 주로 데이터베이스 서버와 연동해서 사용한다.
웹어플리케이션 서버의 종류에는 Tomcat, GlassFish, JBoss, Jetty, JEUS, Resin, WebLogic, WebSphere등이 있다.
웹 애플리케이션 서버 관련 요구사항 식별 시 고려사항
가용성 | 현재 내가 하고자 하는 작업을 진행 할 수 있는지를 나타낸다. 시스템 장시간 운영으로 인해 발생할 수 있는 운영체제 장애 발생 가능성 WAS의 결함 등으로 인한 패치 설치를 위한 재가동 안정적인 트랙젝션 처리 WAS 이중화 지원 |
성능 | 대용량 트랜잭션 처리 성능 다양한 설정 옵션 지원 가비지 컬렉션의 다양한 옵션 |
기술지원 | 개발에 필요한 매뉴얼이나 래퍼런스관련 커뮤니티등을 아우르는 개념이다. 제작업체의 안정적인 기술 지원 여러 사용자들 간의 정보 공유 오픈 소스 여부 |
구축비용 | 라이선스 정책 비용 유지관리 비용 소유 비용 |
공통 고려사항
가용성, 성능, 비용, 기술지원
오픈소스에 따른 고려사항
누구나 별다른 제한 없이 사용 가능하도록 공개된 무료기술들을 뜻한다. 무료개념이 라이선스마다 다르기 때문에
라이선스의 종류, 사용자 수, 기술의 지속 가능성 등을 고려해야 한다.
'정보처리기사' 카테고리의 다른 글
소프트웨어 공학 요점 정리 (0) | 2021.07.08 |
---|---|
요구사항 개발 프로세스 (0) | 2021.06.04 |
소프트웨어 아키텍처 비용 평가 모델 종류 (0) | 2021.06.03 |
소프트웨어 아키텍처 패턴 (0) | 2021.06.02 |
소프트웨어 아키텍처 4+1 뷰 (0) | 2021.05.29 |
댓글