5일차 : 4-1. 인터페이스 설계

Dev_HG·2020년 7월 1일
0

1. 인터페이스 요구사항 확인

내/외부 인터페이스 요구사항

1. 내/외부 인터페이스 요구사항의 개념

  • 내/외부 인터페이스란 조직 내/외부에 존재하는 시스템이 연동을 통해 상호 작용하기 위한 접속 방법이나 규칙을 의미한다.
  • 내/외부 인터페이스 요구사항이란 조직 내/외부에 존재하는 시스템들이 상호 접속을 통하여 특정 기능을 수행하기 위한 접속 방법이나 규칙에 대한 필수적 요구사항을 말한다.

2. 내/외부 인터페이스 요구사항의 구성

  • 내/외부 인터페이스 요구사항을 위해서는 구성요소들을 대상 시스템 및 기관과 사전에 연동 방안에 대한 협의가 필요하다.
  • 내/외부 인터페이스 요구사항은 인터페이스 이름, 연계 대상 시스템, 연계 범위 및 내용, 연계방식, 송신 데이터, 인터페이스 주기, 기타 고려사항으로 구성 된다.

3. 내/외부 인터페이스 요구사항의 분류

  • 기능적 요구사항 : 기능적 요구사항은 내/외부 인터페이스 연계를 통해 수행될 기능과 관련되어 소프트웨어가 가져야 하는 기능적 속성에 대한 요구사항
  • 비기능적 요구사항 : 비기능적 요구사항은 내/외부 인터페이스 연계 시의 성능, 사용의 용이성, 신뢰도, 보완성, 운용상의 제약, 안정성 등 시스템 전반과 관련된 요구 사항

4. 내외부 인터페이스 관련 요구사항 식별 및 분류

  1. 내/외부 인터페이스 관련 요구사항 식별 및 분류
  • 요구사항 식별
  • 명세서 및 현황 자료 준비
  • 기능 요구사항 및 비기능 요구사항 분류

cf : 커스터마이징(Customizing) : 개발된 IT 솔루션이나 웹사이트등을 구입 또는 이용하고자 하는 사람이 원하는 형태로 재구성 또는 재설계 하는 것을 말한다.

cf : FTP(File Transfer Protocol) : TCP/IP 프로토콜을 가지고 서버와 클라이언트 사이에서 파일 전송을 하기 위한 프로토콜이다.

  1. 내/외부 인터페이스 요구사항 명세서 구체화
  • 내/외부 요구사항 정의서와 관련 자료를 기반으로 기능 및 비기능 요구사항을 분석하고 내/외부 인터페이스 요구사항 명세서를 구체화 한다.

  • 내/외부 인터페이스 요구사항 명세서 구체화 단계
  1. 요구사항 정의서 세분화
  2. 요구사항 내용의 이해 및 수정
  3. 요구사항 신규 정의
  4. 요구사항 정리

요구공학

1. 요구공학(Requirements Engineering)의 개념

  • 요구공학은 사용자의 요구가 반영된 시스템을 개발하기 위하여 사용자 요구사항에 대한 추출, 분석, 명세, 검증, 관리하는 구조화된 활동이다.

2. 요구공학의 목적

  • 이해관계자 사이에 효과적인 의사소통 수단을 제공하고 시스템 개발의 요구사항에 대한 공통된 이해를 설정한다.
  • 요구사항 누락 방지 및 이해 오류로 인한 불필요한 비용을 절감하고 요구사항 변경 추적을 가능하게 한다.
  • 초기 요구사항 관리로 개발 비용과 시간을 절약하고 효과적인 의사소통 수단을 제공한다.

3. 요구사항의 분류

  • 요구공학의 기본은 시스템의 요구사항에 대한 파악이다.
  • 요구사항은 기능적 요구사항과 비기능적 요구사항으로 분류된다.
    [기능적 요구사항]
  1. 개념 : 시스템이 제공하는 기능, 서비스에 대한 요구사항
  2. 도출 방법 : 특정 입력에 대해 시스템이 어떻게 반응해야 하는지에 대한 기술, 특정 상황에 대해 시스템이 어떻게 동작해야 하는지에 대한 기술
  3. 특성 : 기능성,완전성,일관성 => 외울것
  4. 사례 : 온라인 홈페이지에서는 쇼핑카트에 주문하고자 하는 품목을 저장할 수 있는 장바구니 기능을 제공해야 함, 상품의 결제수단은 신용카드, 모통장 입금, 포인트 결제가 가능해야함

[비기능적 요구사항]
1. 개념 : 시스템이 수행하는 기능 이외의 사항, 시스템 구축에 대한 제약사항에 관한 요구사항
2. 도출 방법 : 품질 속성에 관련하여 시스템이 갖쳐야할 사항에 관한 기술, 시스템이 준수해야 할 제한 조건에 관한 기술
3. 특성 : 신뢰성, 사용성, 효율성, 유지 보수성, 이식성
4. 사례 : 특정 함수의 호출시간은 3초를 넘지 않아야 함, 시스템은 하루 24시간 가동되어야 하며 가동률 99.5%를 만족해야함, 시스템은 운영되는 중에 패치 및 업그레이드를 할 수 있어야함

