퇴근5분전

 

 

구글링에서 흐름도 라고 검색했더니

https://web.ktedi.com/common/serviceguide/hira/hira_applyguide_applyflow.jsp 

아래 그림같은게 나와서 그려봤다.

 

아직은 좀더 고칠 부분이 남아 있지만 대략... 기본 기능구현을 마쳤다.

이제 다듬어야지...

 

이미지는 아이콘 파인더에서 구하면 되공...

 

 

 

 

 

 

 

  지난번 프로세스 목록에서 작업뷰 화면으로 연계하는 것을 구상중이라고 했었는데, 우선 주말에 귀차니즘을 이겨내고

 

주중에 설계한것을 60% 정도 만들었다.

 

 

 

위처럼 왼쪽에는 작업 목록이 나타나고 각각 선택하면 작업에 대한 상세뷰가 나타난다.

 

그래서 이번에 AS-IS를 그리는 부분과 TO-BE를 그리는 부분을 각각 구분을 주어 나타도록 오른쪽 상단에 라디오버튼을 두개 넣었다.

 

위에서 To-be를 누르면 다른 화면이 나타난다.

 

 그려지는 아이템으로는 텍스트, 이미지, 시스템의 화면, 프로세스, 모듈, 파일(보고서, 엑셀, ppt...등 )이다.

 

여기에 아직 만들어져야 할 컨트롤들이 몇가지 더 있지만 어차피 위 텍스트와 이미지와 동일한 패턴이므로 이후에 만들어지는 아이템은 쉽게 만들수 있다.

 

모듈, 추가할 그룹 아이템은 좀 다른 형태의 컨트롤로써 설계되어 좀 더 다듬어줘야 한다.

 

프로세스를 디자인 할때 AS-IS와 TO-BE를 같이 담고 보면서 비교해갈수 있으면 좋을것 같아서 이렇게 설계해보았다.

 

귀차니즘을 겨우 떨쳐내고 여기까지 왔다.

 

 

 

 

 

 

 이번 주말엔 프로세스 그리기를 첫번째를 만들었다.

 

 

특정 프로세스를 그린다.

 

 

프로세스 A를 더블클릭하면 또 하나의 프로세스가 나오고,

 

작업001,

작업002

 

작업항목을 더블클릭 하면... 두번째 만드는 화면으로 이동하게 된다. ( 아직 구상중... )

 

단위시간처럼 1~10(N)을 결정해두고 그리드에 색을 지정할수 있다.

 

프로세스A를 처리하는데 걸리는 시간이 그냥 다른거에 비해 길다? 정도?

작업001을 처리하는데 걸리는 시간이 다른거에 비해 엄청 짧다.

작업002를 처리하는데 걸리는 시간은 프로세스A를 처리하는 정도??

 

상대적인 느낌으로 길이를 그려주면 된다고 생각한다.

 

 

음... 그리고 작업과 관련된 화면을 어떻게 그릴지 구상중인데.... 어떻게 하면 좋을까?

 

 

 

 

 

 

 음 요새 머리속에 꽉 차있는... 프로세스 그리기...

 

직관적으로 프로세스를 그려서 설계할수 있다면 어떨까 ...? 라는 생각에 계속 그리고 지우고를 반복하고 있다.

 

만약 A담당자가 어떤 업무처리를 할때 이 과정을 UML등으로 그린다고 했을때? 난 뭔가 빠진듯한 느낌이 너무 든다.

 

제대로 공부를 하지 않아서 그렇게 느껴지는 것일수도 있지만... 왠지 모르게.... 아쉽다???

 

 

그래서 프로그래밍 하면서 늘 고민하고 있고 디자이너를 만든 후에는 꼭 프로세스 그리는 프로그램을 만들었다.

 

이번에도 ... 또 시도하고 있다.

 

현재의 ERP 시스템을 개발하면서 개발자로 투입되어 소스코딩을 하고 있지만... 개발하고 있는 이 화면이 담당자의 업무 중

 

어느 시점에서 하는지 ... 감이 안온다. 단순히 뭔가를 등록하거나 수정하거나 삭제하거나 타 업무시스템과 연계되는 일등을

 

기술해두는 문서자료를 봐도 좀 생뚱맞은 느낌이 든다.

 

 이 내용들을 어떻게 하면 좀 쉽게 보고, 연관되어 있는 화면이 언제 어떻게 쓰이는지를 쉽게 볼 수는 없을까?

 

