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

5 minute read

Chapter 01 현행 시스템 분석

1. 현행 시스템 파악 ★★★

  • 현행 시스템 파악 : 현행 시스템이 어떤 하위 시스템으로 구성되어 있고, 제공 기능 및 연계 정보는 무엇이며 어떤 기술 요소를 사용하는지를 파악하는 활동

  • 현행 시스템 파악 절차 ★
    • 1단계 : 구성/기능/인터페이스 파악
      • 구성현황 : 기간업무/지원업무
      • 기능현황 : 계층형
      • 인터페이스현황 : 데이터형식/통신규약/연계유형
    • 2단계 : 아키텍처 및 소프트웨어 구성 파악
      • 아키텍처 구성 : 기술 요소 최상위 수준에서 파악
      • 소프트웨어 구성 : 라이선스 적용 방식, 라이선스 수
    • 하드웨어 및 네트워크 구성 파악
      • 하드웨어 구성 : 주요 사양, 이중화
      • 네트워크 구성 : 네트워크 구성도
  • 소프트웨어 아키텍처 : 여러가지 SW구성요소와 그 구성요소가 가진 외부 노출 특성, 구성요소간의 관계를 표현하는 시스템의 구조나 구조체. SW를 설계하고 전개하기 위한 지침이나 원칙

  • 소프트웨어 아키텍처 프레임워크 구성요소 : 아키텍처 명세서, 이해관계자, 관심사, 관점, 뷰

  • 소프트웨어 아키텍처 4+1 뷰(유논프구배) ★
    • 유스케이스 뷰 : 도출, 설계, 검증
    • 논리 뷰 : 기능적 요구사항, 클래스 다이어그램
    • 프로세스 뷰 : 비기능적 요구사항
    • 구현 뷰 : 컴포넌트 다이어그램
    • 배포 뷰 : 배포 다이어그램, 비기능적 요구사항
  • 현행 시스템 분석서 작성 및 검토 절차
    1. 현행 시스템 관련 자료 수집
    2. 자료 분석
      • 분석 대상 ★
        • 정보시스템 구성/기능 구성도 : 주요 기능, 기능 구성
        • 인터페이스 현황 : 송,수신 시스템, 연동데이터 형식
        • 현행 시스템 아키텍처 구성도 : 운영체제의 종류, 데이터 연동방식
        • 소프트웨어 구성도 : 라이선스 적용방식, 라이선스 수
        • 하드웨어 구성도 : CPU/메모리/하드디스크 용량 및 수량, 이중화 적용여부
        • 네트워크 구성도 : 장비 주요 사양, 연동 프로토콜
    3. 산출물 작성(현기인 아소하네) ★
      • 분석 산출물 종류
        • 정보시스템 구성 현황
        • 정보시스템 기능 구성도
        • 인터페이스 현황
        • 현행 시스템 아키텍처 구성도
        • 소프트웨어 구성도
        • 하드웨어 구성도
        • 네트워크 구성도
    4. 산출물 검토

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시장 성숙도 및 트렌드 부합성)
    • 기술적 위험 분석
  • 요구사항의 기술적 타당성 분석 프로세스
    1. 타당성 분석 결과 기록
    2. 타당성 분석 결과의 이해관계자 검증(프로젝트 관리자 중재)
    3. 타당성 분석 결과 확인 및 배포/공유
  • 비용 산정 모델
    • 하향식 : 전문가 판단, 델파이 기법
    • 상향식
      • LoC(Lines of Code)
        • 예측치 = (o+4m+p)/6
        • o : 낙관치, 가장 적게 측정된 코드 라인 수
        • m : 중간치, 측정된 모든 코드 라인 수의 평균
        • p : 비관치, 가장 많이 측정된 코드 라인 수
      • Man Month
        • LoC/프로그래머의 월간 생산성
        • 프로젝트 기간 = Man Month / 프로젝트 인력
      • COCOMO : 단순형, 중간형, 임베디드형
      • 푸트남 모형 : SLIM
      • 기능점수(FP) 모형 : 정규법, 간이법

Chapter 03 분석 모델 확인하기

1. 분석 모델 검증 ★★★

  • 분석 모델 검증 방법(유개분)
    • 유스케이스 모델 검증 : 액터, 유스케이스, 유스케이스 명세서 점검
    • 개념 수준의 분석 클래스 검증 : 도메인 개념
    • 분석 클래스 검증 : 스테레오 타입
  • 분석 클래스의 스테레오 타입 ★
    • 경계 : Alt Text
      엔티티 : Alt Text 제어 : Alt Text
  • 분석 모델 검증 프로세스
    • 검토의견 칼럼 추가 -> 검토의견 작성 -> 검토의견 정제

2. 분석 모델의 시스템화 타당성 분석 ★★

  • 분석 모델의 기술적 타당성 검토 항목(성상아기)
    • 성능 및 용량 산정의 적정성 : 요구사항 만족, 적당한 양의 속성
    • 시스템 간 상호운용성 : 시스템 간 상호 정보 및 서비스 교환 가능
    • IT시장 성숙도 및 트렌드 부합성 : 분석 자동화 도구
    • 기술적 위험분석 : 기술 구조, 프레임워크와 부합되는지 확인, 추가적인 비용, 특허, 라이선스
  • 분석 모델의 시스템화 타당성 분석 프로세스(컬작검확) ★
    • 타당성 검토의견 컬럼 추가
    • 타당성 검토의견 작성
    • 타당성 분석 결과 검증
    • 타당성 분석 결과 확인 및 배포/공유