[Site Map]  [소프트웨어목차]

 

연관토픽

  1. [상위] 요구공학(Requirement Engineering)
  2. [하위] 요구사항 관리(Requirement Management)
  3. [하위] 요구사항 명세서(SRS, Software Requirement Specification)

 

개념

  • 시스템이 제공해야 할 서비스와 시스템의 제약(Constraint)에 대한 고수준의 추상적인 문장
  • IT 개발에서 시스템이 제공해야 할 서비스와 제약사항에 대해 정의한 문장
  • 문제의 해결 또는 목적 달성을 위하여 사용자에 의해 요구되거나, 표준이나 명세 등을 만족하기 위해 시스템이 가져야 하는 서비스 또는 명시적,묵시적 제약 사항
  • 시스템의 동작 방법과 속성 등에 대한 설명, 시스템으로부터 고객이 요구하는 서비스로 시스템 설계의 기반이며 제품 구현의 정확성을 판단하는 기준
  • 고객이 요구한 사항과 요구하지 않았더라도 당연히 제공되어야 한다고 가정되는 사항들

 

 

 

요구사항의 특징

특징 설명
완전성 - 요구사항은 누락된 기능이 없이 빠짐없이 작성
정확성 - 논리적으로 정확하게 기술
명확성 - 요구사항명세서에 기술한 용어가 이해관계자들에게 명확하게 의미 전달
특이성 - 중요도, 난이도, 변경가능성 등 특이사항 관리
검사 가능성 - 요구사항명세서에 대한 검증 기준 및 방법을 제시
수정 용이성 - 요구사항 항목에 대한 쉬운 식별
- 수정이 용이하고 수정에 대한 영향도 분석이 용이
추적성 - 식별된 요구사항 항목, 요구사항명세서, 관련산출물간 추적 용이
이해 가능성 - 표준형식을 따르는 적절한 문법과 단순한 문장

 

 

 

요구사항 파악 목적

목적 설명
지식획득 해당 시스템 분석가가 신규 시스템을 개발하는데 필요한 지식을 획득하기 위한 목적
신규 시스템에
대한 협업
기존 시스템을 통해 사용하고 있는 입, 출력 보고서를 사용자가 신규 시스템으로 변환하였을 경우에 대한 이견이나 의견, 신규 시스템에 대한 기대 및 협조 정도를 개략적으로 파악하기 위한 목적
업무 분석 신규 시스템으로 전환할 업무 기능과 시스템 사양을 정확하게 파악하기 위한 목적으로 전체 프로젝트 범위의 기초 자료
개선 기본의 시스템이나 수작업 등의 업무의 문제점을 식별 이에 대한 대안을 수립하고 개선하기 위한 목적
프로젝트
범위추정
고객의 요구하는 정확하고 효과적인 엔터프라이즈 어플리케이션 구축의 토대
프로젝트 범위의 기준선을 설정하는 기본, 기초 자료로 활용
조직 이해 조직의 구조나 사용자 및 환경에 대한 이해 
조직을 지원하기 위한 요구사항의 식별
시스템 기능
식별
시스템이 무엇을 해야 하는지에 대한 기능 식별 
반복의 계획과 기술적인 내역(technical contents)을 위한 기초 제공 
시스템이 무엇을 해야 하는가에 대한 고객과 사용자의 동의 획득 

 

 

 

 

요구사항의 역할

역할 내용
추적성 제공
  • 요구사항과 개발 산출물간의 관계와 단계별 개발 산출물 간의 관계 파악
  • 요구사항이라는 추상적 개념에서 실질적으로 동작하는 시스템으로 구현되는 과정과 구현된 기능이 요구사항을 만족하는지를 파악하고 검증할 수 있게 함
범위기준선 제공
  • 요구사항을 수집하여, 범위를 정의하고. WBS를 작성할 수 있도록 해줌
  • 고객, 이해관계자와 프로젝트 및 제품을 만드는 기준선 제공
