1 / 36

.NET Framework 2.0 / Smart Client / Third Party 컴포넌트 실무적용사례

.NET Framework 2.0 / Smart Client / Third Party 컴포넌트 실무적용사례. 2008 년 1 월 26 일 부산 개발자 그룹 세미나 자료 김재억. 목차. Session I Smart Client 의 소개 ABOUT DevExpress XtraGrid 여러 플랫폼상에서의 개발 경험담 Session II 개발 초기 단계 과정 Session III 개발 표준안 DB 설계 예제. 시작하기에 앞서. 개발 경험이 적은 신입 사원 또는 학생에게 초점이 맞추어져 있습니다 .

iniko
Download Presentation

.NET Framework 2.0 / Smart Client / Third Party 컴포넌트 실무적용사례

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. .NET Framework 2.0 / Smart Client / Third Party 컴포넌트실무적용사례 2008년 1월 26일 부산 개발자 그룹 세미나 자료 김재억

  2. 목차 • Session I • Smart Client의 소개 • ABOUT DevExpress XtraGrid • 여러 플랫폼상에서의 개발 경험담 • Session II • 개발 초기 단계 과정 • Session III • 개발 표준안 • DB 설계 예제

  3. 시작하기에 앞서 • 개발 경험이 적은 신입 사원 또는 학생에게 초점이 맞추어져 있습니다. • Smart Client에 대한 사전 지식이 없어, Smart Client를 이용한 개발에 부담을 느끼는 개발자에게 초점이 맞추어져 있습니다. • Session3은 하청의 하청과 같은 악성 연결고리로 개발을 하는 경우 개발방법론이 결정되어 내려오므로 직접 겪을 일이 거의 없으며, 이 내용은 시스템의 자체 개발일 경우에 대한 내용입니다.

  4. S-1 About Smart Client Smart Client? ① 기존 ActiveX 컨트롤의 기능을 대체 ② .NET Framework 기반 Control ③ ActiveX와는 달리 무료 인증 방식 ④ 인증절차 없이 바로 배포가 가능 ⑤ 개발환경과 유저의 .NET Framework 버전 일치 ⑥ 버전이 변경되면 브라우저를 재실행 해야 함 ⑦ 웹브라우저와 상관없이 독립적인 실행형태(일반 Window)가 가능함

  5. 1-1 Smart Client vs ActiveX

  6. 1-2 Smart Client vs ActiveX Smart Client ActiveX CAB DLL DLL DLL DLL CAB DLL DLL 서버 CAB DLL DLL OCX DLL CAB 사용자 DLL DLL OCX EXE .NET Framework Win32 Platform

  7. 1-3 Debuging Smart Client ActiveX Dummy Form 브라우저,Dummy Form Smart Client OCX,DLL… CAB으로 묶이지 않은 상태이며, 준비작업이 필요하며, 환경이 불안정함 일반적인 디버깅 작업 지원… .NET Framework Win32 Platform

  8. 1-4 Smart Client에 적합한 TARGET • 복잡하거나 다양한 기능 • Excel, Scheduler, Chart, etc… • 공정관리, 일정관리, 통계 분포도, 등등… • One Page Multi Job • 페이지 변화없이 다양한 작업이 요구될 때 • 서버 부하 • 복잡한 계산 및 과도한 입출력으로 인해 서버의 부하가 발생하여 System 성능이 염려될 때

  9. 1-5 About DevExpress Grid • 다양한 VIEW • Filtering, Sorting, … • Cell Merge/Split, Move, Drag/Drop, etc • 다단계 Band/Column • Export (Excel, Html, …) • Converting Grid  Chart • 다양한 디자인 효과  Skin, Look & Feel • 다양한 편집도구: • Lookup,달력,계산기,MEMO,Grid,Check,Combo,…

  10. 1-6 Screenshot • N개 이상의 다단 Band • 컬럼은 Sort, Filtering 용도로만 사용 • 하단(Footer)는 데이터 건수, 특정 셀의 합계 및 평균값 표현 • 데이터 변경 이벤트를 통해 엑셀과 같은 자동 계산 기능 제공 • Navigation 버튼

  11. 1-7 DEMO DEMO

  12. 1-8 여러 Platform간의 개발 Win32 Platform Java VM Smart Client 안정성 60 100 70 성능 100 60 80 설치 및 배포 75 80 100 개발속도 100 50 75

  13. 1-9 Platform간의 데이터 공유 및 송수신 • DB • 실시간 데이터 공유가 필요하지 않은 경우 • TCP/IP • 안정적인 망과 보안이 준비 • 서버: Java VM 클라이언트: Win32, .NET • XML • WebService • Smart Client와 일반 Win32 어플리케이션이 같은 시스템에서 요구 • Smart Client는 객체로 전달을 받지만, Win32는 데이터를 배열 형태로 주고 받으므로 데이터에 대한 재정의 필요

  14. Session 2 개발의 시작

  15. 2-1 개발 초기 단계 및 시작 전 확인해야 할 요소 • 내가 업무를 얼마나 이해하고 있는가? • End-User의 전산 마인드 • 제공받은 DB 스키마 정보에 대한 변경율 • 표준 개발 함수 보유 여부 • 플랫폼과 3rd-party Components • 개발 일정과 팀원들의 역량 • 팀웍 개발 환경 저하

  16. 2-2 내가 업무를 얼마나 이해를 하고 있나?

  17. 2-3 End-User의 전산마인드 예) 사용자는 업무전산화에 대해 어느 정도의 준비가 되어 있는가? 단순 업무적 편이성 숙련도: ↓ 시스템: 계산과 검색속도를 빠르게 해주는 도구 요구사항 변경요청 확률: 80% 숙련도: ▲ 시스템: 내가 만들기 힘든 자료를 만들어주는 도구 요구사항 변경요청 확률: 30% 숙련도: ↑ 시스템: 회사의 보이지 않는 경영진 요구사항 변경요청 확률: 10%미만, 추가개발 요구사항 50% 이상 업무의 지원 각종 통계 및 경영 자료

  18. * • End-User의 전산마인드를 제대로 파악하지 않으면 개발자는 필요 없는 시행착오를 겪게 된다. • 월마트 이야기…

  19. 2-4 개발 전 점검 항목 DB 스키마 변경율 • 팀웍과 완성도는 비례 • 군계일학 필패의 법칙 • 군계일학 팀와해의 법칙 표준개발함수 보유 플랫폼 숙련도 3rd Party Comp. 피로도 표준화 편의성 안정성 일정 일정 완성도 기능성 완성도 완성도 일정과 스킬

  20. * DR-DOS 개발자와 제록스 OS 개발자 이야기

  21. 2-5 개인 준비 항목 • DB Schema • 객체 명세서 • 시스템 구조도

  22. 2-6 DB Schema ER Diagram Schema 명세서 상세 스키마 명세서

  23. 2-7 객체 명세서

  24. 2-8 시스템 구조도

  25. Session 3 표준안

  26. 3-1 표준안? • 방법론이란? • 표준안은 방법론의 최소 단위. • 표준안이 아쉬워지는 시기 • 개발 종료에서 유지보수로 넘어가는 시기 • 인력 투입/교체시기

  27. 3-2 개발 표준안 • 모듈 구조 및 명명 체계 • 폴더 관리 체계 • 파일 명명 규칙 • 분류별 클래스 명명 규칙 • UI 색상 및 공통 규격 • 기타… ** 명명 규칙은 왜 하는가?  소규모 시스템은 상관없지만 대규모 시스템의 경우 수많은 객체들의 이름이 흡사한 경우가 많아 관리가 힘들어짐.

  28. 3-3 모듈 구조 및 명명 체계 • 시스템에는 몇 개의 모듈이 존재하는가? • 각각의 모듈에는 몇 개의 서브모듈이 존재하는가? • 모듈은 3단계 이하의 구조를 권장 • 최상위 모듈은 2자부터 시작하며 아래로 갈수록 1자씩 늘어남 >>> 예 <<< 부산개발자 그룹 시스템 A. 게시판 모듈  GM A-1. 공지 모듈  GMN A-2. 일반 모듈  GMC A-3. 파일 모듈  GMF B. 회원관리 모듈  FM B-1. 가입/탈퇴 모듈  FMJ B-2. 정보 모듈  FMI

  29. 3-4 폴더 관리 체계 • 특정 DRIVE를 만들어서 해당 DRIVE에는 프로젝트 단위의 폴더를 만든다. • D:\DevBusan • 폴더 안에는 문서, 소스, 배포, 테스트 폴더를 만든다. • D:\DevBusan\Doc  문서 • D:\DevBusan\Source  소스 • D:\DevBusan\Setup  배포 • D:\DevBusan\Test  테스트 • 각각의 폴더 밑에는 용도에 따라 더 상세한 구조의 폴더를 만들어야 한다.

  30. 3-5 폴더 관리 체계 - 문서 • 문서의 종류별로 체계를 나눈다. • D:\DevBusan\Doc\1.분석\...\... • D:\DevBusan\Doc\2.설계\...\... • D:\DevBusan\Doc\3.Interface\...\...

  31. 3-6 폴더 관리 체계 - 소스 • 소스 폴더는 언어별로 구분을 한다. • 언어별로 구분된 하위 폴더는 3-3 모듈 구조 형태로 폴더를 생성한다. D:\DevBusan\Source\Csharp\FM\FMJ\FMJC D:\DevBusan\Source\Csharp\FM\FMI\FMIC D:\DevBusan\Source\Java\FM\FMJ\FMJS

  32. 3-7 파일명명규칙 • CD보관 및 Legacy시스템과의 일관성을 위해 통상적으로 8자를 유지한다. 예) FMJM001F  회원가입/탈퇴 모듈이며, 데이터관리를 하며 첫번째 폼이다.

  33. 3-8 분류별 클래스 명명 규칙 • 체계적인 관리를 위하여 하나의 파일에는 하나의 클래스만 선언하도록 한다. • 파일명과 클래스명은 동일하되, 접두어로 ‘C’, 또는 ‘T’등을 사용하거나 끝에 ‘CLASS’라는 접미사를 사용한다. (컴파일러에 따라 클래스명과 파일명이 중복되는 것을 허용하지 않는 경우가 있다.) • 특정 클래스에 상속받거나 Implements 하는 경우 해당 클래스의 이름을 다시 적는 경우가 있지만 이름이 너무 길어져 간략화하는 경우가 많다. >>> 예 <<< Public class TFMJM001F(); Public class FMJM001F_CLASS(); Public class FMJM001F_FMJM001S_Class extends FMJM001S(); Public class FMJM001FAClass extends FMJM001S(); Public class FMJM001FA_I implements IFMJM001I();

  34. 3-9 UI 색상 및 공통 규격 • 필수 입력 항목 및 공통 강조 항목의 색상 • 설명컬럼의 위치 및 색상 • 조회 항목의 위치 • 그리드의 위치 • 조회,입력,수정,삭제 방식 및 UI의 통일

  35. 3-10 DB 설계 예제 DEMO

  36. 감사합니다. ^^;

More Related