본문 바로가기

자격증/정보처리기사 1과목

1-7강. 요구사항 확인 - 분석모델 확인(2)

과목1. 소프트웨어 설계, 7강. 요구사항 확인-분석모델 확인(2)

 

[ 목차 ]

1. 분석 자동화 도구(CASE 도구) 정의

2. 자동화 도구의 필요성

3. 자동화 도구의 등장 배경

4. 자동화 도구의 효과

5. 자동화 도구 도입 시 필요사항

6. 자동화 도구 종류 - SADT

7. 자동화 도구 종류 - SREM

8. 자동화 도구 종류 - PSL/PSA

9. 자동화 도구 종류 - TAGS

10. 자동화 도구 종류 - UML/CASE

11. 요구공학의 정의

12. 요구사항 관리의 필요성

13. 요구공학의 요구사항 관리

14. 요구사항 관리 도구의 개념

15. 요구사항 관리 도구의 주요 기능

 

1. 분석 자동화 도구(CASE 도구) 정의

1) 요구사항을 자동으로 분석하고 요구사항 분석 명세서를 기술하도록 개발된  도구

2) 소프트웨어 개발과정 일부 또는 전체를 자동화하기 위한 도구

3) 계획 수립에서부터 요구분석, 설계, 개발, 유지보수에 이르는 소프트웨어 생명주기 전 과정을 자동화하도록 지원

 

2. 자동화 도구의 필요성

1) 대규모 개발 프로젝트에서는 다양한 이해관계자들이 요구 사항 명세서를 검토해야 하고, 요구 사항 명세서에 대해 형상 관리를 수행해야 해서 요구 사항 관리 툴을 이용

2) 자동화 도구를 사용하면 요구사항 변경 사항을 추적하고 분석, 관리할 수 있으며 표준 준수 여부를 확인 가능

3) 분산된 환경에서 다양한 이해관계자가 공동 작업 가능

4) 테스트 연계 및 결함 관리 등의 기능을 제공하여 시스템 구축 업무를 효과적으로 수행

형상 관리 : 소프트웨어의 생산물(프로그램, 문서, 데이터 등)을 확인하고 소프트웨어 통제, 변경 상태를 기록하고
                 보관하는 일련의 작업

3. 자동화 도구의 등장 배경

1) 소프트웨어 산업측면 : 소프트웨어 위기(비용, 기간, 인원 증가) 극복 방안

2) 정보시스템 관리측면

  1] 사용자의 요구사항과 실제 시스템 간의 차이 발생 극복 필요

  2] 시스템의 재사용성, 생산성 및 유지보수의 어려움 극복 필요

  3] 소프트웨어의 대규모화, 통합화, 다양화 및 복잡화에 따른 효율적 관리 필요

 

4. 자동화 도구의 효과

1) 표준화된 환경 구축 및 문서 과정의 자동화, 표현성 확보(표준화와 보고를 통한 문서화 품질 개선)

2) 소프트웨어 재사용성 확보안정된 소프트웨어 품질 확보 가능

3) 전 과정의 신속성, 통합성 제공

4) 데이터베이스가 모두에게 이용 가능하다는 점에서 분석자들 간의 적절한 조정

5) 변경이 주는 영향 추적의 용이성

6) 명세에 대한 유지보수 비용의 축소

 

5. 자동화 도구 도입 시 필요사항

1) 자동화 도구 도입 수 준비사항

  1] 개발 방법론의 선택, 교육, 사전 협의 및 관리체계 구축 및 기반조성 필요

  2] 경영진, 관리자, 개발자 전원의 올바른 사용에 대한 이해와 준비 필요

2) 자동화 도구 선정 시 평가항목 : 비용, 업체 지명도, 시장점유율, 호환성, 통합성, 사용 용이성, 숙달 기간, 유지보수성

 

6. 자동화 도구 종류 - SADT

1) SoftTech 사에서 개발

