[정보처리기사 실기] 1. 요구사항 확인
Chapter 01 현행 시스템 분석
1. 현행 시스템 파악 ★★★
-
현행 시스템 파악 : 현행 시스템이 어떤 하위 시스템으로 구성되어 있고, 제공 기능 및 연계 정보는 무엇이며 어떤 기술 요소를 사용하는지를 파악하는 활동
- 현행 시스템 파악 절차 ★
- 1단계 : 구성/기능/인터페이스 파악
- 구성현황 : 기간업무/지원업무
- 기능현황 : 계층형
- 인터페이스현황 : 데이터형식/통신규약/연계유형
- 2단계 : 아키텍처 및 소프트웨어 구성 파악
- 아키텍처 구성 : 기술 요소 최상위 수준에서 파악
- 소프트웨어 구성 : 라이선스 적용 방식, 라이선스 수
- 하드웨어 및 네트워크 구성 파악
- 하드웨어 구성 : 주요 사양, 이중화
- 네트워크 구성 : 네트워크 구성도
- 1단계 : 구성/기능/인터페이스 파악
-
소프트웨어 아키텍처 : 여러가지 SW구성요소와 그 구성요소가 가진 외부 노출 특성, 구성요소간의 관계를 표현하는 시스템의 구조나 구조체. SW를 설계하고 전개하기 위한 지침이나 원칙
-
소프트웨어 아키텍처 프레임워크 구성요소 : 아키텍처 명세서, 이해관계자, 관심사, 관점, 뷰
- 소프트웨어 아키텍처 4+1 뷰(유논프구배) ★
- 유스케이스 뷰 : 도출, 설계, 검증
- 논리 뷰 : 기능적 요구사항, 클래스 다이어그램
- 프로세스 뷰 : 비기능적 요구사항
- 구현 뷰 : 컴포넌트 다이어그램
- 배포 뷰 : 배포 다이어그램, 비기능적 요구사항
- 현행 시스템 분석서 작성 및 검토 절차
- 현행 시스템 관련 자료 수집
- 자료 분석
- 분석 대상 ★
- 정보시스템 구성/기능 구성도 : 주요 기능, 기능 구성
- 인터페이스 현황 : 송,수신 시스템, 연동데이터 형식
- 현행 시스템 아키텍처 구성도 : 운영체제의 종류, 데이터 연동방식
- 소프트웨어 구성도 : 라이선스 적용방식, 라이선스 수
- 하드웨어 구성도 : CPU/메모리/하드디스크 용량 및 수량, 이중화 적용여부
- 네트워크 구성도 : 장비 주요 사양, 연동 프로토콜
- 분석 대상 ★
- 산출물 작성(현기인 아소하네) ★
- 분석 산출물 종류
- 정보시스템 구성 현황
- 정보시스템 기능 구성도
- 인터페이스 현황
- 현행 시스템 아키텍처 구성도
- 소프트웨어 구성도
- 하드웨어 구성도
- 네트워크 구성도
- 분석 산출물 종류
- 산출물 검토
2. 개발 기술 환경 정의 ★★★
-
운영체제 : 컴퓨터 시스템이 제공하는 하드웨어, 소프트웨어를 사용할 수 있도록 해주고, 사용자와 하드웨어 간 인터페이스를 담당하는 프로그램
- 운영체제 현행 시스템 분석 ★
- 품질 측면
- 신뢰도 : 장애 발생 가능성, 재기동 여부
- 성능 : 배치 작업, 지원 가능한 메모리 크기
- 지원 측면
- 기술 지원 : 공급사 기술 지원, 오픈소스 여부
- 주변 기기 : 설치 가능한 하드웨어, 다수의 주변 기기 지원 여부
- 구축 비용 : 지원 가능한 하드웨어 비용, 라이선스 정책 및 비용, 유지 및 관리 비용
- 품질 측면
-
네트워크 : 컴퓨터 장치들의 노드 간 연결을 이용하여 서로 데이터를 교환하게 하는 기술
- OSI 7계층(아파서 티내다, 피나다 APSTNeDaPhy) ★
- 응용(Application) : 응용서비스 연결, 데이터 생성, HTTP/FTP, 데이터
- 표현(Presentation) : 데이터 형식 설정, 부호겨환, 암/복호화, JPEG\MPEG, 데이터
- 세션(Session) : 연결 접속 및 동기제어, SSH/TLS, 데이터
- 전송(Transport) : 신뢰성, 데이터 분할 및 재조립, 흐름/오류/혼잡 제어, TCP/UDP, 세그먼트
- 네트워크(Network) : 최적화된 경로, IP,ICMP, 패킷
- 데이터링크(Data Link) : 인접 시스템 데이터 전송, 전송 오류 제어, 동기화, 흐름 제어, 오류검출, 재전송, 이더넷, 프레임
- 물리(Physical) : 전기적 신호 변환, RS-232C, 비트
-
네트워크 현행 시스템 분석 : 네트워크 구성도를 통해 분석, 백본망, 라우터, 스위치, 게이트웨이, 방화벽 대상 분석
-
DBMS의 기능 : 중복제어, 접근통제, 인터페이스 제공, 관계 표현, 샤딩/파티셔닝, 무결성 제약조건, 백업 및 회복
- DBMS 현행 시스템 분석 ★
- 성능 측면 : 가용성, 성능, 상호 호환성
- 지원 측면 : 기술 지원, 구축 비용
-
미들웨어 : 분산 컴퓨팅 환경에서 응용 프로그램과 프로그램이 운영되는 환경 간에 원만한 통신이 이루어질 수 있도록 제어해주는 소프트웨어
-
웹 에플리케이션 서버(WAS) : 서버 계층에서 애플리케이션이 동작할 수 있는 환경 제공, 트랜젝션 처리, 다른 시스템과의 연동을 지원
- 미들웨어 현행 시스템 분석 시 고려 사항 ★
- 성능 측면 : 가용성, 성능
- 지원 측면 : 기술 지원, 구축 비용
- 오픈 소스 사용 시 고려 사항
- 라이선스의 종류, 사용자 수, 기술의 지속 가능성 등
- 전제 조건 : 자유 배포, 코드 공개, 코드 일관성 확보, 라이선스 배포, 포괄적 허용 등
- CPU 용량 산정식 ★
- OLTP/배치/데이터베이스 서버 : tpmC 사용
- WEB/WAS 서버 : ops 사용
Chapter 02 요구사항 확인
1. 요구사항 ★★★
- 요구사항 분류 ★
- 기능적 요구사항(기완일) : 기능성, 완전성, 일관성
- 비기능적 요구사항(신사효유이) : 신뢰성, 사용성, 효율성, 유지보수성, 이식성
-
요구사항 개발 프로세스(도분명확) ★ : 요구사항 도출 -> 요구사항 분석 -> 요구사항 명세 -> 요구사항 확인
- 요구사항 개발 프로세스 주요기법
- 도출 : 인터뷰(1:1), 설문조사, 브레인스토밍, 워크숍
- 분석 : 자료 흐름 지향 분석(DFD), 객체지향 분석(UML)
- 명세 : 자연어, 정형화 기법
- 확인(동워인) ★ : 동료검토, 워크스루, 인스펙션
-
요구사항 관리 프로세스(협기변확) : 요구사항 협상 -> 요구사항 기준선 -> 요구사항 변경 관리 -> 요구사항 확인 및 검증
- 요구사항 분석 기법(분개할협정) ★
- 요구사항 분류 : 기능/비기능, SW생명주기
- 개념 모델링 : Entity, 유스케이스 다이어그램, UML
- 요구사항 할당 : 아키텍처 구성요소 식별, 추가적안 요구사항 발견
- 요구사항 협상 : 이해관계자 합의
- 정형 분석 : 언어로 표현
- 요구사항 확인 기법(요프모인) ★
- 요구사항 검토 : 에러, 표준과의 차이 검토, 시스템 정의서/시스템 사양서/소프틑웨어 요구사항 명세서 완료 후
- 프로토타이핑 : 새로운 요구사항을 도출하기 위한 수단 및 소프트웨어 요구사항에 대해 소프트웨어 엔지니어가 해석한 것을 확인하기 위한 수단으로 사용
- 모델 검증 : 개발한 모델의 품질 검증, 정적 분석
- 인수 테스트 : 요구사항을 확인하는 테스트
- 요구사항 확인 프로세스(목정비타) ★
- 요구사항 목록 확인
- 요구사항 정의서 작성 여부 확인
- 비기능적 요구사항의 확인
- 타 시스템 연계 및 인터페이스 요구사항 확인
2. 요구사항의 시스템화 타당성 분석 ★
- 요구사항의 기술적 타당성 검토
- 성능 및 용량 산정의 적정성
- 시스템 간 상호 운용성(다른 목적을 지닌 2개 이상의 시스템들이 상호간 정보 및 서비스를 교환하면서 효과적으로 운용될 수 있는 IT시장 성숙도 및 트렌드 부합성)
- 기술적 위험 분석
- 요구사항의 기술적 타당성 분석 프로세스
- 타당성 분석 결과 기록
- 타당성 분석 결과의 이해관계자 검증(프로젝트 관리자 중재)
- 타당성 분석 결과 확인 및 배포/공유
- 비용 산정 모델
- 하향식 : 전문가 판단, 델파이 기법
- 상향식
- LoC(Lines of Code)
- 예측치 = (o+4m+p)/6
- o : 낙관치, 가장 적게 측정된 코드 라인 수
- m : 중간치, 측정된 모든 코드 라인 수의 평균
- p : 비관치, 가장 많이 측정된 코드 라인 수
- Man Month
- LoC/프로그래머의 월간 생산성
- 프로젝트 기간 = Man Month / 프로젝트 인력
- COCOMO : 단순형, 중간형, 임베디드형
- 푸트남 모형 : SLIM
- 기능점수(FP) 모형 : 정규법, 간이법
- LoC(Lines of Code)
Chapter 03 분석 모델 확인하기
1. 분석 모델 검증 ★★★
- 분석 모델 검증 방법(유개분)
- 유스케이스 모델 검증 : 액터, 유스케이스, 유스케이스 명세서 점검
- 개념 수준의 분석 클래스 검증 : 도메인 개념
- 분석 클래스 검증 : 스테레오 타입
- 분석 클래스의 스테레오 타입 ★
- 경계 :
엔티티 : 제어 :
- 경계 :
- 분석 모델 검증 프로세스
- 검토의견 칼럼 추가 -> 검토의견 작성 -> 검토의견 정제
2. 분석 모델의 시스템화 타당성 분석 ★★
- 분석 모델의 기술적 타당성 검토 항목(성상아기)
- 성능 및 용량 산정의 적정성 : 요구사항 만족, 적당한 양의 속성
- 시스템 간 상호운용성 : 시스템 간 상호 정보 및 서비스 교환 가능
- IT시장 성숙도 및 트렌드 부합성 : 분석 자동화 도구
- 기술적 위험분석 : 기술 구조, 프레임워크와 부합되는지 확인, 추가적인 비용, 특허, 라이선스
- 분석 모델의 시스템화 타당성 분석 프로세스(컬작검확) ★
- 타당성 검토의견 컬럼 추가
- 타당성 검토의견 작성
- 타당성 분석 결과 검증
- 타당성 분석 결과 확인 및 배포/공유