소프트웨어 아키텍처 세미나를 듣고...

이번 전문가 초청 세미나는 카네기-멜론 대학의 컴퓨터 공학과 교수님이신 Anthony Lattenze의 소프트웨어 아키텍처 강의가 있었습니다.

우선 결론적으로는 저희가 실행하기에는 힘든 방법론이었습니다.

그냥 참고할만한 수준으로 이해하시면 될 것 같습니다.

우선은 강사의 말을 그대로 핵심만 옮겨 봅니다.

우선 주제는 정확하게 말해서 소프트웨어 아키텍처의 전략적 자원화(Software Architecture as Strategic Asset)입니다.

원래는 사례로 보는 SW Architecture라는 세미나를 참여 했는데, 내용과 파워포인트의 제목을 보니 소프트웨어 아키텍처의 중요성과 회사에서는 이를 전략적 자원화하여야 한다.가 주제였습니다.

Architecture이라는 것은 결국 사용자의 요구사항과 구현(개발)을 이어주는 다리 역할을 하는 것이다.

아키텍처를 잘 만들면 요구사항과 구현간의 gap을 줄일 수 있다.

아키텍처에는 3가지 종류가 있다.

Enterprise Architecture, System Architecture, Software Architecture

~ 당연히 다른 개발 방법론들처럼 정확한 방법론과 절차를 따르면 고객과 개발자 사이의 간격을 줄일 수 있는 것!!

, 소프트웨어 아키텍처, 또한 하나의 개발 방법론(절차서)로 이해 하면 될 듯.

실제로 Architecture 디자인을 한다는 것은 기능을 분배하고, 각각의 기능에 권한을 부여하는 일연의 과정이며, 각 기능간의 관계를 나타내는 것이다.

이는 세세한 단위로 이루어 지는 것이 아니라 적절한 추상화를 통해 이루어 져야 한다.

이때 소프트웨어의 성능, 보안, 가용성, 효율성, 변경가능성을 반영하여야 한다.

그리고, 프로세스 중심적이어야 하며, 이벤트 중심적이어서는 안 된다.

, 이 모든 과정은 반드시 문서화 되어야 한다.

실제로 소프트웨어 아키텍처를 어떻게 구성하고 그 예가 어떤 것인지를 설명해줬으면 했으나……

결국 현실적인 이야기 보다는, 개념적인 이야기가 많았습니다.

소프트웨어 아키텍처는 밑단까지 상세하게 구조화 시키는 것은 아니다!!! 추상화된 대략적으로 구성해야 한다.

사실, 이 대략이 힘들죠?? 어디까지가 과연 대략인지!!

관리자들은 SW Architecture 구성하면 단순히 불필요한 작업이 늘어 나는 것으로 보지 말아야 한다.

SW Architecture 구성함으로써 프로젝트 진행에 있어서의 미래를 예측할 수 있고, 발생될 문제점 등을 예측할 수 있다.

결국 SW Architecture라는 것은 전략적으로 생각함을 의미한다.

관리자들은 SW Architecture의 중요함을 인식하고 이를 수용하고 실행하여야 한다.

결국 미래를 내다 보고 설계하라는 것인데, 그 것을 합리화 시킨 것이 소프트웨어 구성을 대략적으로 해야 한다는 것!!

빈 박스 3~4개 그려놓고 이게 인사 시스템이다!!! 하면???

이것을 CJ에서도 사용하고 Global에서도 사용하고, 외부에도 팔 수 있게 만들었다고 할 수 있을런지?

물론 소프트웨어를 구조화 시키는 것은 중요하다는 것은 모두가 인식하고 있고, 위의 예가 극단적일 수 도 있지만, 그 효용성에 대하여 좀더 자세한 설명이 있었으면 했습니다.

SW Architecture는 코드의 재사용을 의미하는 것이 아니라 앞에서 말한 바와 같이 추상화된 기능들의 재사용이다.

세세한(fine) 기능의 재사용이 아닌 데이터베이스, J2EE처럼 거친(coarse) 기능들의 재사용이다.

쉽게 말해 재 사용은 코드 하나하나를 재사용 한다고 보면 안 되는 것이고, 웹에서 인쇄 모듈을 사용하고, C JAVA에서 기본 IO모듈을 상속해서 사용하는 것이 바로 재사용이다.

실제 이러한 재사용은 제품 라인업에서 볼 수 있다.

제품 라인업이라는 것은 미리 재사용을 위해 디자인된 것이다.

이러한 제품 라인업은 분기점과 공통점을 정확하게 구분 하는 것이 관건이다.

그리고, 어떤 곳에서나 제품 라인업이 사용되는 것은 아니며, 비용과 비즈니스가 맞아 떨어질 때 적용되어야 하는 것이다.