2) 시스템의 정의, 소프트웨어 요구사항 분석, 시스템/소프트웨어 설계를 위해 널리 이용되어 온 구조적 분석/설계 도구

3) 구조적 요구 분석을 하기 위해 블록 다이어그램을 채택한 자동화 도구

소프트웨어 개발 방법론 : 70년대의 구조적 방법에서 시작해 80년대 정보공학, 90년대 객체지향, 90년대 말 컴포
                                     넌트 기반 개발 방법 및 현재의 제품계열 기반 개발 방법으로 발전

블록 다이어그램 : 수치 혹은 물리적 자료와 그 흐름을 보다 명료하게 이해하기 위해 매 과정을 체계적으로 나눈
                           후 이를 그림으로 나타낸 것

 

7. 자동화 도구 종류 - SREM

1) TRW사가 개발

2) 우주 국방 시스템 그룹에 의해 실시간 처리 소프트웨어 시스템에서 요구사항을 명확히 기술하도록 할 목적

3) RSLREVS를 사용하는 자동화 도구

4) RSL : 요소, 속성, 관계, 구조들을 기술하는 요구사항 기술 언어

  1] 요소 : 요구사항 명세를 개발하기 위해 사용되는 개체와 개념

  2] 속성 : 요소를 수정하거나 수식(문자에 그림자, 테두리, 밑줄, 반전 등을 적용(하기 위한 것

  3] 관계 : 개체들 간의 관계

  4] 구조 : 정보 흐름을 묘사하기 위한 것

5) REVS : RSL로 기술된 요구사항들을 자동으로 분석하여 요구사항 분석 명세서를 출력하는 요구사항 분석기

 

8. 자동화 도구 종류 - PSL/PSA

1) 미시간 대학에서 개발

2) PSL : 문제(요구사항) 기술 언어

3) PSA : PSL로 기술한 요구사항을 자동으로 분석하여 다양한 보고서를 출력하는 문제 분석기

 

9. 자동화 도구 종류 - TAGS

1) 시스템 공합 방법 응용에 대한 자동 접근방법으로 개발 주기의 전 과정에 이용할 수 있는 통합 자동화 도구

2) 구성 : IORL, 요구사항 분석과 IORL처리를 위한 도구, 기초적인 TAGS 방법론

3) IORL : 요구사항 명세 언어

 

10. 자동화 도구 종류 - UML/CASE

1) 상용제품

  1] IBM RSA : 가장 대표적이며 UML 툴의 대명사라고 할 수 있는 제품이 Rational 사의 ROSE인데, IBM으로 넘어가면서

                       기존 ROSE와 함께 RSA라는 이름으로 발전을 거듭

  2] Together architect/Designer/Developer

  3] MagicDrow

  4] Visual Paradigm for UML

  5] EA

  6] Power Designer

  7] Visio

2) 오픈소스 제품

  1] StarUML

  2] ArgoUML

  3] TOPCASED-UML2 

  4] MDT-UML2Tools

 

11. 요구공학의 정의

1) 요구사항의 획득, 분석, 명세, 검증, 변경관리에 대한 제반 활동과 원칙, 요구사항 생성 및 관리를 체계적, 반복적 수행

2) 요구사항에 관리에 포함되는 모든 소프트웨어 개발 생명주기 활동과 이를 지원하는 프로세스를 포함

3) 시스템 요구사항 문서를 생성, 검증, 관리하기 위해여 수행되는 구조화된 활동의 집합

4) 요구사항 명세서를 최종 산출물로 생성

소프트웨어 개발 생명 주기

1) 시스템을 계획, 개발, 시험, 채용하는 과정을 뜻하는 용어

2) 하드웨어부터 소프트웨어까지 넓은 범위에 적용 가능하며 대개 요구사항분석-설계-개발-테스트-운영 단계

3) 폭포수(전통적), 스파이럴, 에자일, 빠른 프로토타입, 반복 및 확장, 동기화와 안정화 등


요구사항 명세서 : 완전성, 정확성을 목표로 상호 인식차이 제거를 위해 요구사항 내역을 구체화, 세분화한 문서

