[두음] 소프트웨어 개발 방법론 - 구정객CPA
- 구정에 온 손님(객)은 공인회계사(CPA)
구조적, 정보공학, 객체지향, CBD, PL/SSPL, Agile
2022.06.27 - [정보관리기술사/SW 공학] - SW 개발 방법론 발전 과정 - "구정객CPA"
구조적 방법론
정형화된 분석 절차에 따라 사용자 요구사항을 파악하여 문서화하는 체계적인 방법으로
비즈니스 프로세스 자동화를 목표로 하고 있으며, 프로세스 중심의 개발 방법
구조적 방법론 특징
- 데이터 흐름 지향, 즉 프로세스 위주의 분석과 설계 방식
- 모듈의 분할과 정복에 의한 하향식 설계 방식
- SDLC의 구조를 가진 폭포수 모델이 기본
- 소프트웨어의 개발이 목표인 프로세스와 산출물의 구성
- 데이터의 구성에 대한 설계 방안이 부족
- 프로젝트 관리 및 조직, 역할 등 방법론적 다른 요소들의 정의가 없음
라이프사이클 : 폭포수 모델
개발방식 : TOP‐DOWN
단계별 산출물
계획 : 도메인 분석, 프로젝트 계획서 등
분석 : DFD(Data Flow Diagram) 등
설계 : Structure Chart, 프로그램 사양서 등
출처: IT위키
자료흐름 중심 설계
기능 모델링 기법인 구조적 분석의 결과를 구조적 설계로 옮기는 과정
구조적 방법을 적용하는 경우
설계 초기 단계에서는 시스템을 논리적으로 분할하여 모듈화 하게 되고,
위에서 아래로 정제하여 나아감으로 하향식(Top-down)으로 세분화하는 작업이 이루어진다.
버블차트(Bubble Chart) 또는 자료흐름도(DFD: Data Flow Diagram)
자료흐름을 나타내기 위해 구조적 분석 과정에서 사용하는 표기법
자료흐름도가 논리적인 관점에서 자료흐름과 기능을 기술한다고 하면,
구조적 설계에서 사용하는 구조도표는
소프트웨어의 구조와 설계를 구체적으로 나타내는 데 사용된다.
구조도표(Structure Chart)
모듈 간의 자료와 제어 정보의 교환, 주요 루프, 의사 결정 등을 보여주며,
설계 단계에서 모듈체계와 모듈들 사이의 상호교퓨 내용을 나타내 주는 모델
구조적 설계는 요구사항 명세서를 설계 문서로 바꾸는 데 필요한 가이드라인을 제시하고 있다.
이러한 변환은 시스템의 정보 흐름 유형에 의해 결정되는데
정보 흐름을 크게 변환기초(Tansform Based), 트랜잭션기초(Transaction Based)라는
두 가지 종류로 나눌 수 있다.
변환흐름 중심 설계(Transform Flow-Oriented Design)
변환흐름 중심 설계는 정보를 받아들여 가공 처리한 후
그 결과인 외부세계에 출력하는 시스템을
이에 합당한 컴퓨터 구조로 매핑시키는 기법
변환흐름 중심은 시스템을 3가지로 나눌 수 있다.
(1) 입력흐름 - 입력을 받아들여 시스템에서 사용할 수 있는 데이터로 정제하는 일
(2) 변환중심 - 데이터를 가공 처리하는 기능을 담당
(3) 출력흐름 - 가공 처리된 정보를 받아 적당한 출력물로 변환시켜 출력
트랜잭션흐름 중심 설계(Transaction Flow-Oriented Degsign)
트랜잭션이란 자료난 제어 시그널 등이 어떠한 행위를 유발시키는 것을 말하며
트랜잭션흐름에 의한 설계는 들어온 입력을 여러 갈래의 출력흐름으로 쪼갤 수 있는 경우에 가능하다.
트랜잭션에 기초한 프로그램 구조는 세 구성 요소로 이루어져 있다.
(1) 트랜잭션 중심으로 작용하는 모듈
(2) 입력을 받아들이는 모듈
(3) 각 동작 경로에 해당하는 하나 이상의 모듈
참고 자료
탑싯 에센스 - 소프트웨어 개발
https://m.blog.naver.com/seilius/130186081957
소프트웨어 개발 방법론 - IT위키 (itwiki.kr)
구조적 설계 방식에 대한 간단한 비교표가 있습니다.
https://thegap.tistory.com/374
'(Pilot) 탑기공 > 소프트웨어 개발' 카테고리의 다른 글
[탑기공] 소프트웨어 아키텍처 스타일 (0) | 2023.01.05 |
---|---|
[탑기공] 소프트웨어 아키텍처 설계 (0) | 2023.01.04 |
소프트웨어 설계 원리 - "추정단모" (0) | 2022.12.29 |
[탑기공] 정렬, 검색, 그래프 탐색 알고리즘 (0) | 2022.12.23 |
[탑기공] 알고리즘(Algorithm) (0) | 2022.12.21 |
댓글