태터데스크 관리자

도움말
닫기
적용하기   첫페이지 만들기

태터데스크 메시지

저장하였습니다.


2008/07/29 15:29

[SA강좌] Part 1-16 서비스 시스템의 목표




주의 : 아래 글은 전적으로 개인적으로 짧은 지식과 소견으로 쓰는 글입니다. 제 전공은 경제학이나 국제금융도 아니고 외환이나 주식관련 애널리스트도 아닙니다. 따라서 아래 정보를 활용해서 발생하는 손실이나 손해에 대해서는 아무런 책임을 질 수가 없음을 밝힙니다. 그리고, 여기에 쓰는 글은 여기저기 널려있는 수많은 정보중에서 제 맘대로 발췌해서 만든내용일 가능성이 대다수입니다. 이 정보를 자신을 위해 사용할 때의 결정은 자기자신만이 할 수가 있는 것이기 때문에 이 글을 읽으실때에는 그냥 편하게 읽어주십시요.
참고로... 저는 무정부주의자도 아니고, 누구를 모함하거나 잘못된 정보를 전달하기 위해 만들어진 글도 아닙니다. 정부의 정책을 반대하는 것도 아니고, 동조하지도 않습니다. 그냥 개인적인 의견이므로 다음부터 나열되는 글을 읽기가 걱정되시면 그대로 페이지를 닫아주시기 바랍니다. 저는 미네르바 처럼 잡혀가기 싫습니다.


서비스 시스템의 목표


아키텍트는 소프트웨어 복잡도를 해결하면서 시스템의 품질 속성을 획득해야 한다. 이 서비스 시템은 물론 변경도 용이해야 한다.

유지보수성, 확장성, 재구조화성, 이식성을 가져야 한다는 점이기도 한다.




  • 소프트웨어 복잡도 해결
  • 시스템의 품질 속성 획득
    • 변경용이성
      • 유지보수성, 확장성, 재구조화성, 이식성
    • 상호운영성
    • 효율성
    • 안정성
      • 고장 감내, 강건성
    • 시험요잉성
    • 재사용성
  • 문제를 해결하기 위한 기본 테크닉들
    • 추상화, 캡슐화, 정보은폐, 모듈화, 고려사항의 분리, 결합력과 응집력,
    • 충분-완전-원시성, 정책과 구현의 분리, 인터페이스와 구현의 분리, 한번의 참조, 분할 정복

그러나, 아키텍트들이 주의하여야할 점들이 있다.


가장 훌룡한 아키텍쳐는 목표시스템과 어울려야 한다는 것이다.


그렇다면. 반문할 수 있다. 어떤 아키텍쳐가 최선의 아키텍쳐냐고? 당근, 답변은 없다.


'그때 그때 달라요'


이런 예를 들어보자, 정말 엄청나게 짧은 기간에 대량의 데이터를 읽어서 실시간으로 레포트를 출력하는 프로그램을 만드는데 조직원들의 구성도 초보개발자들로 구성되어 있는데다가, PM도 성질을 부리고 고객도 성깔깨나 있는 곳이라면 어떻게 할것인가?

더군다나, 한 보고서 출력시 1초를 넘기면 안된다고 성질을 부리고 있다면?


물론, 아주 멋진 아키텍쳐를 제안해서 만들고 싶다.

AJAX로 화면을 구성하고 Spring Object로 비즈니스 컨테이너를 사용하고 하이버네이트로 OR맵핑을 한 아주 멋진 구성을 들이민다면?


아마도, 개발자들이 나자빠질것이다.


차라리.. 4GL도구나 레포팅 툴을 사용하십시요. 라고 제안을 하는 것이 올바른 아키텍트이다.

또하나의 주의점은 가이드라인이나 아키텍쳐라는 것 자체가 개발자들이 보기에는 무시무시하고 배우기 싫고. 귀찮은 부분이라는 점이다. 아마도, 개발을 진행하면서 무수히 많은 도전을 받을 것이기 때문에. 인내심과 이해관계자들을 설득하려는 뛰어난 구강신공을 가지는 것이 좋다.


아니면, 아예.. 고객을 설득해라!


심플하고 반복하지 않는 것!

크리에이티브 커먼즈 라이선스
Creative Commons License



Trackback 0 Comment 0