zip ftp처럼 알 소프트에서는 같은 ftp프로그램도 라이센스( zip 개인용, zip 회사용)나 기능( map, map-pro, map-pocket)에 따라 제품 라인업을 가집니다.

이들과 같은 제품 라인업들을 모아 놓고 보면 분명히 공통 모듈이 있고, 라인업 별로 틀린 모듈이 있습니다.

결국 이렇게 분리 될 수 있는 것들이 바로 소프트웨어 아키텍처 하나하나의 요소가 될 수 있는 것이다.

이렇게 거꾸로 여러 가지 버전의 소프트웨어를 만든다고 가정하고 그 차이점과 공통점을 반대로 묶어 가는 것이 바로 SW 아키텍처 디자인이다.

글로벌 개발이라는 것은 개발팀을 전세계적으로 분산하여 관리/협업하는 시스템을 말한다.

이때 발생하는 여러 가지 문제점들에 대한 해결책도 SW 아키텍처이다.

, 권한과 결정권을 가지는 중앙 아키텍처 팀을 구성하여 운용하여야 한다.

그들이 정의한 아키텍처를 중심으로 분산된 개발 팀들은 협업을 진행하여야 한다.

저희는 전혀 글로벌 개발이라는 것을 하지 않기에 적용이 안되다고도 볼 수 있지만 외부 개발자를 쓰거나 여러 팀이 협업하여 개발할 때 적용된다고 보면 될 듯 합니다.

단지 소프트웨어 아키텍처 문서가 아니더라도 정확한 문서 표기와 공유가 중요하다는 것을 다시 일깨워 주는 부분입니다.

각 사의 관리자들은 SW Architect의 중요성을 인지하여야 한다.

SW Architect PM과는 분리되어야 하지만, 같은 관리자 그룹에 속하여야 한다.

SW Architect를 교육 시켜야 하며, 그들의 CDP보장하여야 한다.

저희 회사에는 없는 직무 중 하나가 아닐까 합니다.

개발 전문 회사가 아니기에 소프트웨어 아키텍이 존재 하지 않지만, 외국의 경우 아키텍 그룹과 팀이 따로 있을 정도로 중요 시 되고 있는 직무라고 합니다.

이 아키텍은 다른 말로 디자이너라고 부르기도 합니다.

국내에서 일반적인 디자이너가 그래픽 디자이너를 의미 하지만, 외국 같은 경우 프로그래머라고 하면 디자인을 하느냐 못 하느냐가 아주 중요한 경력사항 중 하나입니다. (어제 저녁에 미국에서 온 사촌 동생들과 저녁을 먹는데, 내가 프로그래머라고 하니까 바로 이 질문을 하더군요! 그럼 디자인도 하냐구? ㅠㅠ;;)

여하튼 아직은 국내의 개발 환경 자체가 분업화가 많이 되어 있지 않아 아키텍이나 QA의 역할이 많이 떨어지는 것은 사실인 듯 합니다.

사실 쭉 강의를 듣고 느낀 것은 대학교에서 컴퓨터 공학과 수업을 듣는 듯 했습니다.

이게 과연 실형 가능한 것인지…… 멀 하라는 것인지…… 심지어 졸리기 까지 하더군요 ㅋㅋ

여하튼 조금 더 실 예를 들어 설명해 주지 못한 부분이 아쉬웠던 것 같습니다.

크리에이티브 커먼즈 라이센스
Creative Commons License
이올린에 북마크하기(0) 이올린에 추천하기(0)

Posted by akiss4u

2006/07/31 10:15 2006/07/31 10:15
, , ,
Response
No Trackback , a comment
RSS :
http://akiss4u.co.kr/blog/rss/response/24

SOA 세미나를 다녀와서...

어제(6월 20일) 오후 1시부터 6시 40분까지 있었던 SOA 추진전략과 구현방법론 세미나에 참석하였습니다.

주최가 IT Business 저널이였고, 강사들이 각 SOA 벤더들이였기에, 특정 업체에 치우치지 않고, 여러 업체들의 SOA에대한 생각을 옅볼 수 있는 좋은 기회였습니다.

우선 SOA(Service Oriented Architecture)의 기본 제가 아는 범위에서 조금 설명해 드리겠습니다.

1996년 가트너 리포트에서 첨 정의한 개념입니다.

등장한지 10년정도 밖에 되지 않았지만, 사실상 그 개념은 오래전부터 존재해왔던 것입니다.

IT 이던 Non-IT 이건 서비스 중심으로 구조화 하는 것을 말하는 것입니다.

조직을 제공하는 서비스별로 나눌수도 있고, 실제 IT적인 기능으로 나눌수도 있겠죠?

