이전 공부자료
https://codespecialist.tistory.com/57
2025 정보처리기사 필기 도전기 1 - 소프트웨어 설계
안녕하세요. 이번에 새로운 자격증을 취득하려고 하는데 그것은 바로 정보처리기사입니다!!오늘부터 도전해서 2차에 시험을 보려고 하는데요! 준비하시는 분들은 아래 요약본을 보고 같이 공부
codespecialist.tistory.com
2025 정보처리기사 필기 도전기 2 - 소프트웨어 설계
2025 정보처리기사 필기 도전기 2 - 소프트웨어 설계
1차 공부 자료https://codespecialist.tistory.com/57 2025 정보처리기사 필기 도전기 1 - 소프트웨어 설계안녕하세요. 이번에 새로운 자격증을 취득하려고 하는데 그것은 바로 정보처리기사입니다!!오늘부
codespecialist.tistory.com
오늘도 열심히 들은 내용을 공유하겠습니다~
■ XP(eXtreme Programming) ※ 소규모 프로젝트에 적합
수시로 발생하는 고객의 요구사항에 유연하게 대응하기 위해 고객의 참여와 개발 과정의 반복을 극대화하여 개발 생산성을 향상하는 방법
1. XP는 짧고 반복적인 개발주기, 단순한 설계, 고객의 적극적인 참여를 통해 소프트웨어를 빠르게 개발하는 것을 목적으로 함
2. 릴리즈의 기간을 짧게 반복하면서 고객의 요구사항 반영에 대한 가시율 높임
3. 릴리즈 테스트마다 고객을 직접 참여시킴으로써 요구한 기능이 제대로 작동하는지 고객이 직접 확인할 수 있음
4. 비교적 소규모 인원의 개발 프로젝트에 효과적임
5. XP의 5가지 핵심가치 : 의사소통(Communication), 단순성(Simplicity), 용기(Courage), 존중(Respect), 피드백(Feedback)
※ 피(피드백) 존(존중)의(의사소통) 용기는 단순하다로 외우면 빠르게 외울 수 있다.
■XP 개발 프로세스
사용자 스토리
1. 고객의 요구사항을 간단히 시나리오로 표현한 것
2. 내용은 기능 단위로 구성하며, 필요한 경우 간단한 테스트 사항(Test Case)도 기재함.
릴리즈 계획 수립
1. 몇 개의 스토리가 적용되어 부분적으로 기능이 완료된 제품을 제공하는 것을 릴리즈라고 함
2. 부분 혹은 전체 개발 완료 시점에 대한 일정을 수립함
스파이크
1. 요구사항의 신뢰성을 높이고 기술 문제에 대한 위험을 감소시키기 위해 별도로 만드는 간단한 프로그램
2. 처리할 문제 외의 다른 조건은 모두 무시하고 작성함.
이터레이션(주기)
1. 하나의 릴리즈를 더 세분화한 단위를 이터레이션이라고 함.
2. 일반적으로 1~3주 정도의 기간으로 진행됨
3. 이 기간 중에 새로운 스토리가 작성될 수 있으며, 작성된 스토리는 진행 중인 이터레이션 혹은 다음 이터레이션에 포함될 수 있음
승인 검사(인수테스트)
1. 하나의 이터레이션 안에서 계획된 릴리즈 단위의 부분 완료 제품이 구현되면 수행하는 테스트
2. 사용자 스토리 작성 시 함께 기재한 테스트 사항에 대해 고객이 직접 수행함.
3. 테스트 과정에서 발견한 요구사항은 다음 이터레이션에 포함함.
4. 테스트 이후 새로운 요구사항이 작성되거나 요구 사항의 상대적 우선순위가 변경될 수 있음.
5. 테스트가 완료되면 다음 이터레이션을 진행함.
소규모 릴리즈
1. 릴리즈를 소규모로 하게 되면, 고객의 반응을 기능별로 확인할 수 있어 고객의 요구사항에 좀 더 유연하게 대응할 수 있음.
2. 계획된 릴리즈 기간 동안 진행된 이터레이션이 모두 완료되면 고객에 의한 최종 테스트를 수행한 후 릴리즈, 즉 최종 결과물을 고객에게 전달함.
3. 릴리즈가 최종 완제품이 아닌 경우 다음 릴리즈 일정에 맞게 개발을 계속 진행함.
■ XP기법
XP 주요 실천 방법 ※ 영문명까지 기억 필요!
Pair Programming (짝 프로그래밍) |
다른 사람과 함께 프로그래밍을 수행함으로써 개발에 대한 책임을 공동으로 나눠 갖는 환경을 조성함 (2명 1PC) - 실제 개발자 / 네비게이터(길잡이) |
Collective Ownership (공동 코드 소유) |
개발 코드에 대한 권한과 책임을 공동으로 소유함 |
Test-Driven Development (테스트 주도 개발) |
개발자가 실제 코드를 작성하기 전에 테스트 케이스를 먼저 작성하므로 자신이 무엇을 해야할지를 정확히 파악함 테스트가 지속적으로 진행될 수 있도록 자동화된 테스팅 도구(구조,프레임 워크)를 사용함 |
Whole Team (전체 팀) |
개발에 참여하는 모든 구성원(고객포함)들은 각자 자신의 역할이 있고 그 역할에 대한 책임을 가져야 함 |
Continuous Intergration (계속적인 통합) |
모듈단위로 나눠서 개발된 코드들은 하나의 작업이 마무리 될 때마다 지속적으로 통합됨 |
Refactoring (리팩토링) |
프로그램의 단순화,유연성 강화 등을 위해 기능의 변경없이 시스템을 재구성함 |
Small Releases (소규모 릴리즈) |
릴리즈 기간을 짧게 반복함으로써 고객의 요구 변화에 신속히 대응할 수 있음 |
■ 현행시스템 파악 절차
새로 개발하려는 시스템의 개발 범위를 명확히 설정하기 위해 현행 시스템의 구성과 제공기능, 시스템 간의 전달정보, 사용되는 기술 요소, 소프트웨어, 그리고 네트워크 구성 등을 파악함
1단계 | 2단계 | 3단계 |
시스템 구성파악 시스템 기능파악 시스템 인터페이스파악 |
아키텍처 구성파악 소프트웨어 구성파악 |
하드웨어 구성파악 네트워크 구성파악 |
■ 1단계
1. 시스템 구성파악
현행 시스템의 구성은 조직의 주요 업무를 담당하는 기간업무와 이를 지원하는 지원 업무로 구분하여 구술함.
조직 내에 있는 모든 정보시스템의 현황을 파악할 수 있도록 각 업무에 속하는 단위업무 정보시스템들의 명칭, 주요 기능들을 명시함.
ex) 금융기관의 여신관리 업무와 고객관리 업무 시스템 현황
구분 | 시스템명 | 시스템 내용 |
여신관리업무 | 여신기회관리 시스템 | 여신기획관리를 위한 여신요율 책정, 연간 여신 운영 지침 수립 등의 기능을 제공하는 시스템 |
여신상담관리 시스템 | 여신상담 관리를 위한 거래처정보 관리,여신상담, 대출의향서 발급 기능을 제공하는 시스템 | |
고객관리업무 | 고객등록처리 시스템 | 고객의 기본 정보를 관리하기 위한 등록,변경,조회,삭제 등의 기능을 제공하는 시스템 |
2. 시스템 기능파악
현행 시스템의 기능은 단위 업무 시스템이 현재 제공하는 기능들을 주요 기능과 하부기능, 세부 기능으로 구분하여 계층형으로 표시함
ex) 여신상담 관리 시스템의 주요 기능과 하부, 세부 기능
단위업무 시스템 | Level1(주요 업무기능) | Level2(세부 업무기능) | Level3(세부 업무기능활동) |
여신상담 관리 | 여신기획 관리 | 여신효율 책정 | |
연간 여신운영지침 수립 | |||
여신상담 관리 | 거래처 정보관리 | 거래처 정보등록 | |
신용정보 관리 | |||
여신상담 | 거래처 정보관리 | 대상거래 파악 | |
상담결과보고 | |||
신용조사의뢰 |
3. 시스템 인터페이스 파악
현행 시스템의 인터페이스에는 단위 업무 시스템 간에 주고받는 데이터의 종류, 형식, 프로토콜, 연계유형, 주기 등을 명시함
데이터를 어떤 형식으로 주고받는지, 통신규약은 무엇을 사용하는지, 연계 유형은 무엇인지 등을 반드시 고려해야 함.
ex) 여신상담 관리시스템의 인터페이스 현황
송신 시스템 | 수신 시스템 | 연동 데이터 | 연동 형식 | 통신규약 | 연계유형 | 주기 |
여신상담 관리 시스템 | 여신관리센터 | 연체 정보 | XML | TCP/IP | EAI | 하루(일) |
여신상담 관리 시스템 | 여신금융협회 | 부도 정보 | XML | X.25 | FEP | 수시 |
■ 2단계
1. 아키텍처 구성파악
현행시스템의 아키텍처 구성은 기간 업무 수행에 어떠한 기술 요소들이 사용되는지 최상위 수준에서 계층별로 표현한 아키텍처 구성도로 작성함.
아키텍처가 단위 업무 시스템별로 다른 경우에는 가장 핵심이 되는 기간 업무 처리 시스템을 기준으로 표현함.
ex) 회원 정보 관리 시스템 아키텍처 구성도
2. 소프트웨어 구성파악
소프트웨어 구성에는 단위 업무 시스템별로 업무처리를 위해 설치되어 있는 소프트웨어들의 제품명, 용도, 라이선스 적용 방식, 라이선스 수등을 명시함.
시스템 구축비용 면에서 소프트웨어 비용이 적지 않은 비중을 차지하므로, 사용 소프트웨어의 경우 라이선스 적용 방식의 기준과 보유한 라이선스의 파악이 중요함
ex) 단위 업무 시스템별 소프트웨어 현황
구분 | 시스템명 | SW제품명 | 용도 | 라이선스 적용방식 | 라이선스 수 |
여신관리 업무 | 거래처정보 관리 시스템 | Apache Tomcat | WAS | 오픈소스 Apache License |
1 |
MySQL | 데이터베이스 | GPL 또는 상용 | 1 | ||
UNIX | 운영체제 | GNU GPL | 1 | ||
대출의향서 발급 시스템 | Sage | ERP | 상용 | 1 | |
Oracle | 데이터베이스 | GPL 또는 상용 | 1 | ||
window 10 | 운영체제 | DSP | 5 |
■ 3단계
1. 하드웨어 구성 파악
하드웨어 구성에는 단위 업무 시스템들이 운용되는 서버의 주요 사양과 수량, 그리고 이중화의 적용여부를 명시함.
서버의 이중화는 기간 업무의 서비스 기간 장애 대응 정책에 따라 필요여부가 결정됨
현행 시스템에 이중화가 적용된 경우 대부분 새로 구성될 시스템에도 이중화가 필요하므로 이로 인한 비용증가와 시스템 구축 난이도가 높아질 가능성을 고려해야 함.
구분 | 시스템명 | 서버용도 | 제품명 | 주요사양 | 수량 | 이중화 |
여신관리업무 | 여신정보관리시스템 | AP서버 | HPE ProLiant DL360 Gen10 서버 | CPU : 2.6GHz 8core / 24T x 2ea,30MB Cache Memory : 8GB RDIMM, 2133MT/s x 8ea HDD : 300GB 15k RPM SAS 2.5" x 3ea + 600GB 15k RPM SAS 2.5" x 4ea RAID Controller : 2GB 캐시 |
1 | N |
DB서버 | HPE Integrty Superdome 2 서버 | CPU : 3.2GHz 12core / 24T x 2ea,50MB Cache Memory : 16GB RDIMM, 2133MT/s x 8ea HDD : 1TB 15k RPM SAS 2.5" x 3ea + 2TB 15k RPM SAS 2.5" x 4ea RAID Controller : 4GB 캐시 |
1 | Y |
2. 네트워크 구성파악
네트워크 구성은 업무시스템들의 네트워크 구성을 파악할 수 있도록 서버의 위치, 서버 간의 네트워크 연결 방식을 네트워크 구성도로 작성함
네트워크 구성도를 통해 서버들의 물리적인 위치관계를 파악할 수 있고 보안 취약성을 분석하여 적절한 대응을 할 수 있음
네트워크에 장애가 발생한 경우 발생 원인을 찾아 복구하기 위한 용도로 활용될 수 있음
ex) 자원관리 팀, 마케팅팀, 업무지원팀의 인터넷 접속을 위한 네트워크 구성
'자격증(정보처리기사)' 카테고리의 다른 글
2025 정보처리기사 필기 도전기 6 - UML개요 (1) | 2025.04.14 |
---|---|
2025 정보처리기사 필기 도전기 5 - 요구사항 분 (1) | 2025.04.09 |
2025 정보처리기사 필기 도전기 4 - 개발기술환경파악 (2) | 2025.04.08 |
2025 정보처리기사 필기 도전기 2 - 소프트웨어 설계 (5) | 2025.04.04 |
2025 정보처리기사 필기 도전기 1 - 소프트웨어 설계 (2) | 2025.04.02 |