2015년 7월 29일 수요일

웹 개발을 위한 효율적 테스트

  • 테스트가 중요한 이유
  • 테스트 구간에서 자주 발생하는 문제점들
  • 효율적 개발을 위한 테스트 팁
  • 발생 가능한 예외 상황에 대한 테스트 및 대응
  • 단위별 부하 테스트
  • 주기적인 시스템 모니터링
  • 다양한 환경에서의 테스트 수행
  • 화면 중심의 의사소통


 자세히 보기 →

2015년 7월 28일 화요일

SW공학 웹진

매주 공학 트랜드, 인사이이드 이슈, 동향 브리핑 등 최근 소프트웨어에 관한 정보를 확인하실 수 있는 웹진이 발행되고 있습니다.

Cloud Computing 기반의 Smart Working 시스템

스마트워킹 (Smart Working) 에 관한 관심이 매우 높아지고 있습니다 . 특히 클라우드 컴퓨팅과 다양한 스마트 디바이스를 이용한 SaaS(Software as a Service) 에 대한 활용을 통하여 기업 및 조직의 경쟁력과 조직원 및 개인의 업무 능력을 향상시키기 위한 노력들이 전 세계적으로 펼쳐지고 있습니다.

전 세계적으로 공장 및 현지 사무소 등을 운영하고 있는 회사에서는 전 세계적으로 협업을 추진할 수 있는 스마트워킹 시스템이 이제 필수적입니다 . 특히 , 다양한 스마트 디바이스와 연계하여 언제 어디서나 다양한 방법으로 커뮤니케이션을 촉진하고 더 나아가 스마트워킹을 위한 다양한 시스템이 필요한 시점입니다 .

하지만 아직 국내외적으로 이러한 시스템을 개발하기 위한 효율적인 소프트웨어 아키텍처가 부재한 것이 사실입니다 . 기술적으로는 클라우드 컴퓨팅과 관련된 다양한 기술을 이용하여 효율적인 관리 및 비용의 감소를 추구할 수 있습니다.

이에 따라 위와 같이 스마트워킹을 위한 솔루션은 클라우드 컴퓨팅을 중심으로 협업 솔루션과 스마트디바이스를 지원할 수 있어야 합니다 . 만약 이러한 솔루션을 제고한다면 기업 및 조직 등에 많은 발전을 견인할 수 있을 것으로 판단합니다.

자세히 보기 →

소프트웨어 아키텍처 분석방법

소프트웨어 아키텍처 분석 목적 및 배경

1. 소프트웨어 아키텍처 분석 목적

시스템의 아키텍처에 대한 가장 중요한 사실 중 하나는 , 비록 소프트웨어가 아직 개발이 되어 있지 않는 상황에서도 소프트웨어 아키텍처는 시스템의 중요한 요소에 대해서 표현하고 있다는 것입니다 . 소프트웨어 아키텍처를 바탕으로 이해관계자 및 아키텍트는 중요한 의사결정을 할 수 있게 될 뿐만 아니라 예상되는 사이드 이펙트 (side effect), 위험요소 및 시스템 구성에 대한 예측을 할 수 있게 됩니다 . 만약 소프트웨어 아키텍처가 없다면 이해관계자나 아키텍트 , 혹은 관리자들이 쉽게 파악할 수 없는 소프트웨어에 대해서 특별한 해결책 없이 의사결정을 해야만 하고 그로 인한 위험이나 불확실성은 시스템의 규모가 크고 복잡해질수록 기하급수적으로 커지게 됩니다 .

아키텍트가 소프트웨어 아키텍처를 파악할 수 있게 되면 , 정교한 의사결정이 가능하게 되고 , 우선순위화도 쉽게 결정할 수 있게 됩니다 . 또한 , 다양한 아키텍처의 팁 및 패턴의 적용이 가능 하여 , 소프트웨어 시스템이 더욱 견고해지고 개발과 유지보수가 용이해 지게 된다 . 이러한 이유로 소프트웨어 아키텍처는 “ 분석 가능한 ” 상태이어야 합니다 . 다시 말해 , 소프트웨어 아키텍처가 분석 가능하면 이해관계자 및 아키텍트는 중요한 의사결정을 내릴 수 있을 뿐만 아니라 , 성공하는 소프트웨어를 위한 다양한 전략 및 패턴의 적용이 가능하고 , 개발자와 테스터들도 분석된 소프트웨어 아키텍처를 기반으로 개발 및 검증이 가능하여 보다 견고한 소프트웨어 시스템을 개발 및 배포할 수 있게 됩니다 . 또한 , 소프트웨어의 지속성 및 업데이트를 고려하여 다양한 소프트웨어 아키텍처의 발전 및 유지 보수가 가능하게 됩니다 . 이러한 소프트웨어 아키텍처의 분석은 심지어 아직 개발이 완료되지 않은 소프트웨어에 대해서도 충분히 적용이 가능합니다 .

2. 소프트웨어 아키텍처 분석 시점

일반적으로 가능한 이른 시점에 소프트웨어 아키텍처를 분석하면 할수록 비용절감의 효과를 크게 노릴 수 있습니다 . 즉 , 문제를 빨리 발견할수록 고치기가 쉬워지며 요구사항이나 스펙 , 특징 , 기능 등 필요한 부분에 쉽게 적용시킬 수 있습니다 . 소프트웨어 품질은 프로젝트의 마지막 부분에 점검하는 것이 아니고 , 가능한 시작점으로부터 시작되고 그 품질 검증이 프로젝트의 마지막까지 , 테스트 마지막 시점까지 연결되고 상속되어야 합니다 .

