본문 바로가기

분류 전체보기

(98)
프로그램 단위 테스트 □ 프로그램 단위 테스트 ○ 단위테스트란 단위테스트 절차 단위 테스트는 실행 가능한 최소 단위의 프로그램을 테스트하는 것을 말한다. 단위테스트는 중소 규모의 프로젝트에서는 개발자와 설계자가 진행하고 큰 규모의 프로젝트에서는 전문 테스터가 참여하기도 한다. 단위 테스트는 모두 5단계로 구성된다. 테스트 일정과 방법 그리고 담당자를 정의하는 단위 테스트 계획 단계가 있고 어떤 입력 값을 어떤 절차로 넣어 어떤 결과를 얻어야 하는지를 정하는 테스트 케이스 작성 단계가 있다. 단위 테스트는 테스트 케이스를 기반으로 수행하며 테스트가 완료되면 어떤 오류가 발생했는지 결함 보고서에 상세히 기록한다. 개발자는 이를 기반으로 프로그램을 다시 수정하게 된다. 프로젝트 일정이 짧고 투입 인력이 적은 국내 프로젝트의 특성 ..
효율적으로 코딩하기 □ 효율적으로 코딩하기 ○ 샘플 프로그램 만들기 고급 개발자에 의한 샘플 프로그램 만들기 유지보수가 효율적인 프로그램을 만들기 위해서는 코딩 표준을 참조해서 동일한 명명 규칙과 코딩 스타일을 적용해야 한다. 하지만 프로그램을 만들 때 개발자는 문서를 잘 읽지않는 경향이 있다. 읽고 공부하는 것보다 따라하고 옆 사람에게 물어보는게 훨씬 수월하기 때문이다. 프로젝트에서는 개발 효율을 높이고 코딩 품질을 높이기 위해 고급 개발자에게 샘플 프로그램을 먼저 개발하게 하는 경우가 많다. 표준을 준수하고 효율적으로 잘짜여진 샘플 프로그램이 주어 진다면 다른 개발자들은 고품질의 프로그램을 손 쉽게 만들 수 있다. ○ 코드 리뷰 코드 리뷰 코드 리뷰는 작성자가 여러 사람 앞에서 자신이 만든 코드를 직접 설명하는 방식으로..
팀으로 개발하기 □ 팀으로 개발하기 이클립스와 SVN 대표적인 형상관리 소프트웨어인 SVN은 파일이 형상을 시계열적으로 관리하는 기능을 제공하지만 팀 작업을 지원하는 기능도 제공한다. SVN은 서버와 클라이언트 방식으로 동작하는데 대표적인 개발 툴인 이클립스에서도 SVN 클라이언트 플러그인을 지원하고 있다. 체크아웃(Check Out)을 통해 서버에 있는 모든 소스를 클라이언트로 가져올 수 있다. 업데이트(Update)를 통해서는 클라이언트에 있는 소소를 서버 기준으로 최신 버전으로 유지할 수 있다. 팀작업에서 유용한 것이 바로 락(Lock)과 언락(Unlock)인데 여러 명이 작업할 때 자신이 프로그램을 변경할 경우 락을 걸어 다른 사람이 수정하지 못하도록 하는 것이 좋다. 작업이 완료된 후 커밋(Commit)을 통해..
개발환경 구축하기 □ 개발환경 구축하기 ○ 개발환경 구성 개발환경 구성 일반적인 프로젝트 개발 환경은 형상관리서버, 웹서버 그리고 DB 서버로 구성된다. 프로젝트 규모가 작은 경우에는 세 가지 시스템이 하나의 서버에 설치되기도 하지만 여력이 된다면 서로 기능과 역할이 다르기 때문에 별도의 서버로 구성하는 것이 좋다. 형상관리 서버는 여러 명의 프로그래머가 협업을 할 수 있도록 도와주고 프로그램과 산출물을 시계열적으로 관리하는 역할을 한다. 프로젝트에서는 하나의 프로그램을 한 명이 계속 개발하는 것이 아니라 다른 사람이 수정할 수 있기 때문에 프로그램에 대한 락(Lock)과 언락(Unlock) 기능을 필 수 적으로 지원해야 한다. (1) 공통 기능을 A 개발자가 수정하기 위해서는 먼저 프로그램에 대해 락을 걸로 수정해야 한..
개발 표준 정하기 □ 개발 표준 정하기 ○ 개발 표준 구성 프로젝트 설계의 개념 개발 표준은 모든 개발자가 동일한 형태의 소스코드를 만들기 위해 필요하다. 소스코드가 동일한 형태로 만들어지면 다른 사람이 개발한 소스를 쉽게 이해할 수 있어 프로그램을 쉽게 수정할 수 있다. 개발 표준은 프로그램 개발 생산성 향상뿐 아니라 프로그램 유지보수를 쉽게 하는 역할을 한다. 일반적으로 개발 표준은 디렉토리 구조와 서버 및 클라이언트 개발표준으로 나뉜다. 디렉토리 구조는 서버에 프로그램을 어떤 구조로 저장할 지에 대한 규칙을 정하는 것이다. 서버 개발 표준은 서버에서 동작하는 자바, php와 같은 프로그램에 대한 프로그램 구조를 정의하는 것이다. 클라이언트 개발 표준은 사용자 화면을 구성하는 HTML와 CSS, 자바스크립트에 대한 프..
데이터 설계 □ 데이터 설계 ○ 데이터 설계란 데이터 설계란 시스템에서 사용하는 데이터를 찾아내 데이터베이스에 저장할 테이블의 구조를 디자인하고 기본키, 외래키, 인덱스 등의 관리 요소를 계획하는 작업이다. 재무적으로 기업은 직원, 부동산, 유가증권, 법인등록증 등으로 구성되지만 시스템 적으로 기업은 데이터로 이루어져 있다. 데이터베이스에 기업이 가지고 있는 부동산, 직원정보, 영업비밀, 거래처 정보 등 영업활동과 기업 존재에 관한 모든 정보가 들어있기 때문이다. 엔터프라이즈 시스템의 핵심은 바로 이러한 데이터를 어떻게 잘 관리하고 활용하느냐에 있다. 데이터 설계 절차데이터 설계는 요구 사항 분석부터 시작 한다. 시스템을 구축하기 위해 필요한 데이터가 무엇이고 이것을 어떻게 관리해야 할 지 요구사항 명세서, 프로세스..
인터페이스 설계 □ 인터페이스 설계 ○ 인터페이스 설계란? 인터페이스 개념 인터페이스는 사용자와 시스템이 상호작용 할 수 있도록 입력과 출력을 제공하는 창구 역할을 한다. 웹 프로그래밍 관점에서 인터페이스를 바라보면 브라우저를 사용할 때 우리가 자주 보는 웹사이트 화면이 바로 인터페이스에 해당한다. 물건을 구매할 때 구매 버튼을 클릭하면 인터페이스는 사용자의 요청을 웹서버에 전달하고 웹서버에 있는 프로세스는 입력 값에 알맞은 동작을 수행하고 데이터를 조회/수정/저장한 후 결과를 다시 인터페이스인 브라우저에게 전달한다. 브라우저는 웹서버가 보내준 결과를 사용자가 이해할 수 있도록 변경해 화면에 보여준다. 인터페이스 설계를 시작하기 전 시스템이 제공하는 기능과 데이터를 정의해야 한다. 앞서 살펴봤던 프로세스 설계가 이에 해..
프로세스 설계 □ 프로세스 설계○ 프로세스 설계란? 프로세스의 개념 비즈니스 프로세스는 고객에게 가치를 제공하기 위한 활동을 말한다. 비즈니스를 시스템으로 구현하기 위해 정의하는 프로세스는 입력을 자신이 제공하는 기능을 활용해 새로운 출력으로 바꾸는 일련의 과정을 말한다. 프로세스를 설계한다는 것은 데이터의 흐름인 입력과 출력 그리고 프로세스가 제공하는 기능을 시각화 도구를 활용해 업무 흐름에 맞게 배치하는 것이다. 프로세스 설계 도구에는 대표적으로 프로세스 맵(Process Map)과 DFD(Data Flow Diagram)이 있다. 프로세스 맵은 컨설팅 과정에서 비즈니스 프로세스를 정리하는 도구로 많이 활용되며 DFD는 과거 구조적 프로그램 설계 과정에서 많이 사용되었던 도구로써 데이터의 변화를 도식화할 수 있다...