4. 요구공학 프로세스

요구공학 프로세스는 요구사항 개발 단계와 요구사항 관리 단계로 구성
1. 요구사항 개발(CMM레벨3) : 추출,분석,명세,검증
2. 요구사항 개발(CMM레벨2) : 요구사항 변경 관리, 추적 관리

[요구사항 개발 단계(CMM LEVEL3 프로세스 영역)]

  • 요구사항 개발은 요구사항 추출, 분석,명세, 검증 단계로 구성
  1. 요구사항 추출
  • [내용] : 고객으로부터 제시되는 추상적 요구에 대해 관련 정보를 식별하고 수집하여 구체적 요구사항으로 표현하는 활동, 주요활동으로는 고객 분석, 조직 환경 분석, 후보 요구사항 분류, 후보 요구사항 정제, 요구사항 소스 관리가 있음
  • [기법/산출물] : 인터뷰, 브레인스토밍, 델파이 기법, 롤 플레이, 워크숍, 프로토타입, 설문지
  1. 요구사항 분석
  • [내용] : 추출된 요구사항에 대해 충돌, 중복, 누락 등의 분석을 통해 완전성과 일관성을 확보하는 활동, 주요활동으로는 후보 요구사항 모델링, 요구사항의 우선순위 부여, 해당 릴리즈에 수행할 요구사항 선정, 요구사항 협의가 있음
  • [기법/산출물] : 유스케이스 기반 분석(UML, 모델링)
  1. 요구사항 명세
  • [내용] : 동의한 요구사항을 하나 이상의 형태로 저장하여 정형화된 요구사항을 생성하는 활동, 주요활동으로는 요구사항 명세 기준 정의, 요구사항 명세서 작성, 요구사항 추적 관련 정보 저장이 있음
  • [기법/산출물] : 요구사항 명세서
  1. 요구사항 검증
  • [내용] : 요구사항 명세서에 사용자의 요구가 올바르게 기술 되었는지에 대해 검토하고 베이스라인으로 설정하는 활동, 요구사항 명세서 검토, 요구사항 용어 검증, 요구사항 베이스라인 수립
  • [기법/산출물] : 베이스라인 수립, 요구사항 추적표

[요구사항 개발 단계의 주요 기법]

  1. 인터뷰(Interview) : 이해관계자와 직접 대화를 통해 정보를 구하는 공식적, 비공식적 정보 수집 방법
  2. 델파이 기법(Delphi Method) : 전문가의 경험적 지식을 통한 문제 해결 및 미래 예측을 위한 기법
  3. 롤 플레이(Role Playing) : 현실에 일어나는 장면을 설정하고 여러 사람이 각자가 맡은 역을 연기하여 요구사항을 분석하여 수집하는 방법
  4. UML(Unified Modeling Language) : 객체지향 소프트웨어 개발과정에서 산출물을 명세화, 시각화, 문서화 할 시 사용되는 모델링 기술과 방법론을 통합해 만든 표준화된 범용 모델링 언어
  5. 모델링(Modeling) : 실세계의 물리현상을 특정한 목적에 대응하여 이요하기 쉬운 형식으로 표현하는 기법을 의미
  6. 요구사항 명세서(Requirements Specification) : 소프트웨어 개발 프로세스의 시작인 소프트웨어의 요구사항을 분석하고 정의하는 단계에서 작성되는 최종 산출물
  7. 베이스라인(Baseline) : 생명주기 내에서 공학적, 관리적, 획득적 측면을 고려하여 정한 하나의 분기점
  8. 요구사항 추적표 : 요구사항 정의서를 기준으로 개발단계별 최종 산출물이 어떻게 반영되고, 변경되었는지 확인이 가능한 문서

[요구사항 명세 원리 및 검증 항목]

  1. 명확성 : 각각의 요구사항 명세 내용은 하나의 의미만을 부여해야 함
  2. 완전성 : 기능, 성능, 속성, 인터페이스, 설계 제약 등에 관한 모든 시스템 요구사항이 포함되어야 함
  3. 검증 가능성 : 요구사항 내용의 충족 여부와 달성 정도에 대한 확인이 가능해야 함
  4. 일관성 : 요구사항의 내용 간 상호 모순이 없어야 함
  5. 수정 용이성 : 요구사항 변경 시 쉽게 수정 가능해야 함
  6. 개발 후 이용성 : 시스템 개발 후 운영 및 유지보수에 효과적인 이용이 가능해야 함

요구사항 관리 단계(CMM Level2 프로세스 영역)

  • 요구사항 관리는 프로젝트 진행 과정에서 발생하는 요구사항의 변경에 대해 일치성과 무결성을 제공하기 위해 변경제어와 추적 등 일련의 관리를 수행하는 활동
  • 주요 산출물로는 요구사항 변경요청서, 요구사항 변경승인서, 요구사항 추적표

