달짱달짱

[요구사항 확인] 개발 기술 환경 정의 본문

정보처리기사 실기/[정리] 요구사항 확인

[요구사항 확인] 개발 기술 환경 정의

달콩쨩 2021. 6. 30. 23:58

I. 운영체제 : 컴퓨터 시스템이 제공하는 모든 하드웨어, 소프트웨어를 사용할 수 있도록 해주고,

                 컴퓨터 사용자와 컴퓨터 하드웨어 간의 인터페이스를 담당하는 프로그램이다. 

                예) PC - Windows (Microsoft), UNIX (IBM, HP, SUN), Linux (LInus Torvalds)

                    모바일 - Android (Google), iOS (Apple)

    ▶ 운영체제 현행 시스템 분석 시 고려 사항 : 

        a. 품질 측면 

            ① 신뢰도 : 장기간 운영시 장애 발생 가능성 

            ② 성능 : 대규모 대량 파일 작업 (배치 파일) 처리 , 지원 가능 메모리 크기 (32bit, 64bit)

        b. 지원 측면 

            ① 기술 지원 : 오픈 소스 여부 

            ② 주변 기기 : 다수의 주변기기 지원 여부

            ③ 구축 비용 : 지원 가능한 하드웨어 비용 

 

II. 네트워크 : 컴퓨터 장치들의 노드 간 연결(데이터 링크)을 사용하여 서로에게 데이터를 교환할 수 있도록 하는 기술 

    ▶ OSI 7 계층 

        ① 응용 계층 (Application) [전송단위 :Data]

            - 사용자와 네트워크 간 응용 서비스 연결 및 데이터 생성 

            - HTTP, FTP 

        ② 표현 계층 (Presentation) [전송단위 :Data]

            - 데이터 형식 설정과 부호교환 및 암/복호화 

            - JPEG, MPEG

        ③ 세션 계층 (Session) [전송단위 :Data]

            - 연결 접속 및 동기제어 

            - SSH, TLS

        ④ 전송 계층 (Transport) [전송단위 :Segment]

            - 신뢰성 있는 통신 보장. 데이터 분할과 재조립, 흐름제어, 오류 제어, 혼잡제어 등을 담당

            - TCP, UDP

        ⑤ 네트워크 계층 (Network) [전송단위 :Packet]

            - 단말 간 데이터 전송을 위한 최적화된 경로 제공 

            - IP, ICMP 

        ⑥ 데이터 링크 계층 (Data Link) [전송단위 :Frame]

            - 인접 시스템 간 데이터 전송, 전송 오류 제어.

            - 동기화, 흐름 제어 등의 전송 기능 제공. 오류 검출/재전송 등 기능 제공 

            - 이더넷 

        ⑦ 물리 계층 (Physical) [전송단위 :Bit]

            - 0과 1의 비트 정보를 회선에 보내기 위한 전기적 신호 변환

            - RS-232C

    ▶ 네트워크 현행 시스템 분석

        - 네트워크 구성도를 통해 분석 한다. 서버 위치, 서버 간 연결 방식을 파악 할 수 있다.

        - 백본망, 라우터, 스위치, 게이트 웨이, 방화벽 등을 대상으로 분석한다.

        - 물리적인 위치 관계 파악, 조직 내 보안 취약성 분석 및 대응이 가능하다. 

 

III. DBMS (DataBaseManagementSystem) 

    - 기능 

        ① 중복 제어 : 동일한 데이터가 여러 위치에 중복으로 저장되는 현상 방지 

        ② 접근 통제 : 권한에 따라 데이터에 대한 접근 제어 

        ③ 인터페이스 제공 : 사용자에게 SQL 및 CLI, GUI 등 다양한 인터페이스 제공 

        ④ 관계 표현 : 서로 다른 데이터 간의 다양한 관계를 표현할 수 있는 기능 제공

        ⑤ 샤딩 / 파티 셔닝 : 구조 최적화를 위해 작은 단위로 나누는 기능 제공

        ⑥ 무결성 제약 조건 : 무결성에 관한 제약조건을 정의/검사하는 기능 제공

        ⑦ 백업 및 회복 : 데이터 베이스 장애 발생 시 데이터의 보존 기능 제공 

    ▶ DBMS 현행 시스템 분석 시 고려사항 

        a. 성능 측면 

            ① 가용성 :  백업 및 복구 편의성, 장기간 운영 시 장애 발생 가능성, DBMS 이중화 및 복제 지원 여부

            ② 성능 : 대규모 처리 성능, 비용 기반 최적화 지원 및 설정의 최소화 지원 여부 

            ③ 상호 호환성 : 다양한 운영체제에서 지원되는 JDBC, ODBC 

        b. 지원 측면 

            ① 기술 지원 : 오픈 소스 여부 

            ② 구축 비용 : 유지 및 관리 비용 

 

IV. 미들웨어

    - 분산 컴퓨팅 환경에서 응용 프로그램과 프로그램이 운영되는 환경 간에 원만한 통신이 이루어질 수 있도록

      제어해주는 소프트웨어

    - 운영체제와 소프트웨어 애플리케이션 사이에 위치하고 있다. 

    - 대표적인 미들웨어로는 WAS 가 있다. 

    ▶ WAS (Web Application Server) : 웹 애플리케이션 서버는 서버계층에서 애플리케이션이 동작할 수 있는 환경을

                                                 제공하고 안정적인 트랜잭션 처리와 관리, 다른 이기종 시스템과의 애플리케이션

                                                 연동을 지원하는 서버이다. 

    ▶ 미들웨어 현행 시스템 분석 시 고려사항 

        a. 성능 측면 

            ① 가용성 : WAS 이중화 지원 여부, 안정적인 트랜잭션 처리 능력 

            ② 성능 : 가비지 컬렉션의 다양한 옵션 여부 

        b. 지원 측면 

            ① 기술 지원 : 오픈 소스 여부 

                              ☆ 오픈 소스 사용 시 고려 사항 :

                                   - 라이선스의 종류, 사용자 수, 기술의 지속 가능성 고려 필요 

                                   - 오픈 소스의 전제 조건인 자유 배포, 소스 공개, 파생작업 허용, 소스 코드 일관성 확보,

                                     차별금지 , 라이선스 배포, 포괄적 허용 고려 필요

            ② 구축 비용 : 총 소유 비용 

 

V. 개발 기술 환경 요구사항 파악

    a. 기술 환경 정의를 위한 자료 수집 : 수집 자료 목록 및 조사 항목을 설정한다. 

    b. 조사 자료 분석 및 개발 기술 환경 설정 : 조사한 자료를 이용하여 OS, DBMS, WAS등을 결정한다. 

    c. 요구사항 정의서, 목표 시스템 구성도 반영 및 검토 : OS, DBMS, WAS 등 시스템 용량 산정 결과를

                                                                          요구사항 정의서, 목표 소프트웨어 구성도,

                                                                          목표 하드웨어 구성도에 반영한다.