(예를 들어, HR서비스의 부분인 e-HR을 웹파트라는 곳에서 운영하게 되면 서비스 중심적이 아닌 기능 중심적이 되겠죠?)

결국, SOA는 기본틀과 구조에 대한 하나의 방법론으로 시작 됩니다.

물론 현재는 조금더 진보하여, S/W Architecturing쪽의 개념의 전이되어 사용되고 있습니다.

이 개념을 현재 이끌고 있는 업체는 IBMBEA가 선두를 달리고 있습니다. (개념적인 측면에서만!!)

물론 오라클이나 MS도 제품 위주의 SOA를 진행하고 있습니다.

하지만, 실제로 SOA 프로젝트의 수주와 실적은 티멕스라는 국내업체가 휩쓸고 있습니다.(세미나에서도 느낄 수 있었습니다.)

세미나는 서강대 교수님의 SOA의 가장 중요한 부분인 Service 도출 부분에 대한 설명에 이어, IBM, BEA, 오라클, 티멕스, MS 순으로 발표가 이어졌습니다.

읽는 분들은 벌써 지루하실 테니 어제 세미나의 공통적인 결론부터 말씀해드리고 시작하겠습니다.

(시간이 되시는 분들만 쭉 읽으세요 ㅠㅠ;;)

1. SOA는 고객의 요청에 유동적으로 대처할 수 있는 소프트웨어 아키텍쳐이다.

2. SOA는 서비스 컴포넌트의 재활용성을 기본으로 한다.

3. SOA는 비즈니스적인 측면과 IT(기술)적 측면 모두를 반영하여야 한다.

4. SOA는 서비스의 도출에서부터 시작한다.

5. 완벽한 SOA란 지금까지 구축된적도 없고, 실현되기도 거의 불가능하다.

6. SOA는 하나의 Application으로 해결 할 수 없다.

우선 세미나 참석자는 생각보다 엄청나게 많았습니다. 거의 200명 수준 정도 였던 것 같습니다.

그리고, 참석자들은 발표를 하는 회사분들도 상당히 많았습니다. 즉, 딴 회사들의 생각을 읽을 수 있는 좋은 기회라 생각한 듯 합니다.

대부분 SI 또는 컨설팅을 하는 벤더 업체들이 대부분이였습니다.

고객이 될 회사는 거의 없는 듯 하였으며, 고객을 대상한 세미나도 아니였습니다.

대부분 실무자들이 발표를 하였기에 어려운 개념들이 설명없이 그냥 넘어가는 경우도 상당히 많았습니다.

같은 개념으로 다른 회사들이 발표를 하였기에 뒤로 갈수록 앞의 발표자 개념을 씹는(?) 경우도 있었습니다.

첫번째 발표자였던 서강대 소프트웨어 공학과 교수님은 발표주제와 수준을 잘못 맞춘듯 하였습니다.

서비스의 도출방법론에 대하여 설명하는듯 하였으나 요구공학적인 내용을 설명하는 수준이였습니다.

- 요구사항은 여러가지 방법론을 통하여 이끌어 내야하며, 요구사항 청취 시에는 고객의 목소리에 귀를 기우려야 한다.

두번째 IBM의 발표는 역시나, 비즈니스 관점으로 서비스를 보야야한다.

그리고, 서비스의 구현에 대한 전체적인 개념에 치중한 내용을 발표하였습니다.

- 서비스 도출 시 사람, 포로세스, 정보, 재사용, 연결의 관점에서 도출을 시도하여야 한다.

- 구현은 모델링, 어셈블링, 배포, 관리의 수순의 반복을 통해 구현한다.

- 관리는 계획, 정의, 활성화, 측정의 단계를 반복적으로 수행하여 관리한다.

방법론적으로 가장 완벽하게 정리된듯한 느낌을 받았습니다.

하지만, 너무 개념적인 측면에 치중하였다는 느낌을 받았으며, 과연 IT적인 측면을 무시하고 비즈니스 측면만으로 서비스를 구축 할 수 있는건지 하는 의문이 듭니다.

실제로 적용 사이트가 적고, 뒷 받침할 어플리케이션 얘기가 적어 조금 아쉬 웠습니다.

세번째 발표자는 BEA였습니다.

아쿠아 로직이라는 SOA전용 제품군을 기반으로 설명이 진행 되었으며, 일본 도시바에 적용된 사례 설명이 이어졌습니다.

EA(Enterprise Architecture)기반에 웹로직 제품군을 적용 시켰다면, SOA기반에 대응하는 아쿠아 로직을 가져가는 같습니다.

- EA와 SOA의 차이점은 인터페이스가 각 서비스 모듈별로 존재 하는지 아니면 아나의 공통된 인터페이스를 활용하는지의 차이다.

