Power Designer와 ERWin의 비교
Data Architecture 2012. 2. 16. 16:38'Data Architecture' 카테고리의 다른 글
12인이 말하는 ‘아키텍트의 길’ (0) | 2010.11.05 |
---|---|
OLAP의 정의와 활용 (0) | 2010.09.15 |
The Nine Circles of Data Quality Hell (0) | 2010.08.13 |
'Data Architecture'에 해당되는 글 4건Power Designer와 ERWin의 비교Data Architecture 2012. 2. 16. 16:38'Data Architecture' 카테고리의 다른 글
12인이 말하는 ‘아키텍트의 길’Data Architecture 2010. 11. 5. 11:39최고 아키텍트와의 가상 인터뷰 12인이 말하는 ‘아키텍트의 길’ 아키텍트로서 성장하기 위한 길은 막막하게 느껴지곤 한다. 누구에게 아키텍트로서 가야 하는 길을 물어야 할 것인가? 산전수전 다 겪은 나이가 지긋한 아키텍트로 활동 중인 사람을 만나기란 하늘의 별따기다. 따라서 필자는 업계 최고의 아키텍트들의 조언을 모아 가상의 인터뷰를 진행해 봤다. 이 인터뷰의 내용은 필자가 PLoP라는 패턴학회에서 만난 해외 거장들과의 토론과 조만간 출간될 번역서인 『아키텍트가 알아야 할 97가지』의 내용을 모아 만들었다. EVA네(정리 - 손영수) arload@live.com|
요구사항 Rick Kazman 실제 프로젝트는 요구사항 분석에서부터 시작한다고 할 수 있죠. 이때 아키텍트가 가져야 할 중요한 덕목은 소통과 협상 능력입니다. 설계 능력 못지않게 중요한 능력이 Social Skill입니다. 다양한 이해당사자들이 모두 만족할 수 있는 시스템을 만든다는 것은 어쩌면 불가능에 가까운 일입니다. 이해당사자들의 요구사항들이 서로 충돌하는 경우도 많이 경험했습니다. 빠른 메시지 전송뿐만 아니라 높은 보안 수준을 요구한다거나, 자원의 제약이 심한 임베디드 시스템에서 고성능 PC에서나 가능한 퍼포먼스를 요구하는 것들을 예로 들 수 있죠. 아주 적은 금액으로 모든 문제를 해결해 엄청난 효과를 누리려는 이해당사자에게 정말 기간 내 구현 가능하고 필요한 기능을 뽑아 현실에서 실현 가능한 상황에 대해 이해시키는 것이 중요합니다. 만약 여기서 이해당사자들과의 합의를 이끌어내지 못하거나, 정확한 요구사항을 파악하지 못한다면 프로젝트는 초창기부터 산으로 가게 됩니다. 그 만큼 소통과 협상 능력은 아키텍트에게 설계 능력만큼 중요한 요소라는 점을 기억해 주시길 바랍니다. 프로세스와 팀 구축 James O. Coplien 전 프로세스와 조직에 대한 이야기를 꺼내고 싶습니다. 혹시 Conway의 법칙을 아시나요? 이는 여러분이 하나의 컴파일러를 만들기 위해 4개의 팀을 만든다면, 여러분은 4단계(four-pass) 컴파일러를 얻게 된다는 것입니다. 즉 조직구조에 의해 소프트웨어 구조가 정해진다는 얘기입니다. 이미 팀이 구성된 후 요구사항을 분석한다면, 팀 구조에 맞춰 분석이 이뤄지기 때문에, 팀 구조 그대로 소??어의 특성을 파악하기도 전에 소프트웨어의 큰 구조를 정하는 우를 범한 것입니다. 만약 팀 구성 후, 어느 팀도 맡기 애매한 요구사항을 발견했다면, 이 사각지대를 서로 맡지 않기 위해 여러 가지 복합적인 일들(정치, 책임회피 등)이 발생하게 됩니다. 이 경우 종종 프로젝트가 산으로 올라가게 됩니다. 그야말로 길을 잃는 것이지요. 그래서 팀을 구축하기 이전에 비즈니스 프로세스를 정제할 필요가 있습니다. 비즈니스 프로세스를 정제한 후에 조직을 구성해야 책임의 사각지대가 생기는 것을 막을 수 있죠. 설계 손영수 그럼 설계 시 고려해야 할 것은 무엇입니까? - 반복 가능한 테스트 케이스를 만들고 자주 실행하기
개발 Erik Doernenburg 아키텍트는 현재 개발하고 있는 소프트웨어가 얼마나 잘 개발되고 있는지를 파악할 수 있어야 합니다. 사용자에게 가치 있는 소프트웨어도 중요하지만, 내부적으로 좋은 품질을 유지하는 것도 중요하죠. 좋은 품질을 얻기 위해서는 쉽게 소프트웨어를 이해, 유지보수, 확장할 수 있어야겠죠. 그럼 소프트웨어가 잘 개발되고 있는지 매 순간 상황을 파악하기 위한 방법에는 어떤 것이 있을까요? 많은 이들이 UML로 그려진 아키텍처 다이어그램을 사용합니다. 하지만 아키텍처 다이어그램에서 작은 상자들은 전체 시스템을 나타내며 상자 간의 선은 시스템 간의 의존성, 데이터 흐름, 버스와 같은 공유자원 등 모든 것이 될 수 있습니다. 마치 비행기에서 보는 풍경과 같은 30,000피트 뷰입니다. 너무나 추상화되어 있는 관점이죠. 반면에 0피트, 즉 바닥 레벨의 뷰를 보기도 합니다. 즉 소스 코드를 보는 것이지요. 바닥 레벨의 뷰는 연관 있는 몇 개의 객체 구조도 보지 못할 정도로 너무나 많은 정보를 제공합니다. 즉 이 두 뷰는 소프트웨어 품질에 대한 많은 정보를 제공하지 못한다는 것이지요. 그래서 0피트와 30,000피트 사이에 적절한 뷰가 필요합니다. 바로 1,000피트의 뷰입니다. Dependency Structure Metrics로 모듈 간의 의존성을 파악할 수 있으며 Code Metrics를 이용해 클래스의 크기를 파악할 수 있습니다. 특정 클래스가 거대하다는 것은 너무나 많은 책임(역할)을 가지고 있다는 의미죠. 이러한 다양한 지표들(클래스 팬아웃, 메소드 개수, Circular Dependency 등)을 지원하는 사용 툴들(NDepend, XDepend, JDepend)을 이용하면 됩니다. - 리스크를 관리하는 조직화된 접근 방법을 만들어야 합니다. 리스크를 관리하는 간단한 방법은 여러분이 버그를 추적할 때와 같은 방식으로 리스크를 관리하는 것입니다. 누구나 리스크를 발견할 수 있고, 각각의 리스크가 더 이상 리스크가 아닐 때까지 추적할 수 있습니다. 그 후 리스크들에 우선순위를 매기고 리스크의 상태가 변화하거나 새로운 정보가 있을 때마다 리뷰를 합니다. 리뷰는 토론를 통해 감정적인 면을 배제하도록 도와주고 주기적으로 리스크를 재평가함으로써 쉽게 기억하도록 도와줍니다. 손영수 개발 도중에도 아키텍처만 그려주고 사라지는 아키텍트가 아닌, 팀원 간 또는 이해당사자 간에 소통이 잘되는 문화를 만들고 잘못된 방향으로 흘러가면 가이드해서 바로 잡아야 한다는 조언이군요. 그럼 아키텍트가 가져야 할 자세에 대해서도 조언 바랍니다. 아키텍트로서 갖춰야 할 자세 Dave Quick 아키텍트는 자신이 최고라는 대문자 ‘I’보다는, 일원이라는 의미를 가지는 소문자 ‘i’의 자세가 필요합니다. 아키텍처를 수립할 때, 여러분 스스로가 최악의 적이 될 수도 있습니다. 여러분이 고객보다 요구사항을 더 잘 이해한다고 생각하거나, 개발자를 아이디어를 구현하기 위한 단순한 자원으로 보거나, 여러분의 생각에 도전하는 개발자나 팀원을 무시한 경험이 있습니까? 성공이나 사회적 지위로 인해 자만하거나 다른 사람들이 우리를 존경한다는 착각을 가지고 있고, 자신이 만든 설계에 도전하는 것을 여러분 자신의 인격에 대한 도전으로 받아들인 경험이 있을 것입니다. 이것은 과거의 성공에 빠져 여러분을 더 작은 한계에 가두는 짓입니다. 아키텍트로서 스스로 성장하고 성공하는 프로젝트를 만들기 위해서는 여러분의 마음가짐을 바꿔야 합니다. 전 후배 여러분들에게 다음과 같은 자세를 요구합니다. - 요구사항은 거짓말을 하지 않습니다. 요구사항이 제공하는 비즈니스 가치를 이해하기 위해 고객과 가까이 일하십시오. 아키텍처를 여러분이 이끌려 하지 말고 요구사항이 이끌도록 하십시오. 여러분은 최선을 다해 그들의 필요를 섬겨야 합니다. 손영수 저도 그렇게 생각합니다. 제가 소문으로 들었던 몇몇 아키텍트들은 많은 반대에도 불구하고 자신의 생각을 관철시키곤 했습니다. 설계 자체의 옳고 그름을 떠나 개발자들과 소통 없이 일방적으로 자신의 생각을 강요했죠. 그 결과로 설계 따로, 개발 따로 하는 프로젝트가 되었다는 이야기를 들었습니다. 개발자를 이해하는 아키텍트, 그리고 아키텍트를 이해하는 개발자들이 모여야 정말 좋은 프로젝트로 갈 수 있을 것입니다. 마음가짐에 대한 또 다른 의견도 듣고 싶습니다. 출처 : 한국 마이크로소프트웨어
'Data Architecture' 카테고리의 다른 글
OLAP의 정의와 활용Data Architecture 2010. 9. 15. 10:08올랩 OLAP 의 정의 [ Online Analytical Processing ] 이용자가 직접 데이터베이스를 검색, 분석해서 문제점이나 해결책을 찾는 분석형 애플리케이션 개념. 대규모 데이터를 이용한 질의 검색 시 발생한 대량의 결과값을 단순히 사용하기는 어렵다. 대부분 이 같은 질의는 복수의 데이터 정보 테이블을 기반으로 처리되고, 요약화된 정보를 얻기 위해 연산 처리가 수반되어 장시간이 소요되기 때문이다. 올랩 툴 또는 올랩 서버는 온라인 검색을 지원하는 데이터 웨어하우스(DW) 지원 도구인데, 이 같은 대규모 연산이 필요한 질의를 고속으로 지원한다. 2. 직접 접근 3. 대화식 분석 4. 의사결정에 활용
OLAP 제품 분류
1. MOLAP(Multidimensional OLAP) 다차원 데이터베이스에 기반한 OLAP 아키텍처. 다차원 데이터의 저장과 프로세싱에 MDB가 사용된다. 타 아키텍처에 비해 네트워크 상의 데이터 이동이 최소화. ⇒ 다차원 데이터의 저장과 프로세싱에 동일한 엔진이 사용대표적인 제품 : 하이페리언 솔루션의 에스베이스, 오라클의 익스프레스, 파일롯 소프트웨어의 디시젼 서포트 등 2. ROLAP(Relational OLAP)
관계형 데이터베이스에 기반한 OLAP 아키텍처. 관계형 데이터와 클라이언트 사이의 연결역할을 수행. 대표적인 제품 : 인포믹스의 메타큐브, 인포메이션 어드벤티지의 디시전 쉬이트, 마이크로스트래 티지의 DSS에이젼트 등이 있다. 3. DOLAP(Desktop OLAP)
다차원 데이터의 저장 및 프로세싱이 모두 클라이언트에서 이루어지 는 데이터베이스.장점) 타 OLAP제품에 비해 비교적 설치와 관리가 쉽고 유지 보수가 용이 단점) 필요한 데이터가 모두 클라이언트로 이동될 필요 대용량 데이터 처리에 한계대표적인 제품 : 코그노스의 파워플레이, 브리오 테크놀러지의 브리오쿼리 등이 있다 4. HOLAP(Hybrid OLAP)
다차원 데이터의 저장 공간으로 다차원 데이터베이스와 관계형 데이터 베이스가 함께 사용될 수 있는 제품. 일반적으로 요약된 데이터나 관계식5에 의해 새로 계산된 데이터는 다차원 데이터베이스에 저 장되며, 상세데이터는 관계형 데이터베이스에 저장.대표적인 제품 : 오라클의 익스프레스, 마이크로소프트의 SQL서버 OLAP 등이다. 다차원모델의 구성 1. 모델 하나의 큐브(Cube), 예로 아래그림은 매출분석모델의 큐브이다. 2. 차원(Dimension) 큐브를 구성하는 축(Axis)이다. 매출분석 모델은 변수, 매장, 제품이라는 3개 차원으로 구성된 큐브이다. 3. 차원 항목(Member 혹은 Element) 각 축의 좌표에 해당하는 것이다. 매출분석모델에서 살펴보면 제품 차원은 냉장고, 세탁기 등의 항목으로, 매장 차원은 반포, 잠실 등의 항목이 있다 4. 셀(Cell) 5. 계층구조(Hierachy) 다차원 모델을 구성하는 대부분의 차원들은 일반적으로 계층구조를 가진다. 계층구조는 레벨들 간에 혹은 항목들간에 존재할 수 있다. 항목들간의 가장 기본적인 관계는 패어런트(Parent)-챠일드(Child)관계이다. 패어런트는 계층구조에서 어떤 항목의 바로 상위항목을 나타내며, 챠일드는 바로 하위항목에 해당한다. 6. 레벨 계층구조는 레벨(Level) 사이에 존재 할 수 있는데, 예를 들어 기간 차원의 경우 '일-월-분기-반기-년'과 같은 다단계(레벨) 계층구조가 존재할 수 있다. OLAP의 장점과 단점 장점 - 강력한 시각화 도구
- 빠른,상호 교환적인 응답시간 - 통계량을 분석함에 편리함 - 자료를 찾기에 유용하다 - 많은 곳에서 OLAP제품을 제공한다 - 운영자의 프로그램 유지보수 비용의 최소화 - 프로그램 운영부담의 경감 단점
- 입방체를 설정하는 것은 어려울 수도 있다
- 지속적인 변수들은 취급하지 않는다. - 입방체 자료의 가치가 쉽게 떨어 질 수 있다 - 고객의 불만을 들어 주기 어렵다. 성공사례 (군단 전선관측 자료분석 시스템 OLAP 도입전 관측된 자료가 정보화가 되기까지 수작업에 의존 수작업에 의존하는 데이터 분석방식은 투입되는 시간과 노력에 비해 비효율적 정보실무자는 특정활동에 국한된 자료를 이용하여 단순통계를 구하고 분석할수밖에 없었음 OLAP 도입후 필요한 정보의 수집자산별, 첩보내용별로 구조화 과학적인 분석을 통해 적활동을 신속하고 정확하게 파악 복잡하게 느껴지던 분석업무의 체계화 보고서 작성의 최소화 전선관측 정보를 새로운 관점에서 보게 됨 성공사례 (록히드 마틴) OLAP 도입전 록히드의 부서는 종업원들과 business-management 정보, 신입 사원 및 관리직의 모집 정보, 위험과 전문적인 광고효과의 측정, 판매 그리고 예산비용, 그리고 고가 분석에 대한 프로그램을 만들기 위하여 접근 방법을 제공하는 것이 필요했다. OLAP 도입후 OLAP 도입후 회사는 중요한 사업 자료로부터 높은 수준의 보안을 필요로 했다. 상당한 노력으로 안전하게 자료를 보관할 수 있었고, 인증된 사용자들을 포함하여 접근자 들의 자료 접근을 분명히 하는 것에 효과적이었다. 결과적으로, 시스템 관리자들은 효율적으로 통제할 수 있었다. 그리고 OLAP 적용으로 인해 많은 외부의 사용자들이 자료와 상호 작용할 수 있는지를 관리할 수 있게 되었다 출처 : http://cafe.naver.com/sybaseealab/527 'Data Architecture' 카테고리의 다른 글
The Nine Circles of Data Quality HellData Architecture 2010. 8. 13. 16:28
In Dante’s Inferno, these words are inscribed above the entrance into hell. The Roman poet Virgil was Dante’s guide through its nine circles, each an allegory for unrepentant sins beyond forgiveness. The Very Model of a Modern DQ General will be your guide on this journey through nine of the most common mistakes that can doom your data quality project: 1. Thinking data quality is an IT issue (or a business issue) - Data quality is not an IT issue. Data quality is also not a business issue. Data quality is everyone's issue. Successful data quality projects are driven by an executive management mandate for the business and IT to forge an ongoing and iterative collaboration throughout the entire project. The business usually owns the data and understands its meaning and use in the day to day operation of the enterprise and must partner with IT in defining the necessary data quality standards and processes.
2. Waiting for poor data quality to affect you - Data quality projects are often launched in the aftermath of an event when poor data quality negatively impacted decision-critical enterprise information. Some examples include a customer service nightmare, a regulatory compliance failure or a financial reporting scandal. Whatever the triggering event, a common response is data quality suddenly becomes prioritized as a critical issue.
3. Believing technology alone is the solution - Although incredible advancements continue, technology alone cannot provide the solution. Data quality requires a holistic approach involving people, process and technology. Your project can only be successful when people take on the challenge united by collaboration, guided by an effective methodology, and of course, implemented with amazing technology.
4. Listening only to the expert - An expert can be an invaluable member of the data quality project team. However, sometimes an expert can dominate the decision making process. The expert's perspective needs to be combined with the diversity of the entire project team in order for success to be possible.
5. Losing focus on the data - The complexity of your data quality project can sometimes work against your best intentions. It is easy to get pulled into the mechanics of documenting the business requirements and functional specifications and then charging ahead with application development. Once the project achieves some momentum, it can take on a life of its own and the focus becomes more and more about making progress against the tasks in the project plan, and less and less on the project's actual goal, which is to improve the quality of your data.
6. Chasing perfection - An obsessive-compulsive quest to find and fix every data quality problem is a laudable pursuit but ultimately a self-defeating cause. Data quality problems can be very insidious and even the best data quality process will still produce exceptions. Although this is easy to accept in theory, it is notoriously difficult to accept in practice. Do not let the pursuit of perfection undermine your data quality project.
7. Viewing your data quality assessment as a one-time event - Your data quality project should begin with a data quality assessment to assist with aligning perception with reality and to get the project off to a good start by providing a clear direction and a working definition of success. However, the data quality assessment is not a one-time event that ends when development begins. You should perform iterative data quality assessments throughout the entire development lifecycle.
8. Forgetting about the people - People, process and technology. All three are necessary for success on your data quality project. However, I have found that the easiest one to forget about (and by far the most important of the three) is people.
9. Assuming if you build it, data quality will come - There are many important considerations when planning a data quality project. One of the most important is to realize that data quality problems cannot be permanently “fixed" by implementing a one-time "solution" that doesn't require ongoing improvements.
Knowing these common mistakes is no guarantee that your data quality project couldn't still find itself lost in a dark wood. However, knowledge could help you realize when you have strayed from the right road and light a path to find your way back. 출처 : http://www.ocdqblog.com/home/the-nine-circles-of-data-quality-hell.html Data Quality와 관련하여 쓰여진 글인데, 한번쯤 읽고 생각해보고 넘어가는 것도 좋을법한 내용이라 옮겨봅니다. ^^ 'Data Architecture' 카테고리의 다른 글
|