[요구사항 관리 프로세스]
1. 요구사항 협상 : 가용한 자원과 수용 가능한 위험 수준에서 구현 가능한 기능을 협상하기 위한 기법 (우선순위 선정, 시뮬레이션)
2. 요구사항 기준선 : 공식적으로 검토되고 합의된 요구사항 명세서(공식회의,형상관리)
cf: 형상관리 : 소프트웨어 생명주기 동안 발생하는 변경사항을 체계적으로 관리하여 소프트웨어의 품질보증을 향상시키는 관리적 활동이다.
3. 요구사항 변경관리 : 요구사항 기준선을 기반으로 모든 변경을 공식적으로 통제하기 위한 기법(형상통제 위원회, 영향도 분석)
cf : 형상통제위원회(CCB : Configuration Control Board) : 형상 관리에 대한 주요 방침을 정하고 산출물을 검토하며, 단계별 의사결정을 수행하는 조직이다.
4. 요구사항 확인 및 검증 : 구축된 시스템이 이해관계자가 기대한 요구사항에 부합하는지 확인하기 위한 방법(확인 및 검증)

5. 요구공학에서 요구사항 검증

  • 요구사항 검증은 요구사항 명세서에 사용자의 요구가 올바르게 기술되었는지에 대한 검토, 베이스라인을 설정하는 활동
  • 요구사항 명세서의 오류가 개발 단계나 운영 중인 상태에서 발견된다면 오류 수정 및 재작업 비용이 많이 소요되므로 요구사항 검증은 반드시 필요하다
    [요구사항 검증 절차]
  • 요구사항 검증은 요구사항 검토 계획 수립, 요구사항 명세서 검토 및 오류 수정, 요구사항 베이스라인 설정 순
  1. 요구사항 검토 계획 수립 : 품질 관리자 또는 프로젝트 관리자가 요구사항 검토 기준과 검토 방법, 검토 일정과 참여자 등을 포함한 요구사항 검토 계획 수립 | 인터페이스 요구사항 검증의경우, 기술 아키텍처 전문가 또는 인터페이스 요구사항 점검 방법과 점검 내용(체크리스트) 등 결정
  2. 요구사항 명세서 검토 및 오류 : 요구사항 검토 계획 수립 시 선정한 검토 방법과 검토 기준에 따라 요구사항 명세서 검토, 요구사항 명세서가 명세 표준을 준수하고 있는지, 요구사항 명세서 내에 기술된 용어는 일관성과 표준 준수, 이해 용이성을 가졌는지 검증, 명세서에 기술된 요구사항 내용은 서로 상충하지 않았는지 등을 검토하고 요구사항 명세서를 수정하도록 피드백
  3. 요구사항 베이스라인 설정 : 요구사항 검토를 통해 검증된 요구사항을 공식적으로 승인하고 소프트웨어 설계와 구현을 할 수 있도록 요구사항 명세서의 베이스라인을 설정, 베이스라인 설정 이후 요구사항은 공식적인 변경 통제 절차로만 변경해야함

[요구사항 검증 방법]

  • 요구사항 검증 방법에는 요구사항 검토 기법 활용, 프로토타이핑 활용, 테스트 케이스 활용, CASE 도구 활용이 있다.
    [요구사항 검증 절차]
  1. 정형 기술 검토 활용 (FTR : Formal Technical Review)
    => 소프트웨어 개발 산출물 대상 요구사항 일치여부 및 결함 발생여부를 검토하는 정적 분석 기법
    1-1. 동료 검토(Peer Review) : 2~3명이 진행하는 리뷰의 형태, 요구사항 명세서 작성자가 요구사항 명세서를 설명하고 이해관계자들이 설명을 들으면서 결함을 발견하는 형태로 진행
    1-2. 워크 스루(Walk Through) : 오류를 조기에 검출하는 데 목적, 검토 자료를 회의 전에 배포해서 사전검토한 후 짧은 시간 동안 회의를 진행하는 형태로 리뷰를 통해 오류를 검출하고 문서화
    1-3. 인스팩션(Inspection) : 소프트웨어 요구, 설계, 원시 코드 등의 저작자 외의 다른 전문가 또는 팀이 검사하여 오류를 찾아내는 공식적 검토 방법

  2. 프로토타이핑 활용 : 개발할 시스템에 대한 주요 기능이나 일부분을 약식으로 개발하여 최종 사용자나 고객을 대상으로 시연하면서 시스템이 작동하는 모습을 경험할 수 있게 하고 요구사항을 확인

  3. 테스트 케이스 활용 : 요구사항은 테스트할 수 있도록 작성되어야 함, 이를 위해 테스트 케이스를 생성하여 추후 요구사항이 현실적으로 테스트 가능한지를 검토

  4. CASE 도구 활용 : 구조화된 요구사항 명세서에 대해서는 자동화된 일관성 분석을 제공하는 CASE 도구 활용 가능, 대규모 개발 프로젝트에서는 다양한 이해관계자들이 요구사항 명세서 검토가 필요하기 때문에, 요구사항 명세서에 대한 형상 관리 수행이 가능한 CASE도구 이용

profile
꾸준함

0개의 댓글