본문 바로가기
Study/정보처리기사

1-2. 소프트웨어 설계

by Murciellago 2020. 12. 2.
반응형
SMALL

***정보처리기사 공부겸 내용 정리***

 

2. 현행 시스템 분석

현행 시스템 파악 정의

   - 하위 시스템 구성요소, 제공 기능, 연계요소 파악

   - 적용 기술요소, 소프트웨어, 하드웨어, 네트워크 구성요소 파악

 

현행 시스템 파악 목적

   - 향후 개발 시스템 개발 범위

   - 이행 방향 설정에 도움

 

현행 시스템 파악 절차

   - 1단계 : 구성 / 기능 / 인터페이스 현황

               => 시스템 구성 현황 파악(기간업무, 지원 업무로 구분, 모든 정보시스템 현황 파악)

               => 스스템 기능파악(현재 제공하고 있는 기능, 주요기능과 하부기능 - 계층형으로 표시)

               => 시스템 인터페이스 현황 파악(데이터 종류/데이터 형식/프로토콜 명시, 포맷/통신규약/연계유형 등 고려)

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

               => 아키텍처 파악(기간 업무 수행기술 요소)

               => 소프트웨어 구성 파악(소프트웨어 제품명, 용도, 라이센스 적용 방식, 라이센스 갯수 명시)

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

               => 시스템 하드웨어 현황 파악(이중화 필요성 여부, 현행 시스템/목표 시스템, 구축기술 난이도/비용증가)

               => 네트워크 구성 파악(네트워크 구성 현황, 서버위치, 네트워크 연결방식, 보안분석/대응, 장애추적/대응)

 

개발기술 환경 정의 요소

     운영체제 => DBMS => 미들웨어 => 오픈소스

 

운영체제 주요 특징 및 고려사항

   a) 운영체제 정의(OS - Operating System)

       - 하드웨어와 소프트웨어 리소스를 관리하고 컴퓨터프로그램을 위한 공통 서비스를 제공하는 소프트웨어

 

   b) 운영체제 특징 및 종류

       - 운영체제는 Windows, Linux, Unix, iOS, Android 등

       - 구축 시스템의 용도에 최적호된 운영체제를 선택하여 적용

 

   c) 정보시스템 구축시 OS 고려사항

       - 구축비용 : 하드웨어 및 소프트웨어 소유 비용이 가장 적음(리눅스 시스템)

                       유지 및 관리비용 측면에서 강점(윈도우 시스템)

       - 신뢰도 : 안정적이고 신뢰적(유닉스 시스템)

       - 성능 : 4GB 메모리까지 액세스(32bit 운영체제)

                 4GB 이상 메모리 액세스 가능(64bit 운영체제)

 

   d) DBMS(Database Management System) 주요 특징

       - DBMS 정의 : 유저, 애플리케이션, 데이터베이스와 상호작용하여 데이터를 저장하고 분석하기 위한 소프트웨어

                          주요기능으로 데이터베이스 생성, 조회, 변경 등

       - DBMS 종류 : Oracle, DB2, SQL, MongoDB, 기타

       

   e) DBMS 고려사항

       - 가용성 : 장기간 시스템을 운영할 때 장애발생 가능성

                    DBMS 버그로 인한 패치설치

                    백업 및 복구 편의성

                    DBMS 이중화/복제

       - 성능 : 대규모 데이터 처리 성능(분할 테이블의 지원 여부)

                 대량 거래 처리 성능

                 다양한 튜닝 옵션 지원

                 비용 기반 최적화 지원 및 설정 최소화

       - 기술지원 : 공급 벤더들의 안정적인 기술지원

                       다수의 사용자들 간의 정보공유

                       오픈 소스여부

       - 호환성 : 설치 가능한 운영체제 종류

       - 구축비용 : 라이센스 정책 및 비용

                       유지 및 관리비용

                       총 소유비용

 

   f) 미들웨어 주요 특징(WAS(웹 애플리케이션 서버) 종류 및 특징)

       - GlassFish : NetBeans 개발 툴과 연동하여 사용

       - JBoss : JBoss 기반 오픈 소스 제품들을 이용하는 경우

       - Jetty : 빠른 처리 속도가 요구되는 경우

       - JEUS : 대량의 안정적인 거래처리가 요구되며 적시의 기술 지원이 필요한 경우

       - Resin : 빠른 처리 속도가 요구되는 경우

       - WebLogic / WebSphere : 대량의 안정적인 거래 처리가 요구되는 경우

   

   g) WAS 고려사항

       - 가용성 : 장기간 시스템을 운영할 때 장애 발생 가능성

                    안정적인 트랜잭션처리

                    WAS 버그 등으로 인한 패치설치

                    WAS 이중환 지원

       - 성능 : 대규모 거래 요청 처리 성능

                 다양한 설정 옵션 지원

                 가비지 컬렉션(GC : Garbage Collection) 다양한 옵션

       - 기술지원 : 공급 벤더들의 안정적인 기술지원

                       다수 유저들 간의 정보 공유

                       오픈 소스 여부

       - 구축비용 : 라이센스 정책 및 비용

                       유지 및 관리비용

                       총 소유비용

 

   h) 오픈소스 정의

        - 소스코드를 공개해 누구나 특별한 제한없이 코드를 보고 사용할 수 있는 오픈소스 소프트웨어

        - 자유로운 사용의 강점

        - 시스템 구축시 적용 여부를 신중하게 결정

 

   i) 오픈소스 사용시 고려사항

        - 라이센스의 종류

        - 유저 인원

        - 기술지속의 가능성

 

< 정리 >

1. 현행 시스템 파악

   - 응용소프트웨어 엔지니어링의 현행 시스템 파악 절차 및 세부 시스템의 구성요소를 도출

 

2. 현행 시스템 구성요소

   - 현행 시스템 아키텍처 구성도

   - 소프트웨어 구성도

   - 하드웨어 구성도

   - 네트워크 구성도

 

3. 개발기술 환경 정의

   - 기술개발 환경에 대한 정의 및 기술 요소별 특징 및 고려사항을 인지

 

4. 개발기술 환경 요소

   - 운영체제

   - DBMS

   - 미들웨어

   - 오픈소스 스프트웨어

 

 

 

 

 

반응형
LIST

'Study > 정보처리기사' 카테고리의 다른 글

4. 인터페이스 설계(요약)  (0) 2021.12.05
3. 애플리케이션 설계(요약)  (0) 2021.12.05
2. 화면설계(요약)  (0) 2021.12.05
1. 요구사항 확인(요약)  (0) 2021.12.05
1-1.소프트웨어 설계  (0) 2020.12.03

댓글