보안사항이라서 꼭꼭 숨어라??? 머리카락 보일라? ... 인가????

 

 구글에 여러가지 키워드를 넣어가면서 찾아보고 있지만 딱 이거다 라는 느낌이 드는 그림, 문서등은 발견할 수 없다.

 

 새로 만들고 있는 프로세스 그리는 폼에 과연... 내 입맛에 맞게 설계가 되는지도... 의심스럽긴하다.

 

뭔가 만들어보면서 고쳐가야 하는데 뜬구름 잡듯이 추상화만 하고 있으니....

 

 어제보단 오늘 생각한게 더 좋은 방법을 찾았지만.. 이대로 좋은가? 싶다..

 

 글 작성하고 있는 지금도 구글링 옆에 켜놓고 보고 있지만... 참 문서 다운 문서만 있다.

 

내가 필요한 문서는 없어. 내공이 부족해서 해석이 안되는 것인가...

 

 

 작업방법을 간단히 기술해본다.

 

# A담당자

   - 프로세스01

                 작업1   __

                 작업2      ________

                 작업3                _

                 프로세스02          ____

 

위와 같은 형태로 처리해볼까 한다.

 

 A담당자가 어떤 일(프로세스01)을 할때 순서를 나열하여 정리한다.

     작업1을 하고 작업2를 하고 작업3을 하고, 다음 일( 프로세스02 )를 하게 된다.

     단순작업은 [작업]으로 나열하고 좀 복잡한 일들은 [프로세스]로 작업을 그룹화 한다.

 

     __ 의 크기는 해당 작업을 하는데 소요되는 시간 개념의 선긋기?로 한다.

    꼭 단위 시간을 뜻하는 것은 아니다.

 

   작업을 클릭하면 >> 간단한 드로잉 툴을 띄워서 관련 화면이 있으면 화면을 배치한다.

                             화면을 클릭하면 디자이너 오픈.

                             메모박스, 그림박스 등.... 배치 할수 있게 만들고..

 

   프로세스를 클릭하면 위에 처럼 해당 프로세스의 상세내역을 볼 수 있게 띄운다....

 

  현재는 타업무연계 프로세스관련된 내용을 정리중인데... 이거 정리되면 작업 드로잉 판넬을 만들려고 한다.

 

지금 프로젝트에서 간단히 그려볼수 있으면 그려봐야 되는데... 음... ...

 

 

 

 템플릿 기능을 추가했다.

 

예전 프로그램들도 가지고 있던거지만... 이번 프로그램에도 넣어야지 하고 ... 미뤄두었던 기능을 드디어 추가했다.

 

위치는 도구상자 아래 위치시켰다.

 

가져오기 버튼, 삭제버튼이 있다.

 

# 가져오기 버튼 : 디자인된 컨트롤을 선택하고 가져오기 하면 이름을 지정하고 저장하면 템플릿 목록으로 뜬다.

# 삭제 버튼 : 선택된 템플릿 컨트롤을 삭제한다.

 

 

 지금 플젝에서 툴을 사용중이지만 디자인도 여러개 했지만... 조건 판넬에 조건들이 비슷하게 들어가는데 매번 새로 생성하자니

 

귀찮아져서 미뤄두었던 기능을 추가했다.

 

화면에 어디에 배치할까 고민하다가 도구상자 밑에 넣었다.

 

 다시 프로세스 디자인 UI 를 다시 고민해보고 있다. 딱히 답이 안나오긴 하지만... 생각하다보면 아이디어가 나오겠지...

 

 

 

 개발중에... 완성된 기능을 써본다.

 

이 기능은 PL이 작업요청한 것을 저장하는데 처음 모두 복사해 붙여넣은 후

 

캐럿을 위치해두고 Ctrl + Enter 를 이용하여 구문을 조각 내준다.

 

물론 한문장씩도 등록이 가능하다.

 

# 첫번째 케이스

   등록을 해둔 상태에서 세번째 줄 '캐럿' 앞을 클릭하여 캐럿이 깜빡거릴때 Ctrl + Enter 키를 누르면 문장이 두개로 분리된다

 

 

        분리된 결과다.

 

 

