2015년 8월 4일 화요일

프레임워크와 어플리케이션 동시개발 핵심기법 Part 2


  • 프레임워크의 기능을 어떻게 제공해야 할까요? 
       mall Functions Pattern
  • 프레임워크에 대한 확신을 심어줄 수 있는 방법은? 
       User Involvement Pattern
  • 프레임워크의 테스트는 어떻게 진행하죠? 
       Tests Based on Pilot Applications Pattern
  • 기능(functionality)을 추가해 달라는 요청이 들어왔어요. 
       Double Change Request Pattern

Agile ALM : 릴리스 관리 핵심현안 및 이를 위한 릴리스 관리 Tool 소개

애자일 방법론(Agile methodologies)은 빠른 배치주기(deployment cycles), 분산개발(distributed development) 등을 위해 개발에서 품질관리까지 일련의 SW개발 흐름을 세심하게 관리할 수 있는 릴리스 관리가 요구 됩니다. 테스트 자동화(test automation) 또한 릴리스들의 통합에 대한 요구 및 릴리스 관리 툴들에 대한 부차적인 요구들을 지니고 있습니다. 다행히 이러한 요구들을 충족시키는 많은 상용 릴리스 관리툴과 오픈소스 릴리스 관리 툴들이 있음에 따라 개발책임자들은 이러한 릴리스 관리 툴에 대한 장단점들을 파악하고 개발에 실제 적용시킬 필요가 있습니다.

  • 릴리스 관리 (Release management) 의 핵심현안 및 요구기능
  • 상용 릴리스 관리 툴 소개
  • 오픈 소스 릴리스 관리 툴
자세히 보기 →

프레임워크와 어플리케이션 동시개발 핵심기법 Part 1

요즘은 프레임워크를 사용하는 것이 보편화 되어있습니다. 개발자들이 어플리케이션에서 필요한 기능들을 지원해주는 프레임워크를 찾아서 적용하는 일이 매우 보편화되어 있습니다. 개발자는 프레임워크 덕분에 비교적 손쉽게 복잡한 기능을 쉽게 적용할 수 있게 되었습니다. 하지만, 좀 더 냉정하게 현실을 들여다보면 어플리케이션 개발자의 모든 고민을 마법처럼 한 번에 해결해줄 수 있는 완벽한 프레임워크는 존재하지 않습니다. 프레임워크 개발자 입장에서 모든 개발자의 요구사항을 고려하여 다양한 문제를 해결할 수 있도록 적절한 추상화 수준을 찾아서 프레임워크가 제공하는 기능을 일반화시키는 것은 쉬운 일이 아니기 때문입니다. 오히려, 그러한 시도들은 프레임워크를 망가지게 하는 원인이 되기도 합니다. 더군다나 프레임워크는 구축하는 데 필요한 비용이 어플리케이션보다 비쌉니다.

프레임워크와 어플리케이션 함께 개발하기

패턴언어 소개
1. 프레임워크와 어플리케이션을 함께 개발해야 되는 이유? 
   (Framelets for Multiple Use Pattern)  .
2. 프레임워크를 개발하는데 예산이 얼마나 필요할까?
  - Budget Factor 2.5 Pattern
3. 프레임워크에 대한 요구사항 분석은 어떻게 할 수 있을까?
  - Two Pilot Applications Pattern

2015년 8월 1일 토요일

음성인식 기술의 미래, 자율학습 능력을 갖춘 대화형 서비스로 진화 요구

Apple의 음성인식 비서 서비스 Siri가 인기를 끌고 있는 가운데, 현재 음성인식 서비스는 사용자의 요구와 질문을 사용자의 이용 내력과 상황에 맞게 판단할 수 있는 자율 학습능 력이 부족하다는 지적이 제기 됩니다. 관련 업계 전문가들은 사용자의 수동 설정 없이도 질문 종류를 스스로 깨달아 답할 수 있는 기계학습 능력을 갖춘 대화형 음성인식 서비스가 요 구된다고 공감대를 형성 합니다.

  • Apple의 음성인식 비서 서비스 Siri가 음성인식 기술의 대중화를 주도하고 있는 가운데, 음성인식 기술의 미래는 자율적인 기계학습 능력을 바탕으 로 한 대화형 비서 서비스로의 진화를 의미한다는 주장이 제기.

  • Nuance의 음성인식 솔루션 브랜드 ‘Dragon’의 Peter Mahoney 데스크탑 부문 마케팅 임원은 “향후 수년 간 음성인식 기술은 일상적인 질문에 보 다 적절한 답을 내놓을 수 있는 ‘대화형 비서’로 크게 발전할 것”이라고 주장.


