노트

요구사항 분석 본문

정보처리기사 정리

요구사항 분석

blackmilktea 2024. 4. 12. 21:25

1. 현행 시스템 분석

1) 운영체제

개념

  • 컴퓨터 시스템 자원을 효율적으로 관리하여 사용자가 편리하게 사용할 수 있도록 환경을 제공하는 시스템 소프트웨어
  • 시스템이 제공하는 모든 하드웨어, 소프트웨어를 사용할 수 있도록 해줌
  • 사용자와 하드웨어 간의 인터페이스를 담당

운영체제 종류: 유닉스(UNIX), 리눅스(Linux), 윈도우즈(Windows), 맥(Mac) OS, iOS, Android

 

2) 네트워크

개념: 노드들이 자원을 공유할 수 있게 하는 디지털 전기 통신망

 

프로토콜

  • 데이터를 교환하기 위해 사용하는 통신 규칙
  • 프로토콜의 3요소: 구문(Syntax), 의미(Semantic), 타이밍(Timing)

3) 미들웨어(Middleware)

개념: 양 쪽을 연결하여 데이터를 주고받을 수 있도록 중간에서 매개 역할을 하는 소프트웨어

 

종류

  • RPC(Remote Procedure Cell) - 클라이언트가 원격에서 동작하는 프로시저를 호출하는 시스템
  • MOM(Message Oriented Middleware) - 메시지 기반의 비동기형 메시지를 전달하는 미들웨어
  • ORB(Object Request Broker) - 객체지향 시스템에서 객체 및 서비스를 요청, 전송을 지원
  • DB 접속 미들웨어 - 어플리케이션과 데이터베이스 서버를 연결
  • TP 모니터 - 온라인 트랜잭션을 처리 및 감시하는 미들웨어
  • WAS(Web Application Server) - 동적인 콘텐츠를 처리하기 위한 미들웨어
  • ESB(Enterprise Service Bus) - 메시지 기반으로 느슨한 결합형태의 표준 인터페이스 통신 지원, 기업 안팎에 있는 모든 시스템 환경을 연동하는 미들웨어

2. 요구 공학

개념: 고객 요구를 체계적으로 수집, 분석, 명세화, 검증, 추적, 변경되는 요구사항을 도출, 관리하는 기법

 

분류

1) 참여자 관점

  • 사용자 요구사항 - 사용자의 관점에서 소프트웨어에 대해 원하는 사항
  • 시스템 요구사항 - 설계자의 관점에서 하드웨어나 소프트웨어가 갖춰야 하는 것들
  • 소프트웨어 요구사항 - 개발자의 관점에서 소프트웨어가 갖춰야 하는 사항

2) 내용의 종류

  • 기능적 요구사항 - 소프트웨어를 구성하는 기능들이 무엇인지 정의한 것
  • 비기능적 요구사항 - 소프트웨어의 기능들에 대한 조건과 제약 사항. 보안, 성능, 품질, 안정성 등

요구사항 개발 프로세스

도출 분석 명세 확인
요구사항 소스
도출기법
요구사항 분류
개념 모델링
기술 구조 설계 및 요구사항 할당
요구사항 협상
시스템 정의서
시스템 요구사항 명세서
소프트웨어 요구사항 명세서
검토
프로토타이핑
모델 검증
인수테스트

 

1) 도출

  • 소프트웨어가 해결해야 할 문제를 이해, 요구사항이 어디에 있고 어떻게 수집할 것인가를 확인
  • 요구사항 도출 기법 - 이해 관례자 분석, 브레인스토밍, 인터뷰, 문서 분석 및 검토, 포커스 그룹, 인터페이스 분석, 관찰, 프로토타이핑, 요구사항 워크숍, 설문 조사

2) 분석

  • 요구사항들 간에 상충되는 것을 해결
  • 소프트웨어의 범위를 파악, 업무 환경과의 상호작용 파악(도메인 분석)
  • 구조적 분석 도구(하향식) - DFD(Data Flow Diagram, 자료흐름도), Data Dictionary, Mini-Spec(소단위 명세서), ERD(Entity Relationship Diagram, 개체 관계도), STD(State Transition Diagram, 상태 전이도)
  • 객체지향 분석 도구(상향식) - UML(Umified Modeling Language), 모델링

3) 명세

  • 체계적으로 검토, 평가, 승인될 수 있는 문서를 작성
  • 시스템 정의, 시스템 요구사항, 소프트웨어 요구사항을 작성
  • 요구사항 명세 기법 - 정형 명세 기법, 비정형 명세 기법
  • 정형 명세 기법: 수학, 논리학 기반. 명세 오류 및 모호성 쉽게 파악 가능, 그러나 작성 시간이 오래 걸림
  • 비정형 명세 기법: 자연어, 그림 중심 기반. 사용자/개발자 간 의사전달 용이하나 내용이 모호, 완전한 검증 X
  • 산출물 - 시스템 정의서, 시스템 요구사항 명세서, 소프트웨어 요구사항 명세서

4) 확인

  • 분석가가 요구사항을 이해했는지 확인(Validation)
  • 요구사항 문서가 일관성 있고 완전한지 검증(Verification)
  • 잏 관계자들이 문서를 검토하고, 형상관리를 수행

5) 요구사항 분석 도구

1. CASE(Computer Aided Software Engineering)

  • 요구사항을 자동으로 분석, 요구사항 분석 명세서를 기술하는 도구
  • 소프트웨어 개발 전반에 걸쳐 적용

CASE 도구의 분류

상위 CASE - 생명주기 전반부에 사용, 소프트웨어 계획, 요구분석, 설계 단계 지원
- 모순, 오류 검사, 자료흐름도 작성
하위 CASE - 생명주기 후반부에 사용, 코드의 작성과 테스트 문서화 하는 과정 지원
- 구문 편집기, 코드 생성기
통합 CASE - 소프트웨어 생명주기에 포함되는 전체 과정을 지원

 

CASE 도구의 종류

  • SADT(Structured Analaysis and Design Technique) - SoftTech 사에서 개발, 시스템 정의, 요구사항 분석, 시스템 소프트웨어 설계에 이용되는 도구
  • SREM(Software Requirements Engineering Methodology) - 실시간 처리 소프트웨어 시스템에서 요구사항을 명확히 기술할 목적으로 개발
  • PSL/PSA - 미시간 대학에서 개발한 자동화 도구
  • TAGS - 시스템 공학 방법 응용에 대한 자동 접근 방법

2. HIPO(Hierarchy Inut Process Output)

  • 기능: 분석 및 설계 도구, 하향식 개발에 적합, 체계적인 문서관리에 효율적, 기능과 자료의 의존관계를 명시
  • HIPO Chart 종류: 가시적 도표(Tree 구조) - 시스템의 전체적 기능과 흐름을 보여주는 Tree 구조, 입력 처리 출력 X
  • 총제적 도표 - 프로그램을 구성하는 기능을 기술, 입력 처리 출력에 대한 전반적인 정보 제공
  • 세부적 도표 - 총체적 도표에 표시된 기능을 상세히 기술하는 도표

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

2 데이터 입출력 구현  (0) 2024.04.16
소프트웨어 설계의 기본 원칙  (0) 2024.04.15
요구사항 모델링  (0) 2024.04.13
프로젝트 계획  (0) 2024.04.12
소프트웨어 공학, 방법론  (0) 2024.04.11