# 2번째 케이스...

        통으로 등록한 글을 일정부분을 선택 한 후 Ctrl + Enter를 입력하면 3개로 분리해준다.

   

 

      3개로 분리된 구문...

 

 

   여러 문장으로 구문으로 적혀 있는 것을 기능에 맞춰 잘 잘라주고 저장을 한 후 비주얼 스튜디오에서 해당 내역을 등록한 화면을 개발할때

  주석문으로 끌어와서 사용할 계획이다. 메모보내기 기능은 앞에 디자인 화면에서의 뷰모드에서 보여지는 메모 기능에 아이템으로 내용을 보내는 버튼이다.

 

여러 줄의 문장이 있을때 중간에 계속 분리해 나가도 순서가 뒤엉키지 않게 만들었다.

 

 

※ 1~6까지 하나씩 넣고 중간 중간을 분리해나온 결과 위처럼 순서가 바뀌지 않는다.

 

 

이번 주말엔 비주얼 스튜디오의 Addin을 개발할 예정이다.

 

위 메모들을 해당 화면 소스에서 볼수 있게 하고 주석으로 꽂아 넣게 만들것이다.

 

## 추가~

 

 등록된 기능 목록은 아래 처럼 비주얼 스튜디오에서 목을 볼수 있다.

 

 

그리고 < 버튼 클릭하면 현재 커서 위치로 주석문을 붙여넣기 해준다.

 

이렇게 한곳에서 기능목록을 관리하고 비주얼스튜디오에서 목록을 직접 볼 수 있다면.... 개발이 좀더 쉬워지려나?

 

쉬는 날 이제 코딩하는 게 쉽진 않넹...

 

 

 음 요새 디자이너를 사용해서 프로젝트를 진행하고 있다.

 

익숙해지고 있지만... 뭔가?? 느린 느낌????

 

그래서 시작 측정을 위해 기능들을 고민하다가 추가했다.

 

첫번째,

화면을 등록하고 상세화면을 열었을때 디자인 시작 시각을 기록.

 

디자인 후 소스변환을 하면 디자인 종료 시각 기록.

 

다음 작업완료 버튼을 클릭하면 작업 완료시각을 기록.

 

이제 추가했기 때문에 새로 시작하는 화면에서나 볼 수 있다.

 

두번째, ( ... 작업중 )

PL이 작업요청서같은걸 엑셀로 만들어서 준다.

 

이 엑셀에는 해야할 작업내역들이 기록되어 있는데, 이 내역을 보면서 작업한다.

 

모니터가 노트북 모니터에서 하기때문에... 걸리적 거린다. ...

 

비주얼스튜디오와 엑셀을 번갈아가면서 보거나, 엑셀 내용을 복사해서 소스작업할 곳에 붙여넣고

 

작업을 이어간다.

 

이래 저래 좀 귀찮은 작업이 되므로... 고민하다 추가한다.

 

디자이너에 작업내역을 입력하는 판넬을 만들어 추가한다. ( 엑셀의 시트 내용을 통째로 복사해서 붙여넣기 )

 

판넬 내에서 적당한 방법( = 따로 고민해둔 방법이 있음.)으로 내용 쪼개기를 한다.

 

쪼개진 내용중에 일부 필요한 내용은 디자이너의 뷰 기능에 있는 메모란으로 복사할수 있도록 버튼을 배치한다.

 

내역을 쪼개서 저장한 후에...

 

비주얼 스튜디오에서 AddIns으로 해당 화면에 맞는 작업내용들과 맵핑 한 후에

비주얼 스튜디오 내에서 보여주고, 해당 내역을 소스상에 주석으로 배치 할수 있게 만들어준다.

 

그리고 작업 후에 또... 고민해봐야지...

 

 

 

... 기타 다른 버그 수정

 

ver 1.0.0.37
  - 반투명 기능 추가. ( 엑셀보고 입력할 때...)
  - 읽기전용 필드 설정 ( DimGray 배경색 처리) 및 소스변환 처리
  - 그리드 정렬 변경시 선택위치 변경되는 부분 체크 수정.

 

아직 한참 적응중이다.

 

 자리 이동시 짐을 줄이기 위해 노트북 1대로 모니터 없이 작업을 하려다 보니, 프로그램을 띄워서 설정할 때

작업내역 엑셀을 보기가 불편해서 반 투명 처리를 추가해봤다.

 