SW테스팅 서비스 시장의 6가지 Top 트렌드

전세계 많은 기업들의 SW테스트 서비스에 대한 수요가 높아지면서, SW테스트 시장의 가파른 성장세가 기대되고 있습니다. PAC에 따르면, 기업들이 연간 500억 달러 이상을 SW테스트 및 품질보증에 투자하는 것으로 나타나고 있습니다. NASSCOM도 테스트 서비스 시장 규모가 2020년까지 연평균 17%의 높은 성장세를 나타낼 것으로 전망 합니다.

*SW 테스트 시장은 SW트렌드의 급격한 변화에 의한 품질 보증의 필요성에 따라 지속적으로 성장할 것으로 전망

*SW테스트 서비스 시장의 6대 트렌드를 다음과 같이 전망

  1. 모바일 애플리케이션 테스팅(Mobility Application Testing)
  2. TaaS 서비스(Testing-as-a-Service)
  3. 상호 클라우드 테스팅(Cross cloud testing)
  4. 비즈니스 인텔리전스 테스팅(Business Intelligence Testing)
  5. 크라우드 소싱 테스팅(Crowd sourced Testing)
  6. 데이터 생성 및 관리 테스트를 통한 테스팅 서비스 수요 촉진(Testing catalyzed through test data generation and management)
자세히 보기 → 

SW공학트렌드.동향분석 웹진 [제88호~제130호]




2015년 7월 31일 금요일

SW개발 버그, 이를 식별하고 방지하는 방법

아무리 뛰어난 SW개발자라 할지라도 SW코딩에 나타나는 버그를 피할 수는 없음에 따라 이를 먼저 식별하고 최소화하는 방안이 필요합니다. 버그를 방지하기 위해서는 프로젝트 초기 요구사항 분석단계를 명확히 하며 프로젝트 참여인력 간 SW개발목표 및 프로세스를 공유하고 이해하는 것이 중요합니다.

SW 개발에 있어 버그는 피할 수 없는 어려움이며 , 다만 이를 먼저 식별하고 최소화하는 방안 마련이 필요

  • SW 개발 프로세스는 ‘ 요구분석 (Requirement), 설계 (Design), 개발 (Development), 테스트 (Testing), 구현 (deployment)’ 의 다섯 단계로 구성되어 있으며 , 각 단계에서 다양한 종류의 버그들이 나타날 수 있습니다.


간단한 SW 개발 프로젝트가 점차 관리하기 어렵도록 복잡하게 만드는 주요 원인은 고객의 잦은 요구사항 변경과 참여 인력의 대폭 증가임

  • 일반적으로 프로젝트가 진행됨에 따라 코드라인이 증가할 뿐만 아니라 SW 개발목표가 지속적으로 변경되는 등 점점 복잡해지는 경향을 보입니다.
  • 또 다른 요인은 프로젝트 참여인력의 증가로 인한 개발목표달성 측면의 커뮤니케이션 오류 위험이 대폭적으로 높아집니다.


이러한 버그를 방지하기 위해서는 요구사항관리가 매우 중요하며 , 프로젝트 참여인력 간 원활한 의사소통 등이 주요 요소라 할 수 있음

  • 프로젝트 수행초기 요구사항관리가 버그를 방지하는 가장 효율적인 방법입니다.
  • 유닛 테스트 역시 버그를 방지하는 좋은 방법으로 유닛 테스트는 개발단계에서 만 활동되는 것이 아니라 코드 테스트 및 회귀 버그도 방지할 수 있습니다. 
  • 궁극적으로는 버그를 방지하고 문제를 해결하기 위해서 프로젝트 참여 인력 간 소통이 매우 중요합니다.
  • 이 외에도 버그픽스를 좀더 활용하여 코드 퀄러티를 높이고 자동화된 테스트를 최대한 활용하여 버그가 재현되는 일이 없도록 하는 것이 필요합니다.