KNOU STUDYREAD

한국방송통신대학교 통계데이터과학과 블로그

CS & Department of Statistics and Data Science

통계데이터과학과 및 컴퓨터과학 독서

Part 02-03-01~02. 분석대상 정의/정보 요구사항 상세화

Harryㅤ 2023. 4. 10.

 

분석대상 정의 : 크게 <현행 업무 분석 대상 정의> 와 <현행 시스템 분석 대상 정의>로 나뉜다.

- 현행 업무 분석 대상 정의 : 현행 업무 흐름도, 현행 업무 설명서, 현행 업무 분장 기술서를 분석 대상 자료로 포함. 
- 현행 시스템 분석 대상 정의 : 현행 시스템 구성도, 현행 시스템 분석 및 설계 개발보고서, 화면, 장표 보고서 레이아웃, 현행 시스템 테이블 목록 및 테이블 정의서, 프로그램 목록, 사용자 운영자 지침서, 시스템 지원 및 유지보수 이력, 시스템 개선 요구사항 등을 자료로 포함

* 현행 시스템 분석 대상 정의시 <유용성> <완전성> <정확성> <유효성> 4가지 기준으로 표기.
* 필요에 따라 사용자 뷰도 대상에 포함될 수 있음.



정보 요구사항 상세화 : 위의 과정을 통해 분석한 뒤 정보 요구사항 정의서를 보완하는 과정. <기능적 요구사항> <비기능 요구사항>이 있으며 <프로세스 관점 상세화> <객체지향 관점 상세화>로 나뉜다.

- 기능적 요구사항 : 외부와의 직접적 상호작용 => 시스템에 요구되는 기능과 서비스. 구현 기술과 별개.
- 비기능적 요구사항 : 시스템이 수행하는 기능 이외의 사항 전부. 시스템이 만족시켜야 하는 제약조건(반응시간, 저장능력, 동시처리능력)
<신뢰성> <확장성> <이식성> <보안> 이 중요시 됨. 경우에 따라 기능적 요구사항보다 중요할 수 있다.

1) 프로세스 관점 상세화 : 실제 업무가 수행되는 행위를 말함. 프로세스의 분해 및 상세화, 정보 항목 도출 및 표준화, 정보 항목별 통합성 검증 세 단계로 진행.

- 프로세스 분해/상세화 
    프로세스의 분해는 더 이상 하위 기능이 존재하지 않을 정도의 최소 프로세스 단위로 분해.
    단위업무 기능별 상세분해보다는 업무 전체 단위에 대해 프로세스 분해 수준에서 분해
    업무 기능 계층도를 단위 업무 기능 수준까지 분해 후 프로세스 도출
    높은 응집도/낮은 결합도를 유지하는 모듈성 확보가 중요
    하위 프로세스가 7개 초과할 시 상위 프로세스를 분리해야한다.(기본적으로 상위 프로세스 포함)
    프로세스 정의서에서 데이터 사용항목은 기본 프로세스 경우에만 반드시 작성

- 정보 항목 도출 및 표준화
   도출된 프로세스별로 CRUD(등록, 조회, 변경, 삭제) 구분.
   업무 용어를 그대로 사용하고 명사형으로 기술한다.

- 정보 항목별 통합성 검증
   전사 관점에서의 통합/분리 여부를 검토
   장점 : 동일 정보 통합 시 정보 항목 관리가 용이하다
   단점 : 무리한 통합으로 인해 모호성과 통합 의미 상실이 일어날 수 있다

2) 객체지향 관점 상세화 : 유스케이스 다이어그램 중심으로 기능적 정보 요구사항을 정리


- 유스케이스 다이어그램
    액터 :  시스템과 상호작용하는 외부 엔터티를 의미
    유스케이스 : 액터에게 보이는 시스템의 기능, 외부 동작을 의미. 자연어로 서술.



- 클래스 다이어그램
   시스템을 구성하는 클래스의 구조를 기술. 객체들의 공통 구조와 동작을 추상화.
   객체, 클래스 ,속성, 오퍼레이션, 연관관계로 서술.



- 순서 다이어그램
   시스템 동작을 정형화하고 객체간 메시지 교환을 시각화.
   참여객체를 추가로 찾고 객체 사이 상호작용을 파악하기 위해 작성.
   액터, 객체, 메시지, 수직선(시간의 흐름)로 서술.
   클래스가 가져야 할 오퍼레이션을 파악하는데 사용. 객체들 사이의 통신패턴이고 이벤트 흐름을 나타낸다



- 상태 다이어그램
   객체가 갖는 상태와 상태 사이의 전환을 표현.
   상태는 객체가 만족하는 조건
    단일 객체의 동작을 기술. 빠진 오퍼레이션을 점검하는데 목표를 둔다.



- 액티비티 다이어그램
  시스템에서 수행되는 작업의 집합을 의미.
  클래스의 메소드에 해당.
  액티비티(둥근 사각형)/화살표(다른 액티비티로 전환)/동기 막대(제어흐름 동기화)/다이아몬드(선택분기)/ 시작과 종료로 구성