- 서비스는 모듈화 되어 관리 되며, 이를 아쿠아 로직 서비스 버스라는 제품을 통해 서비스 카탈라고에 등록하고 검색하여 이용할 수 있게 한다.

- 서비스의 연계는 BPM 솔루션을 활용하여 구성한다.

상대적으로 SOA를 쉽게 제품의 기능에 대응하여 설명하였습니다.

SOA를 설명하면서 전력의 예기를 하더군요. 즉, SOA는 궁극적으로 전기가 화력, 수력, 원자력으로 만들어짐에 상관없이 코드만 꼽으면 전력이 흘러야한다.

그리고, SOA로 구축하게 되면 단기적으로 많은 비용과 노력이 들어 가지만, 재활용성이 높아짐에 따라 점점 비용이 감소하는 구조가 된다.(당연한 ㅠㅠ;;)

SOA쪽에 가장 개념과 제품적으로 앞서 있는 만큼 설명이 대체로 쉽게 진행 되었지만, 자사 제품에 너무 의존한 설명이였던 것 같습니다.

네번째는 오라클이였습니다.

자신들의 SOA 방법론을 설명하는 자리였습니다.

- SOA는 엔터프라이즈, 프로젝트, 어플리케이션 Scope으로 구분되어 진행되어야한다.

- 엔터프라이즈급 개발 패턴의 예시를 3가지정도 제시 하였습니다.

- SAP의 Netweaver의 냉장고와 비슷한 SOA Blueprint를 기반으로 Turkcell이라는 업체에 구축한 예시를 설명하였습니다.

- 그리드 컴퓨팅 기반 -> Horizontal/Custom/Industry 어플리케이션 -> 서비스 등록 -> 서비스 버스 -> BPM -> 관리 모듈 -> 포탈의 구조를 SOA로 정의 합니다.

- 여기에 SDK와 보안, 모니터링 모듈이 추가됩니다.

아직 완성이 되지 않은 방법론으로 설명을 진행하였기에 왠지 복잡한듯한 느낌을 받았습니다.

방법론으로 컨설팅을 위해 추진하는 내용을 설명하였기에 SOA에 대한 많은 지식이 있지 않은 이상 이해하기 힘들었습니다.

다섯번째는 티맥스 차례였습니다.

티맥스는 확실히 현장 경험과 SOA에 대한 구축 경험이 있는 발표자의 발표가 확실히 인상적이였습니다.

- SOA는 IT와 Business단을 분리하여 이를 Syncroniztion 시키는 프로세스이다.

- Consultant(Methology), Solution(Product), Release(Excution)으로 SOA Project는 진행된다.

- SOA는 Information Management Service, Service Platform, Process Management Service, Business Rule Service, Presentation Service, Integration Service, Management Service로 구성된다.

- 서비스의 개발은 새로운 서비스, Wrapped 서비스, Composite 서비스로 나누어 개발해야 한다.

- Soaware라는 제품군을 제시.

앞서 발표한 3개사의 장점을 아주 잘 조합하여 정리가 잘된 느낌을 받았습니다.

여섯번째 발표자는 마이크로소프트였습니다.

사실 별로 내용도 없고, .net기반의 구축 사례만 설명하는 것으로 넘어 갔습니다.

아직은 SOA를 CBD수준으로 설명하려는 의도가 많이 보였습니다.

전반적으로 세미나는 SOA에대한 개념을 이해하고 그 활용도를 볼 수 있는 좋은 세미나였습니다.

하지만, 대기업들은 항상 그렇지만 그들만이 이해할 수 있는 방법론을 강요하는 느낌도 들었습니다.

시간이 없어 머리 속에 있는 내용을 정리하지는 못하고 그냥 그때 그때 받은 느낌만 기술 했습니다. 이해해 주세여 ㅜㅠ;;

크리에이티브 커먼즈 라이센스
Creative Commons License
이올린에 북마크하기(0) 이올린에 추천하기(0)

Posted by akiss4u

2006/06/21 21:21 2006/06/21 21:21
,
Response
No Trackback , No Comment
RSS :
http://akiss4u.co.kr/blog/rss/response/21

ITSM 세미나

지난 금요일 오후 2시부터 양재사옥에서 ITSM 사례연구에 관하 세미나가 EDS라는 호주 ITSM Consultant에 의해 진행되었습니다.

시간이 많지 않았고, 영어로 진행되어 많은 범위는 다루지 못했습니다.

하지만 몇 가지 중요한 부분을 이해 할 수 있었습니다.

이해한 부분을 조금 정리 해보겠습니다.

우선 ITSM은 Function(기능)의 조율이나 단순히 하나의 Process 정립을 의미하는 것이 아닙니다.

전체적인 IT 기반하의 Business Process들의 관계를 정립하고 모든 서비스를 관계를 조율하는 것을 의미합니다.

