(2) 비주얼 베이직이란?
<비주얼 베이직>
- 마이크로소프트(MS)사에서 개발한
소프트웨어로 MS 윈도우용 응용 프로그램을
개발할 수 있는 프로그래밍 언어이다.
비주얼(Visual) 언어는 화면 디자인을 위해
많은 줄의 코드를 작성하지 않고 미리
만들어진 도구(컨트롤)를 이용하여
그림 그리듯이 디자인할 수 있는 언어를 말한다.
=> DOS 시절 베이직이란 언어가 있었는데..
이 때는 그래픽환경이 아니고 마우스도
무용지물이었기 때문에 글로만 개발이
가능했다. 그래픽을 지원하는 Windwos가
개발되고 출시되면서
DOS의 몰락과 함께 베이직이 몰락하는 것을
아쉽게 생각하여 만든 것이 비주얼 베이직이다.
<언어의 특징>
ⓐ 윈도우 운영체제에서만 실행되는 프로그램
개발 언어이다.
ⓑ 문법과 규칙이 매우 간단하다.
ⓒ객체 지향 언어이다.
ⓓ 쉽고 빠르게 화면을 디자인할 수 있다.
ⓔ 이벤트 중심 프로그래밍을 지향한다.
ⓕ 통합 개발 환경을 제공한다.
=> 누구나 쉽게 배울 수 있다.
<프로그래밍>
● 기존 프로그래밍 : 프로그램 중심 처리
- 작동 순서가 완전히 프로그램에 의해 지시됨
(거의 모든 지시가 컴퓨터에 의해 진행됨)
ex) DOS...
● 객체 지향, 이벤트 중심의 프로그래밍
- 프로그램 작동 제어가 사용자에게 주어짐.
* 사용할 행동을 선택, 시작과 실행 방식을 선택,
전체적인 활동의 흐름을 지시.
* 사용자에게 제공하는 인터페이스 옵션을
중심으로 설계
- GUI 환경에서 작동하는 프로그램을 생성하기 위해
아이콘, 폼, 도표와 같은 그래픽 객체를 사용.
ex) 바탕화면
● VB, VC++ 등...
<객체 지향 프로그래밍 개요>
● 모든 데이터를 객체(Object)라는
단위로서 모든 처리를 기술하는
프로그래밍 방법.
● 프로그래밍이 단순화되고,
생산성과 신뢰성이 높은 시스템을 구축.
(백지장도 맞들면 낫다 => 생산성↑(분할 작업))
※ 생산성 : 얼마나 빠른 시간 내에 질 좋은 제품을
개발할 수 있는냐의 정도
위의 그림과 같이 기존 프로그래밍 방식은
A라는 사람 혼자 개발하는 것이라면
객체 지향 프로그래밍은 여러 사람이
업무를 나눠서 할 수 있다는 장점이 있다.
물론, 결과 값은 똑같고 빠른 시간 내에
개발할 수 있다.
신뢰성도 높다.
(신뢰성 = 에러와 버그를 쉽게 캐치ㆍ고칠 수 있는 정도)
※ 에러와 버그
에러(Error) : 실행이 안된다.
버그(Bug) : 실행은 되지만 결과가 이상함.
● 객체 지향 프로그래밍의 필요성
ⓐ 컴퓨터의 발전에 따라 프로그램의 규모가 커지고 복잡
ⓑ 윈도우 운영체제에서는 사용자 인터페이스가 다양해짐
ⓒ 복잡하고 방대한 프로그램을 특정 기능별로 나누어서
즉, 객체로 만든 다음 이들을 결합하여 목적하는 프로그램을
만들어 내는 방법이 요구됨
<윈도우 응용 프로그램 환경>
TUI (Textual User Interface)
=> 말 그대로 텍스트로만 이루어진 환경.
위 그림과 같이 윈도우에서 TUI가
지원되고 있다.
CMD가 대표적이다.
GUI (Graphic User Interface)
=> 마우스가 지원되며
사용자가 선택하여 작업할 수 있는
시각적으로 편리한 환경.
윈도우는 GUI환경을
지원한다.
바탕화면도 GUI이다.
클릭하는 거의 모든 것이
모두 GUI이다.
<VB 프로그램의 구성>
GUI 기능이 강조되는
윈도우 환경에서 사용될
응용 프로그램의 개발에 적합한
객체 기반, 이벤트 중심의 언어.
<프로그램 개발 과정>
① 요구 사항 분석
=> 프로그램 목적, 사용자, I/O 데이터 처리 요구 사항,
구 현상의 문제 분석, 타당성 조사 등을 수행하고
전 과정에 대한 문서화도 진행
※ 구 현상의 문제 분석
=> 이전 소프트웨어를 참조 및 문제 분석
(좀 더 쉽게 파악하고 개발 가능)
② 프로그램 설계
=> 프로그램의 논리적 실행 순서/내용을 구체화
(계층 차트, 순서도, 유사 코드 등으로 표현)
③ 프로그램 개발
=> 적절한 고급 언어를 선택해서
구문에 맞는 프로그램 작성
④ 프로그램 테스트
=> 프로그램 오류의 발견 및 수정,
그리고 실제 데이터/사용자에 의한 실험 실행
⑤ 프로그램 문서화 유지보수
=> H/W와 S/W 요구 사항 및 입ㆍ출력과 프로그램
파일 관리 등 전체적인 사용 설명서 작성,
프로그램의 효과적인 사용을 위한 유지 및 보수
* 프로그램 설계만 잘 하면
개발단계는 쉬움
But, 테스트 구간은 에러를 잡고
버그를 잡으면서 멘탈이 나가기 쉬워
프로젝트 포기가 많이 일어나는 구간.
<일반적인 프로그램 개발 과정>