2016년 3월 8일 화요일

IoT 서비스 구축 동향

IoT Platform을 구성하는 Device, Service, Software 요소의 역할과 유기적 기능, 그리고 이 구성의 발전 동향을 살펴볼 수 있습니다.  

발표자: 김영욱 부장(Microsoft사 기술엔지니어)

2016년 3월 7일 월요일

UI/UX 적용개선 사례


UI/UX 지원을 받는 절차



실무진 UI/UX 교육

  1

UI/UX 개발 필요성

소프트웨어 산업이 발전하고, HW-SW 융합개발의 흐름으로 SW 개발수요가 확대되는 등 시장 경쟁이 치열해지는 상황에서 시장 경쟁력을 확보하기 위해 소프트웨어의 품질향상 및 차별화가 요구되고 있습니다.
소프트웨어가 최종적으로 소비자에게 전달될 때의 경험이 소프트웨어의 경쟁력이 되는 시점으로 기술적인 진보와 함께 디자인적인 완성도가 중요합니다.



 



SW자산뱅크 시스템에서 UI/UX 개발도우미 서비스를 통해 지원되는 검증된 UI/UX 개발요소를 활용하여, UI/UX 분야에 대한 개발비 및 인력, 전문적 노하우가 부족한 국내 기업들이 손쉽게 UI/UX를 개발함으로써, 개발기간은 단축시키고, 양질의 결과물을 도출하여, 소프트웨어 품질 경쟁력을 효율적으로 강화시킬 수 있도록 지원합니다.



실질적으로 국내 기업에서 UI/UX 개발은 SW 개발 프로세스 중 가장 비 전문분야에 해당되고, 전문적 디자인 분야임에도 기업 내부의 SW 개발자가 UI/UX 업무를 수행하는 것이 현실입니다. SW자산뱅크 시스템에서 UI/UX 개발도우미 서비스를 통해 활용할 수 있는 UI/UX 개발요소를 지원함으로써 개발소요기간 단축 및 개발인력자원의 효율적 운용을 지원합니다. 궁극적으로 사용자 중심의 UI/UX 개발을 통한 소프트웨어의 UI/UX 사용자 가치품질 향상을 목표로 합니다.



웹 기반 테스팅 도구 비교

웹 기반 테스팅은 테스트의 실행이 웹에서 진행되는 것을 말한다. 브라우저 동작을 모사할 수 있는 테스팅 도구인 HttpUnit, Phantom.js, Casper.js 와 실제 브라우저를 구동해서 테스팅을 실행하는 Selenium 이 웹 기반 테스팅 범주에 포함되며, 넓게 보면 웹에서 테스트 케이스를 작성할 수 있는 Fitnesse도 포함될 수 있다.




1. Fitnesse
SW개발 협업 도구로서 wiki를 통한 의사소통을 지원하고, 인수 테스트를 자동화 해주는 프레임워크다. 표(테이블) 형식으로 입력값, 파라미터, 결과값을 정의해서 개발자가 아닌 관련자들도 테스트 케이스를 작성하고 의사소통 할 수 있다.





2. HttpUnit
브라우저 없이도 API를 이용해 브라우저를 통해 서버에 접근하는 것처럼 모사해서 자바 웹 애플리케이션에 대한 브라우저 테스팅을 자동화 할 수 있게 해주는 도구다.






3. Selenium

Selenium IDE를 통해 Firefox 브라우저에서 사용자의 액션을 녹화하고, WebDriver를 통해 실제 브라우저를 실행해서 사용자의 액션을 재생해서 테스팅 할 수 있는 브라우저 테스팅 자동화 도구다.




2016년 3월 4일 금요일

형상관리도구 비교

형상 관리 도구는 소스 코드나 문서의 버전 관리, 이력 관리, 추적 등 변경 사항을 체계적으로 관리할 수 있는 기능을 제공하는 도구이다. 가장 널리 사용되는 도구는 CVS(Concurrent Versions System), SVN(Subversion), Git 이 대표적이다.




1. CVS(Concurrent Versions System)가장 오래된 형상 관리 도구 중의 하나로서, 중앙 집중형 서버 저장소를 두고 클라이언트가 접속해서 버전 관리를 실행한다.



