일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- telnet
- 팬인과 팬아웃
- 객체 상속 속성 인스턴스 메소드 오퍼레이션
- bandit21
- nc reverse shell
- 소프트웨어공학 디자인패턴
- madia designer ui design
- 암표거래
- 모듈구조도
- 상태다이어그램
- factory metohd pattern
- ssh
- 디자인패턴
- status diagram
- base64
- 구조적 설계
- 클래스 관계
- 생성패턴 행위패턴 구조패턴
- cron
- usecase description
- Bandit
- 리버스쉘
- ui 디자인 기본원칙
- gof design pattern
- strucuture charat
- 매크로를 바라보는 시각
- fan-in fan-out
- sofrware architeture
- UseCase
- prototypepattern 예시 example
- Today
- Total
2.log
03 | 구조적 분석 본문
* KOWC에 등록된 동국대학교 최은만 교수님의 강의내용을 공부목적으로 정리한 글임을 밝힙니다.
| 출처 : http://www.kocw.net/home/search/kemView.do?kemId=331697&ar=relateCourse
분석방법론에 대한 관점
사용자의 요구를 분석하는 방법에는 구조적 분석과 객체지향 분석 방법이 있으며, 어떤 분석기법을 적용하느냐에 따라 디자인하는 관점이 상이해짐
C Program = .h (구조체 / 자료) +. c (함수) >> '함수, Process 에 초점'
객체지향언어(Java, C++, C#..) = 자료와 함수가 class로 묶여있음 >> 'class의 정의와속성, 관계에 초점'
구조적 분석
사용자 요구사항을 파악하기 위해 자료의 흐름과 절차를 그림중심으로 표현하는 방법
작업 순서
1. 배경도 작성
2. 상위 자료 흐름도(DFD, Data Flow Diagram) 작성
3. 하위 자료 흐름도 작성
4. 자료 사전(DD, Data Dictionary) 작성
5. 소단위 명세서(Mini specification) 작성 (DFD 보완)
자료 흐름도 (DFD, Data Flow Diagram)
자료의 흐름 및 변환 과정과 기능을 도형 중심으로 기술하는 방법
DFD 구성요소
자료흐름(Data Flow), 처리(Procss), 자료 저장소(Data Store), 단말(Termiator)
이때 최하위 처리(Process)는 차후 소단위 명세의 대상이 되며, 단말의 명칭은 한 개인이나 부서보다는 그 역할을 기술함
DFD 작성 원칙
처리의 이름은 동사형 명사와 단일 직접목적어 사용하며, 모든 경우에 적용 가능한 포괄적 명칭 피함
자료흐름은 처리를 거쳐 변화될 때마다 새로운 이름을 부여함
상위의 처리와 하위의 자료흐름은 일치해야 함
자료흐름은 통합 또는 분할이 가능함
입력만 되는 자료저장소(black hole)와 출력만 되는 자료저장소(white hole)는 없어야 함
처리는 한 장에 모두 그리기 보다 단계적으로 나누어 한 장에 7±2로 표현하는 것이 적당
처리를 과도하게 세분화하거나 불필요하게 중복되는 표현은 하지 않음
자료 사전 (DD, Data Dictionary)
DFD 상에 나타나는 자료에 대한 정의 및 기록한 것으로, 자료흐름도에서 쓰인 자료 항목들이 가나다 순으로 사전처럼 정리되어 있어야 함
형식
자료 항목 이름 = 자료 항목의 구성을 나타내는 수식
표기법
작성예시
- 첫자리 = 1 | 2| 3| 4
- 전화번호 = [지역번호] = 국번 + '-' + 가입자_번호
- 지역번호 = '(' + '0' + 첫자리 + {십진수} ²₀ + ')'
소단위 명세서(Mini Specificaton)
자료흐름도의 최하위 처리가 하는 기능 기술한 것으로 구조적 영어(structured english)와 의사결정표(decision table)로 표현 가능함
structured english
영어의 논리연산자나 제어구조를 표현하는데 쓰이는 단어를 제한해서 사용하는 방법 (ex. if-else 구문)
decision table
여러 조건에 대한 서로 다른 처리 해야하는 경우
[참고]
'소프트웨어공학' 카테고리의 다른 글
06 | Sequence Diagram, State Diagram (0) | 2023.04.26 |
---|---|
05 | 객체지향의 이해와 UML Class Diagram (0) | 2023.04.24 |
04 | Use Case 와 diagram (0) | 2023.04.22 |
02 | 요구분석 (0) | 2023.04.19 |
01 | 소프트웨어 개발 프로세스 / Model (0) | 2023.04.19 |