ITIL에서의 ITSM은 Service Support와 Service Delivery라는 크게 두 가지 부분으로 나누어 집니다.

도표로 간단히 정리 하여 보면 Service Supoort는 아래와 같습니다.


서비스 데스크는 고객과의 접점으로 하나의 고객과의 모든 의사소통의 단일 창구역활을 수행하게 됩니다.

Configuration Management라는 모든 서비스 관련 정보를 관리 하는 DB프로세스를 중심으로 인스턴스 관리, 문제관리, 변화관리, 배포관리의 순으로 하나의 SR이 처리되게 됩니다.

이때, 서비스 데스크나 변경 요청은 하나의 Function(기능)이며, 다른 모든 박스는 하나의 프로세스이다.


지금 현재 저희가 하고 있는 CSD가 바로 이 기반으로 구성된 것입니다.

저희 팀에도 인스턴스관리자나, 형상관리자 등등이 있는것처럼 실제로 표면화 되어 있지 않지만, 이런 프로세스에 따른 롤도 당연히 정의 되어 있습니다.


ITSM의 성공 요인 중 하나가 바로 이 Role을 부여 받는 사람들이 얼마나 자신의 R&R을 이해하고 ITSM의 중요성을 인지하는가라고 합니다.


, 다른 부분인 Service Delivery부분은 다음과 같이 표현 된다고 합니다.



이 부분은 결국 고객에서 서비스를 좀더 약속된 수준으로 제공함을 의미합니다.

약속된 수준이라 함을 제공 될 수 있는 가능량을 정확하게 파악하고 또, 최소한의 비용으로 최대한의 효과를 가져오며, 만일의 재해에 대비 할 수 있는 수준을 의미합니다.

도표에 보시다시피 서비스 수준관리, 가용성관리, 재해 관리, 제무관리 등으로 이루어 집니다. 여기에 Capa라던지 보안 같은 부분이 기능이지만 필수적으로 관리 되게 됩니다.


물론 여기서 Service Level Management가 가장 중요한 프로세스가 될 것이며, 그 이유는 바로 고객과 공유가 되고 결국에는 계약의 일부가 될 수 있기 때문입니다.

Finance Management는 Total Cost of Ownership(소유 총비용)과 관련한 내용을 주로 합니다. 즉, 단순한 물직적 자산에 대한 비용 뿐만 아니라, 서비스나 유지보수에 드는 비용까지 계산하게 됩니다.

그리고, Capacity(가용) 같은 경우 그 수준을 적정선으로 유지할 수 있는 Pro-Active한 면이 필요합니다.


이렇게 위에 두가지를 기본으로한 ITSM에 대한 설명이 요지였고, 이 중간 중간에 결국 여러가지 Case Study결과 ITSM의 실패요인은 다음과 같다고 합니다.

1. IT에만 집중하여, Business Process를 무시하였을 때

=> 즉, 정보처리 자체에만 집중하여서는 안되고, 그 처리 과정과 유관 관정에도 관심을 쏟아야한다.

2. ITSM과 관련된 모든 사람들이 ITSM의 이유와 목적을 정확하게 인지 하고 공감하며 지속적인 Communication을 가져야한다.

=> 즉, 경영진이던 기술직이던 모든 사람들이 자신의 R&R을 인지하고, ITSM교육을 받고 프로젝트의 경과 상황에 대한 정보를 공개하여 지속적으로 공유하여야한다.

3.경영진의 의지.

=> 너무나도 당연한 말이겠지만, 최상위층에서 ITSM의 필요성을 인지하고 있지 못한다면, ITSM은 실패한다.


사실은 이 이외에도 많은 부분이 배포된 교재에는 언급되고 있지만, 컨설턴트가 이 부분만 강조하기에 여기까지만 하겠습니다.
이 다음에는 시간이 없어 아주 빠른 속도로 실제 ITSM 프로젝트 진행과 그 방법론에 대한 설명이 있었습니다.


우선 Transition(변환기/과도기)의 필요성에 대한 설명이 있었습니다.

=> ITSM이 단순한 프로세스의 변경이 아니기에 당연히 빅뱅 형태가 아닌 단계적으로 진행되어야하고, 이 와중에 과도기는 존재하여야 한다라는 얘기였음


그 다음에는 ITSM성숙도를 평가하는 설문이 있다고 합니다.

아마 저희 회사도 평가를 받았으리라 생각됩니다. 누군가 이 설문지를 구할 수 있느냐는 질문을 했더랬습니다. – 당연히 기본적인 것은 가능 상세한 것은 불가능 ㅠㅠ


그리고, ITSM을 할려면 너무 범위가 커서 힘들 것 같다! 시작하기에 좋은 방법이 없겠냐는 질문에 강사는 이렇게 답변하더군요.

