상세 컨텐츠

본문 제목

1. 요구사항 확인 [요구사항 분석 단계]

본문

현행 시스템 파악

현행 시스템 파악 절차

1단계   2단계   3단계
- 시스템 구성 파악
- 시스템 기능 파악
- 시스템 인터페이스 파악
>>> - 아키텍처 구성 파악
- 소프트웨어 구성 파악
>>> - 하드웨어 구성 파악
- 네트워크 구성 파악

1단계

  • 시스템 구성 파악 : 조직의 업무를 담당하는 기간 업무와 지원하는 업무로 구분하여 나타낸 구성 파악
  • 시스템 기능 파악 : 현재 제공하는 기능들을 주요/하부/세부 기능으로 구분하여 계층형으로 표시
  • 시스템 인터페이스 파악 : 주고받는 데이터의 종류, 형식, 프로토콜, 연계 유형, 주기 등을 명시

 

2단계

  • 아키텍처 구성 파악 : 어떠한 기술 요소들이 사용되는지 최상위 수준에서 계층별로 표현한 구성 파악
  • 소프트웨어 구성 파악 : 업무 처리를 위해 설치된 소프트웨어의 제품명/용도/라이선스 적용 방식 등 명시

 

3단계

  • 하드웨어 구성 파악 : 단위업무 시스템들이 운용되는 서버의 주요 사양, 수량 및 이중화 적용 여부 명시
  • 네트워크 구성 파악 : 서버 위치, 서버 간의 네트워크 연결 방식을 네트워크 구성도로 작성

 

개발 기술 환경 파악

개발 기술 환경의 정의

  • 개발하고자 하는 소프트웨어와 관련된 O/S. DBMS, Middle Ware 등을 선정할 때 고려해야 할 사항을 기술
  • 오픈소스 사용시 주의해야할 내용 제시

 

운영체제 (Operating System)

  • 컴퓨터 시스템 자원을 효율적으로 관리하여 사용자가 컴퓨터를 편리하게 환경을 제공하는 소프트웨어
  • 요구사항 식별 시 고려사항 : 가용성, 성능, 기술지원, 주변기기, 구축비용
  • 보다 자세한 내용은 [응용 SW 기초 기술 활용] 과목에서 자세하게 다룸

 

데이터베이스 관리시스템 (DBMS)

  • 사용자와 데이터베이스 사이에서 사용자의 요구에 따라 정보를 생성/관리해주는 소프트웨어
  • 요구사항 식별시 고려사항 : 가용성, 성능, 기술지원, 상호 호환성, 구축비용

 

웹 애플리케이션 서버 (WAS)

  • 사용자의 요구에 따라 변하는 동적인 콘텐츠를 처리하는데 사용하는 미들웨어 (↔ 웹서버 : 정적 콘텐츠 처리)
  • 요구사항 식별시 고려사항 : 가용성, 성능, 기술지원, 구축비용

 

오픈소스 (Open Source)

  • 누구나 제한없이 사용할 수 있도록 소스코드를 공개한 것
  • 라이선스를 만족하는 소프트웨어
  • 요구사항 식별 시 고려사항 : 라이선스의 종류, 사용자의 수, 기술의 지속 가능성

 

요구사항 정의

요구사항의 개념 및 특징

  • 소프트웨어가 어떤 문제를 해결하기 위해 제공하는 서비스에 대한 설명
  • 정상적으로 운영되는데 필요한 제약조건 등
  • 요구사항이 제대로 정의되어야 이를 토대로 이후 과정의 목표/계획 수립이 가능함

 

요구사항의 유형

내용에 따른 분류 기능 요구사항 시스템이 수행하는 기능에 대한 요구사항
비기능 요구사항 품질이나 제약사항 등에 관련된 요구사항
관점과 대상의 범위에 따른 분류 사용자 요구사항 사용자 관점에서 본 시스템이 제공해야할 사항
시스템 요구사항 개발자 관점에서 본 시스템이 사용자와 다른 시스템에 제공해야할 사항

 

요구사항 개발 프로세스

도출 분석 명세 확인

요구사항 도출

  • 요구사항이 어디에서 어떻게 수집할지 식별하고 이해하는 과정
  • 도출방법 : 인터뷰, 설문, 브레인스토밍, 워크샵, 프로토타이핑, 유스케이스 등

                 - 브레인 스토밍 : 3인 이상이 자유롭게 아이디어를 산출해내는 방법

                 - 유스케이스 : 사용자의 요구사항을 기능 단위로 표현

 

요구사항 분석

  • 개발 대상에 대한 사용자의 요구사항 중, 명확하지 않거나 모호하여 이해되지 않는 부분을 발견하고 정제하는 과정

 

요구사항 명세

  • 요구사항을 분석한 후 승인될 수 있도록 문서화하는 과정
  • 소프트웨어 요구사항 명세서 : 소프트웨어가 반드시 제공해야하는 기능/특징/제약조건 등을 명시한 문서

 

요구사항 확인

  • 개발 자원을 요구사항에 할당하기 전, 요구사항 명세서가 정확하게 작성되었는지 검토하는 과정

 

요구사항 분석 기법

요구사항 분류

요구사항을 명확히 확인할 수 있도록 정해진 기준으로 분류

  • 기능/비기능 요구사항 분류
  • 제품/과정으로 분류
  • 우선순위로 분류

개념 모델링

  • 요구사항을 단순화하여 개념적으로 표현하는 과정
  • 요구사항 분석의 핵심 과정
  • 개체와 개체 간의 관계 및 종속성을 반영
  • 개념 모델은 다양하게 표현되며, 주료 UML을 사용함

요구사항 할당

  • 요구사항을 만족시키기 위한 구성 요소 식별

요구사항 협상

  • 서로 다른 요구사항이 충돌할 경우 해결하는 과정
  • 적절한 기준점을 찾아 합의하는 것이 좋음
  • 서로 충돌하는 경우, 우선순위를 부여하면 해결에 도움이 됨

정형분석

  • 구문과 의미가 동일한 정형화된 언어를 이용해 요구사항을 수학적 기호로 표현하고 분석하는 과정
요구사항 확인 기법

요구사항 검토

  • 문서화된 요구사항을 훑어보면서 확인하는 과정
  • 시스템 정의서, 시스템  사양서, 소프트웨어 요구사항 명세서 등을 작성 완료한 시점에 수행

프로토타이핑

  • 초기 도출된 요구사항을 토대로 프로토타입을 만든 후, 개발 진행과정에서 도출되는 요구사항을 반영
  • 지속적으로 프로토타입을 수정/개발하는 과정
장점 - 빠르고 반복되는 개발이 가능하여 발전된 결과물을 얻을 수 있음
- 최종시스템을 완성하기 전에 추가 or 변경된 요구사항에 대한 피드백이 가능함
단점 - 사용자의 관심이 시스템의 핵심을 벗어나 프로토타입 제작에만 집중될 수 있음
- 지속적이고 반복적인 개선에 대한 비용 부담이 발생 가능함

모델 검증

  • 요구사항 분석단계에서 개발된 모델이 요구사항을 충족하는지 검증하는 과정

인수테스트

  • 사용자가 실제로 사용할 환경에서 개발된 소프트웨어가 모든 요구사항이 충족되는지 확인하는 과정

관련글 더보기