728x90

DataGridViewCheckBoxColumn chkBillable = new DataGridViewCheckBoxColumn();

chkBillable.Name = "colTimeSheetBillable";

chkBillable.HeaderText = "Billable";

chkBillable.DataPropertyName = "TimeSheetBillable";

chkBillable.ReadOnly = true;

dataGridTimesheet.Columns.Add(chkBillable);

728x90
728x90
프로젝트도 중반이 되자 프로젝트 자체의 어려움보다 팀원 관리가 힘들었다. 팀이 원하는 사람들끼리 하면 잘하는 사람들끼리 모인다는 불만이 많아서 랜덤으로 모았더니 의욕이 없는 사람이 많았다. 의욕적인사람 4명 + 의욕없는 사람 2명으로 6명이서 작업하는 것보다 의욕있는 사람 3명이서 작업하는 것이 훨씬 진행도 빠르고 의욕적이다.
한명은 아예 나오지 않았는데 팀에 속해있다는 것만으로 의욕이 저하되었다.
만약 실무였다면 다 제거하고 3명이서 작업했을 것이다.

이 작업은 중심이 시스템구조도였다. 이건 DFD에서 지적받은 내용을 수정하고 DFD대로 설계만 하면 되는 작업이라 비교적 쉽게 했다.(물론 시간은 많이 걸렸다. 밤을 새면서도 다 끝내지 못해 발표하기 직전까지 작업했던 내용이다. 구조도를 그리기위해 A4를 약 4권가량 허비했던 기억이 난다.)

모듈설명서는 program language만 알고 있으면 누구든 보고 구현할 수 있을 정도까지 만들었다. 뿐만 아니라 구현 한 후에도 함수들에 대한 설명서가 될 수 있도록 만들었다.
하지만 모듈설명서를 발표 직전에 만들었으며 내가 작성하는 요령을 가르쳐주고는 알아서 하라고 던져줬기 때문에 양식과 내용이 부분적으로 일치하지 않는다.
더욱 심각한 문제는 기껏 다 만들어놓고서도 막상 구현할 때는 엉뚱하게 해버렸다는 것이다. 이유는 우리가 작업한 언어는 C#으로 객체지향언어였으며 구현할 때도 객체지향적 사고에 맞추어 구현했기 때문이다. GUI환경은 객체지향 프로그래밍이 훨씬 자연스럽기 때문이다. 만약 콘솔환경의 프로그램이었다면 모듈설명서대로 작업하지 않았을까 하는 생각이 든다. (이 작업을 하면서 객체지향 소프트웨어공학을 수강해야 겠구나 하는 생각이 들었다. 하지만 수강하기 전에 휴학을 했다는...)

UI는 경남이가 담당했다. 색상디자인 책까지 뒤지며 건강과 관련된 프로그램은 푸른 색 계열로 하는 것이 좋다며 색상과 모양까지 모두 디자인했다. 확실히 요즘 프로그램은 기능도 중요하지만 그에 못지않게 디자인도 중요하니까.. 이쁜 디자인과 거리가 먼 나로서는 부러운 능력이다. 실제 구현에서는 UI의 디자인이 제출 자료보다 더 이쁘게 완성되었다.
기능적인 부분으로 가면 디자인이 좀 불편하게 되었다. 입력부분은 한곳에 모으는 것이 좋은데 자료를 검색후 리스트에서 클릭으로 하는 것으로 많이 해놨기 때문에 익숙한 유저는 불편함을 느낄 수도 있다.
사용자가 입력하는 부분은 한곳에 모으는 것이 좋다. 한국의 경우 참고사항은 왼쪽, 입력사항은 오른쪽에 하는 것이 일반적이다. 자료를 검색 후 입력해야 한다면 다양한 방법으로 입력하는 것을 지원하라. 검색 후 클릭으로 입력, 검색 없이 입력, 검색 후 키보드로 입력 등 모든 사항을 고려해주는 것이 좋다.