2. SVN(Subversion)CVS와 같은 중앙 집중형 클라이언트-서버 방식이지만 CVS의 단점을 보완하여 현재 가장 널리 사용되고 있는 형상 관리 도구다. SVN은 CVS를 대체하기 위해 만든 도구로서 그 개념과 사용법이 CVS와 거의 유사해서, CVS 사용자가 어렵지 않게 SVN을 도입하여 사용할 수 있다.



3. Git


Git는 앞서 나왔던 CVS나 SVN과는 개념이 많이 다른 형상 관리 도구로서, 공개SW 커뮤니티를 중심으로 사용 저변이 많이 확대되고 있다. Git는 중앙 집중형 방식이 아닌 분산형 방식으로 각 로컬 PC에 스스로 완전한 저장소가 구성되며, 필요에 따라 중앙 집중형 방식으로도 운영할 수 있다.


프로젝트관리도구 비교

3개 관리 도구의 비교: Redmine, Gantt project, OpenProj


1. Redmine







주요기능
  일감 관리( 등록, 변경, 추적, 통보 등)
  문서관리, 파일관리, 위키 사이트 구축 
  이메일 통보
장점
  간략한 일정관리 가능 
  웹서버를 이용하여 다수의 인원이 협업할 수 있음
  프로젝트, 사용자 권한 등을 관리할 수 있음
  일감의 진행에 따른 이메일 통보 가능
단점  자원의 투입율을 관리할 수 없음
  휴일이나 일단위 작업시간을 설정할 수 없음
  Critical Path 식별을 위한 선후행 작업의 조건설정이 불가함


2. Gantt Project



주요기능 
  작업 관리( 등록, 변경 등)
  휴일, 작업시간 설정 기능
  인적자원 관리 기능
장점

  작업자 투입율과 연동하여 일정관리 가능
  Gantt 차트, 리소스 차트 지원
  휴일 달력 사용 기능
 단점  팀 협업이 어려움
  전체적인 사용성이 좋지못함
  일부 기능에는 한글사용이 원활하지 못함


3. OpenProj



주요기능 
  작업 관리( 등록, 진척확인, 변경이력관리 등)
  휴일, 작업시간 설정 기능
  인적자원 관리 기능
  예산기반 WBS 작업 기능, Earned value 기반 관리기능
장점
  작업자 투입율과 연동하여 일정관리 가능 
  Gantt 차트, 리소스 차트 지원
  프로젝트 관리 상용도구 수준의 기능, UI 지원
  상용프로그램(MSProject)과 호환 가능
단점  팀 협업이 어려움
  간략하게 관리하려는 경우는 사용방법이 복잡할 수 있음

가이드 더 보기 >>>

SW개발도구 연계 사례

SW 개발과정 (Software Development Life Cycle) 전체에 걸쳐서 사용되는 도구 (tool)를 쉽게 사용할 수 있도록 도구 활용가이드, 동영상 및 연계사례를 제공합니다. 아래 사례에 대한 자세한 내용을 보고 싶다면 소프트웨어공학센터 SW개발도구 사례 보기로 오세요.

사례 01.                                                                                     
JAVA 환경에서의 CI(지속적통합) 구축 사례                                                   
아시아 통신 시장을 목표로 통신 분야에 특화된 기능을 Template기반으로 제공하는 서비스 솔루션을 개발

사례 02.
C/C++ 환경에서의 CI(지속적통합) 구축 사례
3차원 광학기술을 이용한 검사 장비 시스템 개발

사례 03.                                                                                      
임베디드 시스템의 개발환경 구축사례
안드로이드 플랫폼 기반 자동차 인포테인먼트 (information+entertainment) 시스템 개발

사례 04.
GIT을 활용한 어플리케이션 개발 상세 사례
GIT을 활용하여 수행하는 도서검색 웹 애플리케이션 개발

사례 05.                                                                                     
정적 분석 및 단위테스트 수행 상세 사례                                                                
보드(체커) 게임 프로그램을 통해 알아보는 정적 분석과 단위테스트                                                                                  
사례 06.
Web 개발 프레임웍 구축 사례
개발환경이 Eclipse 를 중심으로 공개SW 프레임웍크를 사용하여 구현한 사례