2016년 1월 1일 금요일

[공고] 2016년 SW품질역량 강화를 위한 공통교육(GCS School) 운영

용역입찰 재공고
  • 입찰건명: 2016년 SW품질역량 강화를 위한 공통교육(GCS School) 운영
  • 용역기간: 계약체결일로부터 약 7개월
  • 제안서(입찰참가신청)제출(시간 초과시 서류 제출이 불가합니다.)
  • 제출마감일:  2016.01.05(화)15시까지
  • 입찰방법:제한경쟁입찰
낙찰자 선정방법 : 협상에의한계약 ( 기술 : 가격 = 90:10)
제안서를 제출받아 평가한 후 협상대상자를 선정 ( 개별통지 ) 하여 , 기술 / 가격협상에 참가할 수 있는 자격을 부여하고 제안서 평가 1 순위 업체부터 협상하여 우리 원에 가장 유리하다고
인정되는 업체를 낙찰자로 결정합니다 .

입찰참가자격 (아래의 자격을 모두 갖춘 자이어야 합니다)

 ▶ 국가를당사자로하는계약에관한법률 시행령 제 12 조 규정 및 동법 시행규칙 제 14 조 규정  에의한 유자격 업체
 ▶ 국가를 당사자로 하는 계약에 관한 법률 시행령 제 76 조 규정에 의한 부정당업자에 해당
하지 않은 업체
 ▶ 입찰참가신청시 우리 원의 선정방식에 이의가 없음을 확약한 업체
 ▶ 중소기업기본법에 의한 소기업 , 소상공인 업체 또는 비영리법인

GIT Flow를 활용한 효과적인 소스 형상 관리 Part 1


산업계에서는 단순히 GIT 를 사용하기도 하지만 대다수의 대규모 프로젝트에서는 어느 정도 프로세스화된 GIT Branch 전략을 사용하여 개발하고 있습니다 . 이 중에서 가장 널리 사용되고 있는 GIT Branch 전략 중의 하나인 GIT Flow 를 살펴보고자 합니다 .

GIT Flow 는 GIT 의 가장 큰 장점인 GIT Branch 를 활용합니다 . 일반적으로 소프트웨어를 버전 단위로 릴리즈하는 유지보수 관점에서 GIT Flow 는 매우 훌륭합니다 . GIT Flow 는 배포관점의 형상 관리를 담당한다고 볼 수 있는데 원활한 소스코드 관리를 가능하게 하는 것이 핵심입니다 .
보통은 개발 중인 버전 (Develop) 과 이미 배포된 버전 (Master) 을 먼저 분리한 후 사용하는데 , GIT Flow 는 개발 중인 버전 (Develop) 을 바탕으로 중 / 단기 단위로 개발 (Release, Feature) 할 수 있도록 합니다 . 만약 치명적인 결함이 발생하더라도 이미 배포된 버전 (Master) 를 바탕으로 Hotfix 버전을 생성하여 빠른 패치를 진행하고 , 개발 중인 버전 (Develop) 으로 소스 병합 (Merging) 작업을 통해서 소스 형상관리를 최대한 활용할 수 있도록 합니다 .

본고에서는 소스 간의 충돌을 최소화하여 효율적인 개발이 가능해 특히 대규모 인원의 개발에서 주로 쓰이는 GIT Flow 를 소개하고 , 예제를 통해 실무 활용 방안을 살펴보고자 합니다 .

  • GIT Flow 소개
  • Breach 전략

iOS 애플리케이션 GUI 테스팅을 위한 영향 관계 기반 커버리지 및 테스트 케이