지금 당신들이 하고 있는 모든 서비스, 프로세스, 기능을 우선 표준화 시키는 작업부터하라고 답변하더군요. 그렇죠, 우리가 한는일을 모두 정의 한다음 이를 ITIL에 맞게 재배치하면 ITSM이 되는것이니까. ^^;;


다음은 기본적으로 프로세스라는 것을 어떻게 정의하는지에 대한 설명이 이어졌습니다.
몇가지 표준문서에 대한 설명이였는데, 골자는 어떤 서비스(1)를 무엇(2)으로 언제(3) 누가(4) 어떻게(5) 하는지로 이루어집니다.


컨설팅 업체 답게 문서 표준이나 목차는 확실하게 정의되어 있었습니다.
하지만, 제공된 자료가 전체가 아닌 Sample이기에 별루 도움은 안됩니다. 전체적으로 세션은 아마도 영어로 진행되었기에, 개요수준에 머무르는 내용이였습니다.


실제 프로젝트를 하시는분들의 질문이 많아야 좀더 많은 내용을 얻을 수 있었을 것 같았습니다.
하지만, ITSM 프로젝트 수행하신분들 보다는 저희 같은 현업에 계신분들의 질문이 더 많아, ITSM프로젝트 수행 방법론에 대한 Case Study보다는 ITSM이란 무엇인가에 가까운 세션이었습니다.


개인적으로도 ITSM과 ITIL을 이해하는데 도움이 되었기에 큰 불만은 없었으며, 좋은 기회였습니다.
하지만, 통역의 통역이 실제로 문제의 초점을 비껴나아가 중요 흐름을 집지 못하고, 개인적인 지식이 바탕이 된 주관적인 면이 많아 아쉬웠습니다.

크리에이티브 커먼즈 라이센스
Creative Commons License
이올린에 북마크하기(0) 이올린에 추천하기(0)

Posted by akiss4u

2006/05/15 12:21 2006/05/15 12:21
, ,
Response
No Trackback , No Comment
RSS :
http://akiss4u.co.kr/blog/rss/response/13

자바 개발자 컨퍼런스를 다녀와서

12시에 컨퍼런스는 시작되었습니다.

우선 휙 둘러보니 사람 진짜 많습니다. 약 만여명 정도 되어 보이더군요.

간간히 시스템즈 분들도 보이고(애석하게도 SLM팀 분들은 안보이시는듯 ^^;; 오신분?? 손 ^^/ ), 예전 동료들도 있고, 그랜드볼룸을 가득 채운 사람들이 다들 자발적으로 참여해서 그런지 활기차 보여 좋았습니다.

진대제 장관님의 축사의 골자는 소프트웨어 산업을 부흥을 위해 노력하겠다는 것이였습니다.

사실 장관이라고 해서 왠지 고리타분한 얘기를 하실거라 생각했는데, 개발자들의 현안에 대해 놀랄울 정도로 정확하게 팡가하고 있어서 왠지 흐믓했습니다.

여담이지만, 친구들과 함께 이런 말을 했습니다.

정통부 장관은 아무나 할 수 있지만, 삼성전자 미디어 사업부 총괄은 아무나 하는게 아니다. ㅠㅠ;;

1시부터 세션 1이 시작 했습니다.

JBOSS쪽 트랙에 들어 갔었는데, 어려웠습니다.

먼 말인지 J2EE개념이 안서서 그런지 WAS의 일종인 JBOSS 효용성에 대해 설명을 하는데 거의 멍하니 있었습니다.

지금도 전혀 모르겠습니다. ㅠㅠ;;

세션 2에서는 FLEX 2에 대한 트랙에 들어 갔습니다.

아시는분은 아시겠지만, SAP Web Dynpro에서도 Flex를 사용합니다.

차트쪽에서 사용하는 것으로 알고있습니다.

오옷!!! 대단했습니다.

코딩 50줄이 DB 끌어와서 완변한 Flash로 데이터 그리드부터 그래프에 정렬까지!!

데이터 8000개 가져와서 그리드로 표현 하는데 1초 미만…

그리고, Real Push를 이용하여 채팅 프로그램 만드는데, 100줄!!

그리고, Flash 깔리지 않은 컴퓨터 있습니까??? 컥~

환상이였습니다. 바로 Flash쪽 Booth로 쫓아가서 Flex 2 데모 버전 받아 왔습니다.

스트럿츠의 아버지 맥클라한 아저씨의 세션을 듣고 싶었는데

그래도 오프닝 연설 때 얼굴본걸로 만족하고, 쩝~~ 년봉이 몇십억대 사람 치고는 청바지에 면티에 덥수룩한 수염에.. ㅋㅋ