일정과 원가에 영향
  • 요구사항의 통합은 프로젝트 일정과 원가 및 예산 산정의 기준
  • 요구사항명세서, 범위기술서를 작성하는 입력물로 프로젝트

 

 

 

 

요구사항의 중요성

  • 참여자들로 하여금 개발되는 소프트웨어 제품을 전체적으로 파악하도록하여 의사소통 시간을 절약하게 해주는 
  • 상세한 요구사항이 있어야만 산정이 가능하고, 이를 기반으로 계획을 세울수 있기때문

 

 

 

 

요구사항 관리의 어려움

문제점 상세항목
문제 영역에 대한 
명확한 이해 부족
  • 개발자들이 도메인에 대한 지식 부족으로 사용자 요구를 잘못 이해하거나 분석함으로써 요구사항이 불명확하게 작성
참여자 이해 문제
  • 각 이해 관계자의 이해도 차이로 인해 제시 문제에 대하여 자신의 역할과 환경에 따라 서로 다른 관점으로 표현, 분석함으로써 같은 내용에 대해 충돌 또는 의미 모호함 발생
의사소통 문제
  • 개발시스템 규모가 커지고 여러 명의 분석가가 공동으로 작업을 수행함에 따라 명확한 업무와 기능 분담의 어려움이 발생
요구사항의 변경
  • 요구사항은 시스템에 대한 사용자 변경 요구와 시스템 개발 단계에서 얻어지는 새로운 지식 및 환경에 의해 계속적인 진화로 인하여 변경

 

 

 

 

사용자 요구사항과 시스템 요구사항

구분 내용
사용자 요구사항
  • 시스템이 제공해야 할 서비스와 서비스가 운영되는 제약 조건에 관한 다이어그램과 자연어로 기술된 문장
시스템 요구사항
  • 시스템의 기능, 서비스, 운영상의 제약 조건을 상세하게 설정한 것이 구현되어야 할 것을 정확하게 정의

 

 

 

 

기능적 요구사항과 비기능적 요구사항

구분 설명
기능적 요구사항
  • 수행될 기능과 관련된 입력과 출력 및 이들 사이의 처리 과정
  • 목표로 하는 제품의 구현을 위해 소프트웨어가 가져야 하는 기능적 속성
  • 예) 워드 프로세스에서 파일 저장 기능, 편집 기능, 보기 기능 등
비기능적 요구사항
  • 제품의 품질 기준 등을 만족시키기 위해 소프트웨어가 가져야 하는 성능, 사용 용이성, 안전성과 같은 행위적 특성
  • 시스템의 기능에 관련되지 않은 사항을 나타냄
  • 예) 성능(응답 시간, 처리량), 사용 용이성, 신뢰도, 보안성, 운용상의 제약, 안전성

 

 

 

요구사항의 분류

구분 분류 설명
기능
요구사항
기능 요구사항
  • 목표 시스템의 기능(동작), 개별 요구사항은 전체 시스템의 계층적 분석 통해 요구사항 작성
비기능
요구사항
성능 요구사항
  • 처리속도, 시간, 처리량, 동적/정적, 용량 가용성 등
시스템 장비
구성 요구사항
  • H/W, S/W, N/W 등의 도입 장비 내역 등
인터페이스
요구사항
  • 목표 시스템과 외부 시스템을 연결(S/W, H/W, 통신 I/F) 기술
  • 사용자의 편의성, 경험 등 사용자 중심 요구사항 기술
데이터 요구사항
  • 초기 자료 구축데이터 변환대상방법보안 등 요구사항기술
테스트 요구사항
  • 구축된 시스템의 테스트 요구사항(단위,통합, 시스템 및 성능Test)
보안 요구사항
  • 정보자산의 기밀성, 무결성을 위한 목표시스템의 기능
품질 요구사항
  • 신뢰성,사용성, 유지보수성, 이식성, 보안성으로 구분해 기술