iOS 의 사용자 인터페이스는 멀티 터치 제스처에 의한 직접 조작 (Direct Manipulation) 을 기반으로 한다 [1]. 직접 조작이란 , 사용자에게 시각적인 요소를 제공함으로써 , 시스템을 제어할 수 있도록 하는 것을 의미하며 [2], 그래픽 사용자 인터페이스 (GUI) 와 유사한 개념입니다 . 애플에서는 코코아 터치 프레임워크 (Cocoa Touch Framework) 를 통하여 사용자에게 직접 조작을 기반으로 한 인터페이스를 제공한합니다 . 코코아 터치 프레임워크는 터치스크린을 내장하고 있는 모바일 장치를 위한 사용자 인터페이스 프레임워크입니다 . 즉 , iOS 는 터치스크린 기반의 GUI 를 제공하며 그 위에서 동작하는 iOS 애플리케이션 역시 GUI 를 사용자 인터페이스로 갖습니다 . 따라서 iOS 애플리케이션에서 GUI 가 갖는 비중은 매우 크다 . 따라서 GUI 의 문제 여부가 iOS 애플리케이션의 품질에 커다란 영향을 미칠 수 있습니다 . iOS 애플리케이션의 품질을 향상시키기 위해서는 GUI 에 대한 충분한 테스트가 필요합니다 .

  1. 이벤트 핸들러 기반의 테스트 커버리지
  2. 애플리케이션 상태와 영향 관계
  3. 영향 관계 기반의 테스트 케이스 생성 기법

2015년 12월 31일 목요일

애자일팀을 위한 무료 CI툴 10선

연속적인 빌드와 인티그레이션은 프로젝트의 성공 여부를 결정짓는 핵심 요소로 ,  지속적인 통합 (Continuous Integration) 툴은 프로젝트에 투입되는 시간과 노력을 효율화하는 데에 매우 중요한 사안입니다 .  본 원고에서는 애자일 프로젝트팀이 이용할 수 있는 무료  CI 툴  10 선을 소개합니다 .

애자일 팀을 위한 무료  CI 툴  10 선
 1. Hudson
 2. LuntBuild
 3. CruiseControl
 4. BuildBot
 5. Beebox
 6. Apache Gump
 7. Apache Continuum
 8. DarcoNet
 9. Cabie
10. ControlTIER

개인정보 보호를 위한 EAI시스템 설계 및 구현

인터넷의 활성화와 비즈니스에서  IT 기술의 도입이 가속화되면서 기업들은 업무 간 연계를 위해서 각각의 업무시스템을  Peer-to-Peer  형식으로 연결하기 시작했지만 ,  방대한 데이터에 대한 안정성 ,  성능 그리고 모니터링 등 여러 가지 고려사항이 여전히 존재하였습니다 .  이를 해결하기 위해 어플리케이션 간 연동만을 전문으로 하는 아키텍쳐와 솔루션이 필요하게 되었는데 ,  그것이  EAI(Enterprise Application Integration) 입니다 .  기업들은  EAI 를 통해 다수의 어플리케이션에 분산되어 있는 데이터 등을 전사적 차원에서 공유할 수 있을 뿐 아니라 비즈니스 프로세스를 단순화하고 자동화함으로써 기존 시스템의 효율성을 재고할 수 있으며 새로운 어플리케이션 개발 시 시간과 비용을 줄일 수 있게 되었습니다 .

● 키 교환 프로토콜
● 보안성이 적용된 키 교환 프로토콜 설계
   1. EAI보안 모델

EAI 보안 모델

   2. EAI를 위한 키 교환 프로토콜

● 키 교환 프로토콜 평가
   1. 알고리즘 지수승 연산 측면
   2. 통신 파라미터 측면
   3. 프로토콜 안정성 측면

린(Lean) SW개발: 낭비요소를 이해하고 애자일로 관리하기

SW 개발에 있어 린 (Lean)  개발 방식은 불필요한 것을 버리고 효율성을 기해 경량화하는 것이라면 애자일 (Agile) 은 개발에 있어 민첩성을 가해 문제를 끊임없이 해결하는 것 입니다 .  이에 따라 린 개발 방법에 있어 낭비적인 요소가 무엇이며 ,  이를 해결하기 위해 애자일 방식을 어떻게 적용해야 하는 지에 대한 방안을 제시합니다.

린 방법론의 애자일 적용요소
 - 협업 (Collaboration)
 - 제품 백로그 (Product backlog)
 - 지속적인 개발과 전달 (Continuous development and delivery)
 - 일의 추정 (Work estimation)
 - 줄어든 결함 (Reduced defects)
 - 스크럼마스터와 제품책임자 간 중요도 공유
 - 복합기능팀 (Cross-Functional Team) 내에서 대응되는 자원