소프트웨어 아키텍처를 분석하는 시기에 대해서는 특별히 정해진 단계나 프로세스는 없으나 , 일반적으로 소프트웨어 아키텍처를 분석하기 위한 최적의 시점은 디자인 단계로 이야기됩니다 . 그러나 소프트웨어 아키텍처 분석은 많은 단계에서 수행되면 다양한 문제점 분석 및 소프트웨어 아키텍처의 개선을 가져올 수 있기 때문에 , 전체 소프트웨어 프로젝트 라이프 사이클 단계에서 몇 개의 지점을 선택하는 것이 좋습니다 . 만약 소프트웨어 아키텍처가 아직 정해져 있지 않고 많은 의견이 오가는 단계이면 , 여러 가지 의사 결정을 위해 소프트웨어 아키텍처 분석을 실시할 수 있고 , 이미 소프트웨어 아키텍처가 정해지고 개발을 진행하는 단계라면 , 개발이 소프트웨어 아키텍처를 잘 참조하여 개발하고 있는지 혹은 개발에 문제가 있거나 다시 고려해야 할 아키텍처 요소가 없는지 , 아니면 소프트웨어 아키텍처를 재설계할 필요가 있는지를 파악하기 위해서 분석을 실시 할 수 있습니다 . 이미 개발되고 완료된 소프트웨어 프로젝트나 레거시 코드라면 소프트웨어 아키텍처를 분석을 통해서 기존 아키텍처를 쉽게 파악하면서 , 개선이나 유지보수가 필요한 점을 찾을 수도 있고 , 재활용한 컴포넌트나 구조에 대해서 자산화 (asset) 을 할 수 있습니다 . 그리고 다른 시스템이나 다른 구조로 적용 (porting) 을 위한 레거시 시스템의 분석 기준으로도 삼을 수 있습니다 .

결국 , 소프트웨어 아키텍처 분석은 소프트웨어 시스템이 품질 속성이나 시스템의 요구사항을 어떻게 잘 만족시키고 있냐를 다수의 사람들이 쉽게 이해하고 파악할 수 있는 최고의 발굴 행동 이라고 할 수 있습니다 .
더군다나 , 만약에 매우 크고 긴 개발기간을 가진 소프트웨어 시스템이라면 , 개발팀이 소프트웨어 아키텍처 분석을 통해서 전체적인 큰 그림과 디자인을 파악하고 , 후보 아키텍처와 트레이드 오프에 대해서 상호 토론을 통해서 발전시켜 나가는 것이 매우 중요합니다 . 이러한 것을 통해서 개발팀은 중요한 품질 ( 속성 ) 에 대한 팀의 의견을 통일 시키고 지속성장 가능한 소프트웨어 아키텍처를 유지 , 발전 시켜나갈 수 있게 됩니다 .

2015년 7월 25일 토요일

관련지침개발 - 아키텍쳐 설계연구

아키텍처 설계연구는 수준이 낮은 중소SW기업이나 초급개발자 혹은 초급 설계자를 위해 SW아키텍처의 기본 개념을 전파하여 SW설계의 인식을 제고하기 위한 연구입니다.

급속한 성장을 거듭해온 SW개발 분야 중 특히 아키텍처 설계는 인식이 미비하고, 기업의 비밀에 속하는 대상으로 공개하거나 기술을 공유하는데 인색한 것이 현재의 상황입니다.
이에 SW아키텍처의 기본 개념을 전파하여 SW설계의 인식을 제고하고, 실용적인 아키텍처 설계 절차를 연구하고 이를 실제 적용하기의 위한 적용 가이드라인을 연구하여 SW품질 및 SW공학 역량 강화를 지원하고자 합니다.

SW아키텍처 수준이 낮은 중소SW기업이나 초급개발자 혹은 초급 설계자를 대상으로 SW아키텍처 기본 개념 및 일반적인 설계절차를 제공함으로서 SW아키텍처 설계에 대한 기반구축 및 개선사례를 확보하여 공유합니다.



SW공학기술 현장적용 지원 사업 예산지원

SW 공학기술 현장적용 지원사업은 SW 품질 및 생산성제고를 위해 기업에게 실질적으로 필요한 SW 공학기술영역 ( 요구사항 , 분석 / 설계 , 구축 , 테스트 , 유지보수 , 형상관리 , SW 공학관리 , 도구 및 기법 , SW 안전성 등 ) 에 대한 맞춤형 컨설팅을 지원해주는 사업으로 예산범위 내에서 최대 2 억원을 (SW 안전성 분야의 경우 ) 지원해 주고 있습니다 .

사업 추진방식은 사업수행단계(문제점분석 및 목표설정 -> 구축 -> 교육 -> 도구도입 및 활용 -> 시범사업 -> 성과분석)에 따라 SW개발/구현/유지에 필요한 표준 프로세스 정립과 SW공학도구 통한 자동화 구현을 목적으로 하고 있습니다.


SW공학센터, 학교로 찾아가는 직업체험활동 실시

SW 공학센터는 지난 7 월 16 일 홍익대부속여자중학교 1 학년 학생 중 SW 진로에 관심이 많은 18 명을 대상으로 ' 학교로 찾아가는 직업체험활동 ( 전문직업인과의 만남 )' 을 진행했습니다 .

이는 여름 방학 직전에 학생들이 평소 많은 관심을 가지는 SW 분야의 진로를 탐색하는데 도움을 주고자 진행되었으며 , 윤지석 수석과 배현석 책임이 참여하였습니다 .