결국 2시간동안 놀다가 다시 세션 4인 AJAX트랙을 들었습니다.

AJAX… 으하하하하하~~ 웃음 밖에 안나왔습니다.

ActiveX를 왜 쓰지 하는 생각이 확 들었습니다.

그리고, 웹 포탈의 개념이 완전히 틀립니다. 브라우저??? 그거 옛날 이야기입니다.

구글 데스크탑, 네이버 위젯 사용해 보시면 아시겠지만, 컴포넌트는 단순히 스크립트입니다.

무엇을 깔지도 않고, 설치도 없고 컴파일도 없고, Dynamic한 UI에 기존에 있는 표준들의 통합!!

강의자가 마지막에 이런 말을 하더군요

AJAX는 선택이 아니라 필수다!!!

크크~~ 또 갓길로 잠깐 세서…

각 트랙별 세션마다 책 한권씩을 선물로 줬습니다.

옆에 와이프가 옆구리 찔러 손들라구 해서 번쩍들어 올라간 손에 Head First JAVA servlet and JSP 한권이 쥐어졌습니다. ㅋㅋ

(원서니까 약 2~3만원 상당이니… 교제비 만원 빼고도 이득입니다.. ㅠㅠ;;)

역시, 와이프가 옆에서 설문지 작성해라 옷 준다더라~~ (원래 본인은 줄서는거 설문지 작성 이런거 잘안하는데…)

그래서 괜히 IBM booth에 가서 설문지 하나 쓰고, 면티한장 받아오고, SUN Booth가서 빨간코 인형 하나도 받아왔습니다.

제가 쭉 세션을 듣고 난 내용을 모두 사용/적용한 사이트가 있습니다.

바로 모두 알고 계신 야후의 지도 서비스입니다.

http://maps.yahoo.com

Flex와 AJAX를 사용한 사이트입니다.

한번 사용해 보십시오. 그리고, 국내 사이트와 비교를 한번 해보시면 될 듯합니다.

세미나를 다녀와서 이런 생각이 듭니다.

우선, 우리나라는 참~ 적용 기술적(?)으로 앞서 있는 듯합니다.

특히, 웹쪽은 우수한 인프라를 바탕으로 외국사이트와 비교해서 월등히 앞서 있는듯 보입니다.

하지만, 이 우수한 네트워크 인프라가 문제인듯합니다.

결국 사이트를 만들 때 높은 성능에 맞춰 만들다 보니 사이트가 무거운게 사실입니다.

그리고, 결국에는 모든 사이트가 우수한 한 사이트의 Copy이다보니 사이트가 모두 비슷비슷합니다.

, 여기에 투자도 많이 했습니다. 하지만, 요즘 웹사이트에 투자를 할까요..? 그리고, 웹 개발자들 요즘 똥값입니다. ㅠㅠ;;

외국의 경우에는 아직도 텍스트 위주의 사이트에서 머무르고 있습니다.

그리고, 부족한 네트워크 인프라 탓에, 여러가지 연구를 많이 한듯 합니다.

그래서 나온 기술 들이 결국에는 표준화 과정을 거쳐 이렇게 배포 됩니다.

국내의 웹사이트들은 훌륭하지만, 개발자들의 능력도 높아 보이지만, 순수 국산 출신의 기술은 하나도 없습니다.

왠지 아이러니합니다.

우리들은 왠지 토끼같이 뛰어와서 결국에는 언덕 하나를 넘었지만, 이제 여기서 낮잠을 청하고 있는듯 합니다.

하지만, 그들은 개구리 처럼 한참을 움츠리고 있다가, 도약을 준비하여 이제 드디어 뜀뛰기를 시작하는듯 합니다.

왠지 내일은 그들이 앞서 있을 듯 합니다. ㅋㅋ

컨퍼런스 자료가 아직은 파일로 배포 되지 않아서 책으로만 가져왔습니다.

관심있으신분들은 한번씩 살펴보세요.

그런데, 저도 딴 세션들 교제로만 한번 살펴보니 먼소린지 모르겠습니다 ㅠㅠ;;;

여튼, 괜찮은 주말이였습니다.

크리에이티브 커먼즈 라이센스
Creative Commons License
이올린에 북마크하기(0) 이올린에 추천하기(0)

Posted by akiss4u

2006/02/20 09:18 2006/02/20 09:18
,
Response
No Trackback , No Comment
RSS :
http://akiss4u.co.kr/blog/rss/response/15

요구공학 수업 후기

2월 1일부터 3일까지 3일간 요구공학에 관한 교육을 받고 왔습니다.

요구공학이라 함은 한마디로 고객의 요구사항을 이해하고 이를 프로젝트에 반영하는 방법에 대한 이론입니다.

