Career/정보처리기사

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

by somida 2023. 7. 17.

01. 현행 시스템 분석

1. 현행 시스템 파악 개념

  • 어떤 하위 시스템으로 구성되어 있는지
  • 제공 기능, 연계 정보는 무엇인지
  • 어떤 기술 요소를 사용하는지
  • 사용하고 있는 SW, HW는 무엇인지
  • 네트워크 구성은 무엇인지

 

 

2. 현행 시스템 파악 절차

1단계 구성/기능/인터페이스 파악 구성 파악 : 주요 업무를 처리하는 기간 업무 + 지원 업무
기능 파악 : 단위 업무 시스템이 현재 제공하고 있는 기능 파악
인터페이스 파악 : 다른 시스템과 주고 받는 데이터의 종류, 형식, 프로토콜 등 파악
2단계 아키텍처/SW 구성 파악 아키텍처 파악 : 가장 핵심이 되는 기간 업무 처리 시스템 기준으로 파악
SW 구성 파악 : 제품명, 용도, 라이선스 적용 방식, 라이선스 수 파악
3단계 HW/네트워크 구성 파악 HW 구성 파악 : 서버의 위치, 운용 서버의 주요 사양, 수량, 이중화 구현 여부 파악
네트워크 파악 : 어떤 네트워크 장비를 사용하여 구성되어 있는 지 파악
더보기

TCP/IP : 전송 제어 프로토콜 + 인터넷 프로토콜

- IP : 패킷 전달 여부를 보증하지 않고 패킷을 보낸 순서와 받는 순서가 다를 수 있음

- TCP : IP 위에서 동작하는 프로토콜 데이터의 전달을 보증하고 보낸 순서대로 받게 해 줌

 

 

3. 현행 시스템 분석서 작성 및 검토 절차

  1. 현행 시스템 관련 자료 수집 단계
  2. 자료 분석 단계
  3. 산출물 작성 단계
  4. 산출물에 대한 검토 수행 단계

 

 

4. 소프트웨어 아키텍처

  • 외부에 드러나는 특성
  • 구성요소 간의 관계를 표현하는 구조체
  • 소프트웨어 설계하고 전개하기 위한 지침이나 원칙
  • 구성요소 : 아키텍처 명세서 / 이해관계자 / 관심사 / 관점 / 뷰 / 근거
  • 4 + 1 뷰 : 4(논리 + 구현 + 프로세스 + 배포) + 1(유스케이스)
    • 유스케이스 뷰 : 아키텍처르 도출하고 설계하는 작업 주도 / 다른 뷰 검증
    • 논리 뷰 : 주요 설계 패키지와 서브시스템, 클래스를 식별하는 뷰 / 기능적 요구사항 지원 / 클래스 다이어그램으로 표현
    • 프로세스 뷰 : 런타임 시의 태스크, 스레드, 프로세스와 이들 간의 상호작용 등의 관계 표현하는 뷰
    • 구현 뷰 : 정적인 소프트웨어 모듈 구성 표현 / 컴포넌트 뷰
    • 배포 뷰 : 물리적이 노드의 구성과 상호 연결 관계를 배포 다이어그램으로 표현하는 뷰

 

 

5. 개발 기술 환경 현행 시스템 분석

운영체제 개념 : 컴퓨터 시스템이 제공하는 모든 HW, SW를 사용할 수 있도록 해주고, 사용자와 컴퓨터 HW 간의 인터페이스 담당
고려사항 : 품질 측면(신뢰도, 성능) / 지원 측면(기술 지원, 주변 기기, 구축 비용)
종류 : PC(윈도우, 유닉스, 리눅스) / 모바일(안드로이드, iOS)
네트워크 개념 : 컴퓨터 장치들의 노드 간 연결을 사용하여 서로에게 데이터를 교환할 수 있도록 하는 기술
OSI 7계층*
분석 : 백본망, 라우터, 스위치, 게이트웨이, 방화벽 등을 대상으로 분석
DBMS 개념 : 데이터의 집합을 만들고, 저장 및 관리할 수 있는 기능들을 제공하는 응용 프로그램
기능: 중복 제어, 접근 통제, 인터페이스 제공, 관계표현, 샤딩/파티셔닝, 무결성 제약조건, 백업 및 회복
고려사항 : 성능측면(가용성, 성능, 상호 호환성) / 지원측면(기술지원, 구축비용)
미들웨어 개념 : 분산 컴퓨팅 환경에서 응용 프로그램과 환경 간에 원만한 통신이 이루어질 수 있도록 제어해주는 소프트웨어(WAS...)
WAS : 서버계층에서 앱이 동작할 수 있는 환경을 제공하고 안정적인 트랜잭션 처리/관리, 이기종 시스템과의 연동 지원
고려사항 : 성능측면(가용성, 성능) / 지원측면(기술지원, 구축비용)
오픈소스 라이선스의 종류, 사용자 수, 기술의 지속 가능성 등을 고려해야함
더보기