12. 요구사항 관리의 필요성

1) 프로젝트의 성공과 실패를 좌우하는 요소들의 40%가 요구사항과 관련

2) 부실하게 정의되고 관리된 요구사항으로부터 출발한 프로젝트는 개발과 테스트 단계에서 많은 에러를 유발하며 이는

    일정 지연, 추가 비용과 지결

 

13. 요구공학의 요구사항 관리

1) 요구공학에서 요구사항 관리를 요구사항 협상, 요구사항 기준선, 요구사항 변경관리, 요구사항 확인 및 검증으로 정의

2) 요구사항 협상 : 가용한 자원과 수용 가능한 위험 수준에서 구현 가능한 기능 협상

3) 요구사항 기준선 : 공식적으로 합의되고 검토된 요구사항 명세서(기준선) 결정

4) 요구사항 변경관리 : 요구사항 기준선을 기반으로 모든 변경을 공식적으로 통제, 절차에 의해 변경

5) 요구사항 확인 및 검증 : 구축된 시스템이 이해관계자가 기대한 요구사항에 부합되는지 확인

6) 요구사항 자료 수집 - 요구사항 협상 - 요구사항 명세서, 정의서 - 요구사항 변경관리 - 요구사항 확인 및 검증

 

14. 요구사항 관리 도구의 개념

1) 요구사항을 기반으로 프로젝트 관리, 설계, 개발, 테스트 등을 수행할 수 있는 역할을 지원하는 도구

2) 히스토리, 베이스라인, 교환(import/export)과 같은 요구사항 관리 기능, 요구사항 간의 혹은 요구사항과 다른 산출물

     간의 추적성, 다양한 CASE 도구와의 통합, 자체 언어와 API를 통한 확장성 등을 지원

3) 대표적인 요구사항 관리 도구 : IBM Rarional DOORS

 

15. 요구사항 관리 도구의 주요 기능

1) 프로젝트 생성 : 프로젝트 타입 및 기본 모듈 템플릿, 속성, 역할별 뷰를 설정하여 프로젝트 생성을 도와주며 이를 저

                          장하여 재사용할 수 있도록 함

2) 요구사항 작성 : 모든 요구사항에 고유의 ID가 생성, 부여되고 이 ID는 사용자에 의한 임의 변경이 될 수 없도록

3) 요구사항 import/export : 요구사항의 일관 등록 및 추출을 위해 다양한 형식의 파일 import와 export 기능을 제공

4) 요구사항 이력 관리 : 요구사항 별로 히스토리 관리 기능을 제공하여 변경 이력을 관리

5) 요구사항 베이스라인 : 요구사항이 확정되고 관리의 시작점이 되는 요구사항 베이스라인 기능을 제공하는 것으로,

구사항의 배포 목정 등의 이유로 요구사항 문서의 버전을 설정을 할 필요가 있는데 해당 기능을 제공

6) 요구사항 추적성 : 어느 요구사항 베이스(현재 or 타)인지 구분하기 위한 기능

7) 협업 환경 : 하나의 요구사항 문서를 여러 명이 잘석할 수 있도록 하는 협업 기능으로, 일반적으로 공유 모드를 제공하

                     고 선점 사용자 외에는 수정, 삭제 권한이 제한

8) 외부 연동 환경 : 요구사항대로 설계되었는지 파악하기 위해 설계도구와 연동을 지원하며, 구현 확인을 위해 형상 관

                           리도구와의 연동도 지원

9) 확장성 : API 등을 통해 타 시스템과의 연동 기능 제공

형상 관리 : 소프트웨어의 생산물을 확인하고 스프트웨어 통제, 변경 상태를 기록하고 보관하는 일련의 작업

API : 응용 프로그램 개발자들이 애플리케이션을 만들 때 운영체제에서 동작하는 프로그램을 쉽게 만들 수 있도
           록 화면구성이나 프로그램 동작에 필요한 각종 함수를 모아놓은 것