4. 요구분석
4.1. 3가지 시스템 개발 방법
- 구조적 방법론 (Structured Methodology)
- 배경: 소프트웨어 개발, 분석, 설계, 구현의 순서로 작업을 진행
- 문제점 발견: 사용자 요구사항 분석을 경시하는 소프트웨어 개발, 설계와 구현에만 치중
- 해결책: 문제 해결을 위해 분석 단계에 초점을 맞춤
기능을 중심으로 시스템의 하향식 명세화 수행, 기능을 추상화가 높은 쪽으로부터 상세한 쪽으로 분해, 관점마다 사용되는 도식 표현으로 문제의 복잡함을 감소
- 특징: 명세화 대상
분석: 처리 프로세스의 입출력 데이터 흐름
설계: " 계층 구조
구현: " 내부의 실행 순서
- 정보공학 방법론 (Information Enginerring Methodology)
- 배경: 시세틈 구성 요소를 데이터와 프로세스. 즉, 프로세스는 조직의 변화와 함께 변경되지만 데이터 개체는 비즈니스 생명 주기 전체에서 거의 변동이 일어나지 않는다
- 해결책: 비즈니스 차원으로서 데이터 중시하여 분석하고 설계하는 방법론
- 특징: 정보 시스템을 효과적인 기업 경영의 일부로 보고 모든 소프트웨어와 하드웨어 도입을 기업의 이윤 향상을 위한 목표에 결부
+: 비즈니스 차원의 대규모 정보 처리 시스템 구축에 유리
-: 특정 규모 시스템에만 제한적 적용
- 객체지향 방법론 (Object-Oriented Methodolog)
소프트웨어 생산 기술에 대한 관심이 프로그래밍에서 분석 및 설계로 옮겨지면서 더욱 주목 받게 됨, 소프트웨어 위기 현상을 해결할 수 있는 강력 대안
- 특징: 프로그램을 뚜렷하게 구별되는 객체 단위에서 분할 가능: 서로 다른 프로그램에서 사용자를 위해 쓰이는 공통적 기능을 적절히 특수화하고 알맞게 변경 -> 컴포넌트 개념으로 재사용 가능하기 때문에 프로그래밍 생산성이 매우 향상
+: 단계의 전환이 빠르고 생산성이 높다
4.2. 객체지향 방법의 표현 도구: 유스케이스 다이어그램
-
유스케이스 다이어그램 작성하기
1) 후보 유스케이스 도출
2) 후보 유스케이스 검토 - 사용하는 유스케이스만 도출 (그 안에 포함된 기능을 모두 사용해야 함), 주 기능은 유스케이스, 보조 기능은 이벤트 흐름
3) 유스케이스 정련
-
유스케이스 명세서 작성하기 (7개 항목)
1) 개요: 유스케이스가 제공하는 기능을 간단히 나타냄, 액터까지 포함
2) 관련 액터: 누가 사용하는지 해당 액터 기술
3) 우선 순위: 사용자 관점에서 개발자 관점에서도 정할 수 있음
4) 선행 조건: 해당 유스케이스를 수행하기 위한 직전의 선행 조건
5) 후행 조건: 유스케이스 수행 후 만족해야 하는 상태
6) 이벤트 흐름*: 유스케이스 기능에 대한 액터와 시스템 간의 대화로 문장이나 순차 다이어그램을 사용해 표현 -> 설계와 테스트 단계에서도 활용
- 기본 흐름(basic flow): 가장 일반적이고 정상적인 흐름
- 대안 흐름(alternative flow): 기본 흐름을 제외한 나머지 발생 가능한 여러 경우의 액터와 이벤트 간 대화 내용 정리 , 예외적이거나 특수적인 상황
7) 비기능요구사항