제약사항  
  • 목표시스템설계,구축,운영관련표준,업무,제도등제약
프로젝트 관리
  • 관리방법 및 추진단계별 수행방안에 대한 요구사항
프로젝트 지원
  • 시스템/서비스 안정화 및 운영, 교육훈련, 기술지원, 하자보수 유 지관리 요구사항 등을 기술
기타 요구사항 유지관리 수행
  • 유지관리 대상별 유지관리 방법 기술
  • 장애 관리, 변경관리, 성능 관리, 백업/복구, 운영 모니터링 등
유지관리 인력
  • 유지관리 수행을 위해 필요한 운영인력체계담당자별 역할 등
컨설팅 요구사항
  • 정보화 사업의 업무 효율성, 생산성을 높이는 정보시스템 구축 및 운영을 위한 제반 사항 지원
공사 요구사항
  • 정보화 사업중 전산실 공사,상황실 공사,내부 인테리어 등을 요구한 경우

 

 

 

기능적 요구사항(functional requirement)

  • 시스템 외부요소들 간의 인터렉션이나 시스템에서 제공되어야할 특정기능을 정의
  • 시스템기능을 입출력, 예외상황과 함께 상세하게 기술하고 사용자 문제를 해결하기 위한 구현기술과 독립적인 사항
  • 기능적 요구사항 명세서는 완전성(사용자의 요구한 모든 서비스가 정의)과 일관성(요구사항에 모순되는 정의를 가지면 안됨)을 반드시 확보
요구사항요소 상세 항목
기능 - 시스템이 무엇을 하는가?
- 시스템이 언제 그 일을 하는가?
- 시스템이 운용될 때 여러 가지 다른 모드가 있는가?
- 언제 어떻게 시스템이 변경되거나 확장되는가?
자료 - 입력, 출력이 무엇이며 어떤 형태를 갖는가?
- 얼마나 자주 자료를 받고 내보내는가?
- 자료가 얼마나 정확하여야 하는가?
- 시스템에 유입되는 자료의 양은 어느 정도인가?
- 데이터는 일정 기간 동안 보관되어야 하나?
인터페이스 - 다른 시스템에서 유입, 유출되는 입력은 무엇인가?
- 데이터의 특정한 형태가 있는가?
- 자료 전달에 사용되는 특정 미디어가 있는가?
사용자 - 누가 시스템을 사용할 것인가?
- 사용자가 여러 그룹인가?
- 각 사용자 그룹의 컴퓨터 사용 경험은 어느 수준인가?
- 각 사용자 그룹에 따라 필요한 교육은 무엇인가?

 

 

 

 

비기능적 요구사항(non-functional requirement)

  • 시스템이 수행하는 기능 이외의 사항, 시스템 구축에 대한 제한 사항으로 성능이나 효율, 반응시간, 보안, 품질 등의 제약 조건
  • 시스템의 전체 품질 또는 특성을 정의하기 위하여 기술된 기능이 가져야 하는 성능, 사용 가능성과 같은 행위적 특성 
요구사항 요소 상세 항목
자원 - 시스템을 구축, 유지보수 하는 데 필요한 자원, 인력은 무엇인가?
- 개발자가 갖추어야 할 기능인가?
- 어떤 하드웨어가 사용될 것인가?
- 시스템이 차지하는 공간
- 전력, 온도, 습도에 대한 요구
- 개발된 시스템이 저장될 기억 공간의 제약 유무
성능 - 시스템의 속도, 반응 시간, 처리율
- 시스템에 의하여 처리되는 자료의 크기
보안 - 자료와 시스템에 대한 접근 통제
- 타인의 데이터 또는 프로그램 접근 방지
- 시스템의 백업 기간 및 책임자
- 화재, 홍수, 도난 등의 재난을 대비할 방지책
- 물리적 보안 대책
품질 - 신뢰성, 가용성, 유지보수성, 보안 등 품질 특성에 대한 요구
- 시스템 결함을 찾아내고 격리시켜야 하나?
- 시스템이 가동되는 평균 시간
- 시스템의 작업이 중단된 후 다시 복구할 때까지의 허용시간
- 설계 변경 용이성 여부
- 유지보수의 특성(단순오류 개선인지 시스템 향상인지 여부)
- 자원의 사용과 반응시간을 측정하는 효율적인 방법?
- 위치나 플랫폼 변동의 용이성

 

 

 

 