OSI 7 계층

1. 응용계층 : 사용자와 네트워크 간 응용 서비스 연결, 데이터 생성 (HTTP, FTP) - 전송단위 : 데이터

2. 표현계층 : 데이터 형식 설정과 부호교환, 암/복호화 (JPEG, MPEG) - 전송단위 : 데이터

3. 세션계층 : 연결 접속 및 동기제어 (SSH, TLS) - 전송단위 : 데이터

4. 전송계층 : 데이터 분할과 재조립, 흐름 제어, 오류 제어, 혼잡 제어 등을 담당 (TCP, UDP) - 전송단위 : 세그먼트

5. 네트워크계층 : 단말 간 데이터 전송을 위한 최적화된 경로 제공 (IP, ICMP) - 전송단위 : 패킷

6. 데이터링크계층 : 인접 시스템 간 데이터 전송, 전송오류 제어, 오류검출, 재전송 등 (이더넷) - 전송단위 : 프레임

7. 물리계층 : 0과 1의 비트정보를 회선에 보내기 위한 전기적 신호 변환 (RS-232C) - 전송단위 : 비트

 

 

 

 

02. 요구사항 확인

1. 요구사항

  • 문제의 해결 또는 목적 달성을 위해 고객에 의해 요구되거나, 표준이나 명세 등을 만족하기 위해 시스템이 가져야 하는 서비스
  • 분류 : 기능적 요구사항(기능성, 완전성, 일관성) / 비기능적 요구사항(신뢰성, 사용성, 효율성, 유지보수성, 이식성)
  • 프로세스 : 도출 -> 분석 -> 명세 -> 확인
    • 도출 : 인터뷰, 설문조사, 브레인스토밍, 워크숍
    • 분석 : 자료흐름지향분석, 객체지향 분석
    • 명세 : 자연어에 의한 방법, 정형화 기법 사용 방법
    • 확인 : 동료검토, 워크스루, 인스펙션
  • 관리 프로세스 : 요구사항 협상, 요구사항 기준선, 요구사항 변경 관리, 요구사항 확인 및 검증

 

 

2. 요구사항 분석

  • 요구사항 분류 : 기능 / 비기능 확인
  • 개념 모델링 : 유스케이스 다이어그램 주로 사용
  • 요구사항 할당
  • 요구사항 협상
  • 정형 분석 : 형식적으로 정의된 의미를 지닌 언어로 요구사항 표현, 요구사항 분석 마지막에 이루어짐
더보기

유스케이스 다이어그램 : 액터와 시스템의 관계를 표현한 다이어그램

UML : 객체지향 SW개발과정에서 산출물을 명세화, 시각화, 문서화할 시 사용되는 모델링 기술과 방법론으로 만든 범용 모델링 언어

 

 

3. 요구사항 확인

  • 요구사항 검토
  • 프로토타이핑
  • 모델 검증
  • 인수테스트

 

 

4. 비용산정 모델

  • 소프트웨어 규모 파악을 통한 투입자원, 소요 시간 파악해 실행 가능한 계획을 수립하기 위해 비용 산정하는 기법
  • 하향식 비용산정 : 경험이 많은 전문가에게 의뢰하거나 여러 전문가와 조정자를 통해 산정
    • 전문가 판단
    • 델파이 기법
  • 상향식 비용산정 : 세부적 요구사항과 기능에 따라 계산
    • LoC : 코드라인수
    • Man Month = LoC / 프로그래머 월간 생산성
    • COCOMO : 보헴, 프로그램 규모에 따라 산정, 단순(5만), 중간(30만), 임베디드(30만이상)
    • 푸트남 모형 : SLIM
    • 기능점수모형

 

 

 

 

03. 분석 모델 확인하기

1. 분석 모델 검증

  • 유스케이스 모델 검증
  • 개념 수준의 분석 클래스 검증
  • 분석 클래스 검증

 

 

 

 

 

반응형

댓글