Programming 개발 방법론
<Modular Program이 기본>
1. Top-Down Programming(하향식 프로그래밍)
- 전체적인 구조부터 설계(자세한 프로그래밍 X)
- 빈 Module (stub = 상위 프로그램이 호출했을 때 완벽한 기능을 임시로 흉내내는 가짜 모듈)
- stub 들간 호출 Test(필요한 일부 Parameter들 정의, call과 return은 한 쌍)
- 점차 하위 Module들을 구축함
- Interface 고려
- decomposition 기법(분해 기법)이 속함
- 문제점: 공통 Module 발견 곤란(부모가 여러개인 모듈), 대형 프로젝트 시 시간소요 증가
- Interface Error는 상대적으로 적게 발생
2. Bottom-Up Programming 기법(상향식 프로그래밍)
- 전체적인 구조부터 설계
- 전체 Testing은 최종 1회
- Test Data / Test Pattern 생성이 용이함
- Concatenation 방법이 속함
- 장점: 구축 시간 소요 감소
- 단점: Interface Error 발생 가능성 증가
Diagrams
<Structured Programming에 필요한 Diagram>
Diagram: 정보를 조율, 묘사, 상징화 하여 2차원 기하학 모델(two-dimensional geometric model)로 시각화하는 기술
Diagram의 특징
- 팀원 간의 업무관련 의사전달 수단 > 표준화된 Tool 사용- 유지/보수를 용이하게 해줌- 자신의 업무 영역 확인
Diagram 표현 방법
- 간단&명료하게 표현- 함축적으로 표현- 단 시간 내 표현 가능ex) 약도 등...
Diagram의 추세
1. Flow-chart는 점차 퇴보 2. 수학/논리에 기초한 기법들 개발 > 자동화 가능
Diagram의 이용 영역
1. 전체적인 System 분석: HIPO, DFD, Structure Chart2. Program 구조: Module들 및 연관 관계(HIPO, Structure-Chart)3. Program 세부사항: 각 Module의 Logic / 기능 파악(HIPO, Decision Tree/Table, N-S Chart, Pseudo Code)4. Data 구조: ERD
Documentation
1. 내부적 문서화 > Program 내부2. 외부적 문서화 > Program과 분리
- 설계/Coding 시 도움
- On-line/Off-line Documentation
Computer를 이용한 자동화
- 문서의 자동 생성 > Diagram에 자동 생성
- Spec 자동 생성
- Program Codes 자동 생성/자동 검증(예: VHDL)
'소프트웨어공학' 카테고리의 다른 글
[S/W] Process Spec.(Structured English, Pseudo Codes, N-S Chart) (0) | 2022.12.07 |
---|---|
[S/W] DFD(Data Flow Diagram) & DD(Data Dictionary) (0) | 2022.11.25 |
[S/W] Modular Programming과 복잡도 제어(Complexity Control) (1) | 2022.11.16 |
[S/W] Structured Program의 성격 (0) | 2022.10.26 |
[S/W] Structured Programming(구조화 프로그래밍) & H/W의 발달 (0) | 2022.10.19 |