DB schema는 별로 고민할 필요도 없이 혼자서 주욱 써서 내려갔고 ER diagram은 모두들 포기해서 역시 혼자서 작업했다. 그룹화는 가능한 피하려고 했으나 결국 그룹화가 나와버렸다. DB시간에 나름대로 열심히 공부했으나 역시 ERD는 경험이 많이 필요한 것 같다.
728x90
728x90

작년 10월 초에 프레임워크 소스를 공개할 거라는 예고 포스팅이 있었죠.
그 포스트를 보고 굉장히 흥분했던 기억이 떠오르네요.
언제쯤 가능할지 며칠동안 Scott의 블로그를 들락날락 거리다가 지쳐 잊고 있었는데 말이죠.

드뎌 기다리던 .NET Framework Library 소스가 공개되었습니다.
원문 링크는 다음과 같구요.
.NET Framework Library Source Code now available

살펴보니 많은 부분이 공개되었네요.

.NET Base Class Libraries 뿐만 아니라 ASP.NET, WinForms, WPF, ADO.NET, XML이 디버깅 가능하구요,

LINQ와 WCF, Workflow 도 공개하기 위해 작업 중이라고 하네요.
가능하게 되면 추후 블로그에 포스팅한다고 하니 소식이 뜨면 다시 살펴보겠습니다.

우선 .NET Framework 소스 코드를 디버깅하기 위한 설정은 다음과 같습니다.

1. Visual Studio 2008 Trial 버전을 설치하구요. MS에서 다운로드 받을 수 있습니다.

2. Visual Studio 2008 QFE를 설치합니다.

3. Visual Studio 2008을 실행한 후 Tools 메뉴의 Options-> Debugging-> General 탭을 열고
    'Enable Just My Code' 체크 해제, 'Enable Source Server Support' 체크 설정합니다.


4. Options-> Debugging-> Symbols 탭을 열고
  a) Symbol file(.pdb) locations 리스트에
      'http://referencesource.microsoft.com/symbols' 링크를 추가합니다.
  b) Cache symbols from symbol servers to this directory에 윈도우에
      현재 로그인한 계정으로 읽고 쓸수 있는 임의의 폴더를 만들어 선택하도록 합니다.
  c) Search the above locations only when symbols are loaded manually 항목을 체크합니다.




설정이 모두 완료되었습니다.

이제 디버깅이 잘 되는지 한번 살펴보죠.

1. 윈폼 어플리케이션 프로젝트를 하나 만듭니다.

2. 폼에 버튼을 두고 Click 이벤트에 메세지박스를 출력하는 코드를 입력하고 브레이크 포인트를 설정합니다.


3. 'F5'를 눌러 디버깅을 시작합니다. 윈폼이 뜨면 버튼을 클릭합니다.

4. 브레이크 포인트에서 Call Stack 윈도우로 이동한 후 팝업메뉴에서 Load Symbols 메뉴를 선택합니다.


5. 그럼 다음과 같이 비활성화 되어 있던 항목이 활성화되면서 디버깅이 가능하게 되는 것을 확인할 수 있습니다.

6. 'F11'을 눌러 MessageBox.Show()메서드 안으로 디버깅을 시도하게 되면 다음과 같이 System.Windows.Forms.MessageBox 클랙스를 디버깅할 수 있게 됩니다.


와우~...기분이 묘해지는군요.

이상으로 간단하게 살펴보았습니다.

더 자세한 내용은 다음 포스트를 참조해 주세요.
아래 링크는 원문 포스트입니다.
Configuring Visual Studio to Debug .NET Framework Source Code

이렇게 .NET Framework 라이브러리 소스가 공개되는 것이 우리에게 어떤 의미일까요?
좀 더 차분하게 고민해보고 많은 것을 얻을 수 있는 기회가 되었으면 좋겠다는 생각을 해봅니다.

== 어디선가 불펌했는데 기억이 안나서 출처를 못밝힙니다.. 혹시나 어디서 나온 건지 아는 사람은 꼬릿말 남겨주세요..
728x90

+ Recent posts