본문 바로가기

전체 글

(90)
효율적으로 코딩하기 □ 효율적으로 코딩하기 ○ 샘플 프로그램 만들기 고급 개발자에 의한 샘플 프로그램 만들기 유지보수가 효율적인 프로그램을 만들기 위해서는 코딩 표준을 참조해서 동일한 명명 규칙과 코딩 스타일을 적용해야 한다. 하지만 프로그램을 만들 때 개발자는 문서를 잘 읽지않는 경향이 있다. 읽고 공부하는 것보다 따라하고 옆 사람에게 물어보는게 훨씬 수월하기 때문이다. 프로젝트에서는 개발 효율을 높이고 코딩 품질을 높이기 위해 고급 개발자에게 샘플 프로그램을 먼저 개발하게 하는 경우가 많다. 표준을 준수하고 효율적으로 잘짜여진 샘플 프로그램이 주어 진다면 다른 개발자들은 고품질의 프로그램을 손 쉽게 만들 수 있다. ○ 코드 리뷰 코드 리뷰 코드 리뷰는 작성자가 여러 사람 앞에서 자신이 만든 코드를 직접 설명하는 방식으로..
팀으로 개발하기 □ 팀으로 개발하기 이클립스와 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는 과거 구조적 프로그램 설계 과정에서 많이 사용되었던 도구로써 데이터의 변화를 도식화할 수 있다...
프로젝트 설계 개념 □ 프로젝트 설계 개념 프로젝트 설계란 요구사항 명세서를 기반으로 시스템이 제공하는 기능, 인터페이스, 데이터를 정의하고 제어와 연결을 명확히 하여 개발자가 시스템을 구축할 수 있는 수준의 문서를 만드는 작업이다. 결국 프로젝트 설계의 결과물은 문서 형태로 나오게 된다. 설계는 여러 단계 작업으로 구성되는데 대표적으로 프로세스 설계, 인터페이스 설계, 데이터 설계로 나눌 수 있다. 각 단계는 순차적으로 진행되지만 현재 단계가 완료되면 이전 단계의 산출물이 지속적으로 수정된다. 분석 단계에서 생각하지 못했던 요구사항이 설계단계에서 도출될 수 있기 때문이다. 프로젝트 설계의 개념 프로젝트 설계 과정은 앞에서 설명한 3단계 이외에 세부적으로 여러 가지 과정을 거쳐야 한다. 요구분석이 완료되면 먼저 아키텍처를 ..