pais
소프트웨어 개발 방법중에서 전통적인 방법 본문
요구사항 분석
- 특징
1. 소프트웨어 개발의 실제 첫 단계
2. 개발 대상에 대한 사용자의 요구사항 이해 및 문서화
- 분석 작업 단계
1. 문제 인식 : 사용자와 회의, 설문조사, 각종 문서 검토 등을 통해 요구사항 파악
2. 평가와 종합 : 요구사항에 대한 정보 평가 및 해결책 종합
- 모델 제작
1. 문서화 및 검토 : 요구사항 분석 명세서 작성
2. 요구사항 분석의 한계
3. 대화 장벽 (사용자와 개발자 간의 의사소통 어려움/솔루션 : 다이어그램, 프로토타입)
4. 시스템 복잡도 (소프트웨어 체계화에 따른 새로운 개념 요구/시스템 규모와 대상이 광범위해짐에 따른 소프트웨어 복잡화/)
5. 솔루션 : 구조적 분석, 객체지향 분석
6. 요구 변경
7. 요구 명세화
8. 요구사항 분석가의 자질
9. 요구사항 분석가 : 요구사항을 효율적으로 분석하고 정확한 명세화 제공
구조적 분석 기법
- 자료의 흐름과 처리를 중심으로 하는 요구사항 분석 방법
- 특징
1. 도형 기반 분석용 도구와 분석 절차 이용하여 사용자의 요구사항 파악 및 문서화
2. 도형을 이용하므로 사용자와의 대화 용이
3. 하향식 방법을 이용한 시스템 세분화 (분석의 중복 피할 수 있음)
4. 요구사항이 논리적으로 표현됨 --> 시스템을 일관성 있게 이해할 수 있음
5. 분석의 질 향상. 개발 전 단계에서 필요한 명세 작성 용이
6. 모델링에 사용되는 도구들 (구조적 분석 도구)
7. 자료 흐름도(DFD, data flow diagram) (= 자료흐름 그래프, 버블 차트)
특징
1. 요구사항 분석에서 사용
2. 자료의 흐름 및 변환 과정과 기능을 도형 중심으로 기술
3. 자료 흐름과 기능을 자세히 표현하기 위하여 단계적으로 세분화
4. 자료는 처리(process)를 거쳐 변환될 때마다 새로운 이름 부여, 처리(process)는 입력 자료가 발생하면 기능 수행 후 출력 자료 산출
5. 자료 흐름도의 세분화(상세화)
6. 요구 사항 분석이 진행됨에 따라 하나의 자료 흐름도를 보다 자세히 표현하기 위해 다른 자료 흐름도를 생성하는 것
7. 세분화 단계가 많아질수록 소프트웨어 설계와 구현이 용이
8. 단계(레벨) 0의 자료 흐름도 --> 기본 시스템 모델 (배경도)
9. 예) 단계 N 이 이름짓기라면 n+1 단계에는 이름짓기를 세분화하여 성 고르기, 이름 고르기 이런 식으로...
10. 자료 흐름도 구성요소 표기법
11. 프로세스(process)
12. 처리 과정을 나타냄. = 처리/기능/변환/버블
원 또는 둥근 사각형으로 표시
CASE (자동화 도구)
- 요구사항을 자동으로 분석하고, 요구사항 분석 명세서를 기술하도록 개발된 도구
장점 (표준화/보고를 통한 문서화 품질 개선/DB를 모두가 이용할 수 있기에 분석자들 간 적절한 조정 가능/교차 참조도와 보고서를 통한 결함, 생략, 불일치 발견 용이)
- 종류
1. SADT (Structured Analysis and Design Technique)
2. softtech사에서 개발. 구조적 분석 및 설계 도구
3. 구조적 요구 분석을 위한 블록 다이어그램 사용
4. SREM (Software Requirements Engineering Methodology)
5. trw사가 실시간 처리 소프트웨어 시스템에서 요구사항을 명확하게 하기위해 개발
6. RSL 및 REVS 이용
7. RSL (Requirement Statement Language) : 요구사항 기술 언어
8. REVS(Requirement Engineering and Validation System) : RSL로 작성된 요구사항을 자동으로 분석하여 분석 명세서 출력
9. PSL(Problem Statement Language) /PSA(Program Statement Analyzer)
10. 미시건 대학에서 개발
11. PSL : 문제(요구사항) 기술 언어
12. PSA : PSL 로 작성된 요구사항 자동 분석
13. TAGS (Technology for Automated Generation of Systems)
14. 시스템 공학 방법 응용에 대한 자동 접근법
15. 개발 주기 전과정에서 이용 할 수 있음 (통합 자동화 도구)
16. IORL : 요구사항 명세 언어
HIPO(hierarchy input process output)
- 시스템 분석 및 설계, 문서화 시 사용되는 기법
- 특징
1. 시스템 실행 과정 (입력/처리/출력) 기능 수행
2. 하향식 소프트웨어 개발을 위한 문서화 도구
3. 체계적 문서관리
4. 기호, 도표를 이용 --> 이해하기 쉬움
5. 기능과 자료의 의존관계 표현 가능
6. 변경, 유지보수 용이
- 종류
1. 가시적 도표 (도식 목차)
2. 전체적 기능 및 흐름 파악 --> 트리(계층) 구조
3. 총체적 도표 (총괄 도표, 개요 도표)
4. 기능(입출력, 처리)에 대한 전반적 정보 제공
5. 세부적 도표 (상세 도표)
6. 총체적 도표에 표현된 기능을 구성하는 기본요소를 상세하게 서술