본문 바로가기
소프트웨어공학

[S/W] Programming 개발 방법론 & Diagrams

by IT 정복가 2022. 11. 18.
728x90

Programming 개발 방법론

<Modular Program이 기본>

 

1. Top-Down Programming(하향식 프로그래밍)

https://itdexter.tistory.com/59

- 전체적인 구조부터 설계(자세한 프로그래밍 X)

- 빈 Module (stub = 상위 프로그램이 호출했을 때 완벽한 기능을 임시로 흉내내는 가짜 모듈)

- stub 들간 호출 Test(필요한 일부 Parameter들 정의,  call과 return은 한 쌍)

- 점차 하위 Module들을 구축함

- Interface 고려

- decomposition 기법(분해 기법)이 속함

  • 문제점: 공통 Module 발견 곤란(부모가 여러개인 모듈), 대형 프로젝트 시 시간소요 증가
  • Interface Error는 상대적으로 적게 발생

2. Bottom-Up Programming 기법(상향식 프로그래밍)

https://itdexter.tistory.com/59

- 전체적인 구조부터 설계

- 전체 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는 점차 퇴보

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)

 

728x90