Preface
시작은 미비하지만 끝은 창대하리라
소프트웨어 공학을 공부하다 보면, 소프트웨어 개발 과정이 생각보다 매우 체계적으로 정립되어 있다는 것을 느낄 수 있다. 각 단계의 상세한 설계부터 시작하여 그로부터 파생되는 세부적인 사항까지, 현재 나의 지식 수준으로 생각해 볼 만한 단계는 전부 기술되어 있다.
그러나 실무 현장에 있는 친구의 말을 들어보면, 언제나 예상치 못한 상황이 발생할 수 있으므로, 학문적 지식과 더불어 창의적 아이디어를 통한 문제 해결 능력을 겸비하는 것이 필요하다고 한다.
비록 지금은 기초 공사를 진행중인 단계이지만, 하루 빨리 개발자로서 실무 현장에 뛰어들어 친구의 말을 100% 이해할 수 있는 날이 오길...
- 기능(프로세스) : 입력물을 받아 결과물을 내는 활동
- 구조적 분석 기법 : 시스템을 기능 관점에서 바라보고 시스템에서 요구되는 정보의 흐름 및 정보의 변환을 나타내는 기능 모델
1. 구조적 분석 기법 개요
- 흐름
① 구조적 프로그래밍 : 시스템이 수행하는 기능을 모듈화시켜 분할
② 구조적 설계 기법
③ 구조적 분석 기법
- 구조적 분석 기법 특징
① 자료 흐름도(DFD : Data Flow Diagram) 사용
② 하향식(top-down) 방법 사용
③ 기능 관점을 나타내고 동적·정보 관점은 나타내지 않음
- 시스템은 하나의 큰 프로세스로 이해된다.
- 자료 흐름의 상세화 : 시스템의 반복적 분할
- 레벨화(계층화) : 큰 시스템을 분할하여 계층적 배열을 통해 서로의 종속 관계를 표시하는 것
2. 자료 흐름도
- 소프트웨어 시스템 : 정보를 받아들여 가공 처리하는 변환기(transformer)
- 자료 흐름도 : 정보가 입력되어 적용되는 변화 및 출력 결과를 그림으로 묘사하는 도식적 기법
→ 원시 프로세스를 찾아내고, 서로 어떻게 연결되어 있는지 규명
- 자료 흐름도 특징
① 데이터 및 정보의 흐름에 초점
→ 처리 순서와 제어는 명확하게 표시 불가
② '배경도'로 시작하여 '원시 프로세스'까지 분할
③ 상위프로세스 + 중간 프로세스 + 원시 프로세스(functional primitive)
- 원시 프로세스의 상세 설명은 미니(프로세스) 명세서(mini-spcification)에 기록한다.
- 미니 명세서의 번호는 해당 프로세스 번호와 일치한다.
- 자료 흐름도의 균형 : 부모 자료 흐름도의 정보 입출력은 자녀 자료 흐름도 입출력과 같아야 한다는 제약 조건
- 자료 사전 : 자료 흐름도에 나타난 메타 데이터(metadata : 데이터에 대한 데이터)를 정의
→ 편의성 제공
- 배경도(context diagram) : 외부와의 정보 흐름을 표시 (최상위의 하나로 된 프로세스 그림)
① 개발해야 할 시스템 영역 기술
② 시스템과 외부 환경과의 경계 결정
③ 외부와의 인터페이스 제시 → 시스템 입출력 데이터 표시
④ 시스템을 블랙박스로 본 것 → 외부 환경과의 인터페이스에 초점
cf. 화이트박스
- 각 프로세스와 자료 흐름도는 번호를 가짐
① 배경도는 최상위 프로세스로 0번 (자료 흐름도에도 0으로 표기)
② 프로세스 : 부모 자료 흐름도 번호 + '.' + 고유 번호
③ 프로세스 레벨 : 프로세스 번호의 '.' 개수 + 1
- 유스케이스를 통한 분석 : 시스템을 사용자의 관점에서 바라봄
참고 문헌 : 윤청, 『소프트웨어 공학 에센셜』(생능출판), 2019, p.166~181.
'CS > 소프트웨어 공학 에센셜' 카테고리의 다른 글
정보 모델링 (0) | 2021.06.05 |
---|---|
동적 모델링 (0) | 2021.06.03 |
요구사항 분석과 모델링 (0) | 2021.05.31 |
프로젝트 계획 (0) | 2021.05.30 |
프로젝트 관리 (0) | 2021.05.28 |
댓글