일반적인 소프트웨어공학, CBD 개발 방법론이나, 정보공학에서도 많이 나오는 내용으로 현실에는 참 적용되기 힘든 이론중 하나입니다.

하지만, 교육을 받으면서 새롭게 느낀 부분이 몇 가지 있어 공유하려고 합니다.

(SM 보다는 SI에 해당하는 내용이기에 요구사항을 Service Request로 보기는 힘드니 감안하시고 이해해주세요.)

첫째, 요구사항은 반드시 그 종류를 구분하여 이해하여야 한다.

사용자가 원하는 요구사항을 Use-Case를 표현하기 시작하면, 왠지 표현이 되기 힘든 요구사항들을 경험하셨을것이라고 생각됩니다.

그 이유가 바로 요구사항도 그 종류가 있음을 무시하고 억지로 Flow형태로 표현하려고 하였기 때문이라 생각됩니다.

요구공학에서는 사용자의 요구사항을 다음과 같이 구분/분류합니다.


위와 같이 분류를 해놓고 보면 시나리오로 표현 될 수 있는 것은 따로 존재함을 알수 있습니다.

물론 분류 하기 애매모호한것도 있겠지만, 실상황을 잘 대입해보시면, 나름대로 명확하게 분리 될 수 있었습니다.

그리고, 이렇게 요구사항을 분류/분리하는 작업이 결국에는 각종 문서를 만드는 기본이 됨으로 힘이 들어도 한번 해놓는 것이 좋을듯합니다.

>       데이터정의 요구사항 => 데이터 정의서

품질특성 요구사항 => Service Level Agreement

기능요구사항 => Function 리스트

시나리오 요구사항 => USE-CASE Diagram

외부 I/F 요구사항 => 인터페이스 정의서

이렇게 분류 해놓고 보면, 개발을 하는 입장에서도 어떤 부분의 요구사항이 부족한지가 확연히 보이는 장점도 있습니다.

둘째, USE-CASE의 고정관념을 깨라!

이 부분은 교육을 받는 사람들 사이에서도 논의가 많았던 부분입니다.

, CBD방법론으로 공부 하신분 들은 실제로 USE-CASE가 없으면, 다음 단계를 진행할 수 없습니다.

(실제로 Rational Rose같은 프로그램으로 개발할때는 Use-Case로 그린 것이 그대로 Package나 Class로 자동 생성됩니다.)

강사가 말하는 요구공학상에서의 USE-CASE는 관련자(요구사항 요청자/개발자/시험자)가 요구사항을 이해 하기 쉽게 Diagram으로 표현한것이다.

, 뻔한 내용을 USE-CASE로 그리는 것은 시간낭비다. 모호한 시나리오에 대한 의사소통 수단으로 사용되어져야한다.

결론적으로 어떤 방법이 맞는 것인가는 여러분이 결정할 몫이지만, 게시판마다 Use-Case는 그리는 것은 왠지 아닌듯합니다.

, 보통 우리가 생각하는 Use-Case는 Diagram을 많이 생각합니다.

하지만, Use-Case는 텍스트 형태로도 작성되어야 합니다.



위가 Text형태로 작성된 Use-Case입니다.

상당히 좋은 Templete인 듯합니다. 향후 저희 파트에서도 SI 프로젝트 진행 시 사용해 보았으면 합니다.

셋째, 요구공학은 이론이지만, 꽤 괜찮은 이론이다.

실제로 요구공학 수업을 들으면서 계속해서 느낀 것입니다.

여러가지 중복되는 부분도 많고 단계도 참 많습니다. 요구개발 단계에서만 약 16단계가 있습니다.

이것들을 모두 실행하려면, 결국에는 프로젝트를 위한 방법론이 아닌 방법론을 위한 프로젝트로 주객이 전도될 위험이 상당히 많습니다.

하지만, 결론적으로 제공하는 여러가지 Template이라던지 굵직한 Flow는 상당히 현실 적합한 부분이 많습니다.

이에, 실제로 교육 기회가 없으셨던 분들도 한번은 훑어 볼만한 이론이라 생각됩니다.

강의문서도 상당한 양이고, 실습도 많았지만, 모든 내용을 보실 필요는 없을 듯 하고 요구개발쪽 모듈만 한번 보시면 될 듯합니다.

실제로 예제가 많아, 이해하시는데에는 크게 무리 없을듯합니다. 혹시라도 질문있으시면 해주시고, 꼭 한번 훑어봐 주세요 ^^;;;;

크리에이티브 커먼즈 라이센스
Creative Commons License
이올린에 북마크하기(0) 이올린에 추천하기(0)

Posted by akiss4u

2006/02/16 21:58 2006/02/16 21:58
,
Response
A trackback , a comment
RSS :
http://akiss4u.co.kr/blog/rss/response/16