요구사항 파악활동

활동 상세 활동 설명
시스템
환경 조사
업무
현황파악
- 경영에 대한 정보를 파악
- 회사명, 회사위치, 업종, 취급품목, 주력제품 등 회사 개요와 기업 목표, 경영전략, 활동계획 등을 분석
조직정보 - 개발 대상 업무에 대해 현재 정보처리가 어떤 과정으로 진행되고 있는지 조사
- 조직 정보는 기업 단위별, 사업 단위별, 개발업무 단위별로 단계적으로 접근
시스템 제약사항 - 경영조건, 법적 조건, 업무 조건, 시간 조건, 공간 조건 등 
- 시스템 개발과 운영 시에 영향을 미치게 되는 요건 조사
업무
현황조사
문제점 조사 - 기존 시스템 운영에 있어서의 문제점과 이슈 조사
시스템 
특성
- 업무 효율의 한계성, 시스템의 목적과 도입효과, 시스템의 적용 범위와 작동에 영향을 미치는 제한사항, 개발 추진 계획 등을 조사 
기존
시스템조사
시스템 정보조사 - 입력 정보의 조사, 출력 정보의 조사, 파일 정보의 조사
- 처리 절차의 조사 및 코드 정보의 조사 필요
시스템 조사 - 기능분석이나 요구사항 분석을 수행하기 전이나 또는 병행해서 시스템 조사 실시
- 도입 예정 회사에 RFI 발송 또는 현업 운영자에게 자료 요청 

 

 

 

 

요구사항 조사 후 산출물

산출물 설명
면담결과서 면담 내용을 자료 흐름도 등을 이용하여 작성하여 면담 결과 후 이를 보완하여 면담 결과서 작성 
업무 조사
결과표
업무별 입력원, 입력시간, 처리 절차, 출력 정보, 사용처 등에 대한 정보 항목으로 구성된 업무 조사 결과표
입출력 정보
조사 결과표
입출력 대상 항목별 구성 항목, 데이터의 발생량, 증가량, 시간,형태, 입력원 또는 사용원에 대한 정보
파일정보
결과표
파일이름, 구성항목, 처리율, 증가량, 갱신시기, 저장방법, 저장 위치 등의 
파일 정보 사용 현황
서식조사표 서류명, 업무명, 관련 서류, 처리내용, 보관처, 작성주기, 처리 주기, 보존 연한 등 기업 환경에서 사용하고 있는 서식에 대한 조사 결과표
업무 흐름도 전반적인 업무 흐름은 시스템 흐름도나 업무 흐름도로 정리하고 세부적인 업무 절차는 순서도를 이용하여 작성
설문조사
결과표
많은 사람들이 가지고 있는 일반적인 생각과 변화를 이해하는 데 효율적이어서 시스템이나 서비스에 대한 사용자에 대한 만족도, 불편사항, 건의 사항 등을 취합하는 데 유용
시스템
구성도
기존 시스템이 구성하고 있는 구성요소들,구성요소들간의 관계, 환경 등에 
대한 시스템 구성도 

 

 

 

 

요구사항 모델링 언어

  • 요구사항 모델링언어는 개발 방법론에 따라 달라지게 됨
방법론 모델링 언어
구조적 방법론 자료흐름도, 자료사전, 처리명세서를 사용하여 요구사항 결과 표현
정보공학 방법론 개체-관계 다이어그램(ERD)
객체지향 방법론 유스케이스 다이어그램(Usecase diagram)

 

 

 

 

 

+ Recent posts