작업은 해봐야 알겠지만... 어떨지...

 

 읽기전용 필드 설정을 매번 수정해야해서 그리드 설정할때 같이 해버리는 걸로 바꾸었다.

 > 소스변환 처리까지 마침.

 

 

 음 작업시간을 확인하고 있지만.... 그렇게 작업이 빨라지진 않는다. 기존 변환 프로그램과 비슷한 시간이 걸린다.

 

 

 

 

 목요일(5.4) 처음 디자이너를 이용해서 작업을 해봤다. 시작시간 부터 종료까지...

싱글폼 탭 3개에

내부 컨트롤이 38개.

이걸 디자인 해서 변환하고 소스 작업 마친 시간이 6시간 걸렸다. ㅡ.ㅡ;;

 

겁나게 오래 걸렸넹 디자인만 3시간...

 

음.. 전날 프로그램 수정까지 마친 상태에서 가져가서 바로 디자인하고 변환 했더니... 문제가 생겼다.

 

 WPF에서 TextBox에 숫자입력관련 처리를 전날 마무리하고 테스트해갔지만, .net 3.5에서 적용이 안되고 에러가 똭!!!

 

wpf의 .xaml 에

 

 xmlns:num="clr-namespace:System.Globalization;assembly=mscorlib"   를 추가하고

 

<TextBox  Height="21" TextAlignment="Right" Name="txtNumber" 
                  Text="{Binding Price,
                  UpdateSourceTrigger=PropertyChanged,
                  StringFormat='#,##0',
                  ConverterCulture={x:Static num:CultureInfo.CurrentCulture}}" />

 

다음 .xaml.cs 에

       public decimal Price { get; set; }

 

       txtNumber.DataContext = this;

 

로 처리하니까 숫자로 입력하는 경우 ,가 자동으로 찍힌다.

 

이게...  .net 3.5에선 안된다ㅡㅡ;;  3.5에서 하려면 IValueConverter를 구현하고 적용하여야 한다.

 

그걸 굿센 개발프레임웍에서 어떻게 지원하면 좋을지 찾고 고치고 디자인을 상세조정하는 3시간이 소요되었다.

 

그 다음 소스단 처리를 위해 작업하고 테스트 하니 3시간이 훌쩍... 생각보다 오래 걸리네..?

 

주말에 다시 소스를 재정비해놨다. ( 더이상 어떻게 고칠지... 생각이 안난다. )

 

디자이너는 더 고칠것 같지는 않고.. 추가적인 기능을 구현할 것 같다.

 

첫번째, 테스트작업. ( UI 테스트 기능을 스크립트로... )

두번째, 회의록기능.

 

기타.

  VS AddIns 으로 화면별 조회정보? 나 테스트 정보 같은걸 만들어줄까나?

 

 

 

기존 사용자 정의 툴 박스를 변경했다.

 

원래는 {ID : 이름} 조합으로 등록하면

 

라벨 1개, 다른 컨트롤 1개를 각 행별로 만들었는데, 이번엔 1쌍으로 만들어놨다.

 

*NO_STDM:현설번호:CFD:코드파인드명
+2:제조일자
*FR_SBM:시작일자:TCL:yyyy-MM-dd
*TO_SBM:종료일자:TCL:yyyy-MM-dd
CD_ORDPLC:발주처:CFD:코드파인드명

 

구조에 대하여 설명하면 {* 필수여부}{ID}:{텍스트}:{컨트롤타입}:{부가정보}  이다.

 

쌍으로 동작하는 것 뿐이고

중요한건 +2:제조일자  이다

 

 '제조일자'는 헤더, '+2'는 아래 두개를 쌍으로 묶은다.

 

그림을 보면 제조일자에 두개의 날짜 컨트롤이 묶여 있는 것을 볼 수 있다.

 

생성시켰을때 다음과 같이 우측에 표시된다.

 

 

 제조일자를 디자이너에 옮기면!!!   오른쪽엔 옮긴 아이템으로 표시를 하고!!  날짜와 날짜 사이라면 '~'를 추가해주고...

 

 

연휴때 남은 작업을 마저하고 5월부터는 타임어택을 해야지.. 얼마나 빠르게 만들어 낼 수 있을까?

 

변환포멧 두가지 정도를 추가할 생각이지만... 연휴에 만들면 되는 것이고...