2016년 4월 6일 수요일

'정부' - 'SW산업'이 공생 발전하는 시스템 형성

'정부' - 'SW산업'이 공생 발전하는 시스템 형성

  • 공공 SW사업이 민간시장을 축소*하는 것을 사전 검증/평가하는 절차를 도입하는 'SW영향평가제도' 도입방안 검토
          *개발된 SW의 무료배포, 기존 민간 서비스를 공공서비스로 제공하는 사례 등

  • 불공정 발주관행(특정규격 명시 등)을 집중적을 모니터링 개선 조치하고 상용SW 분리발주제도의 실효성 강화 추진

  • 공공SW사업 수/발주체계 개선(SW발주기술지원센터 설치/운영 등)

  • 벤치마크테스트/SP인증* 등을 통한 품질향상으로 SW신뢰성 제고
          *SW 프로세스 인증 : SW개발 방법/과정 등이 우수한 기업인증제도

과학기술/공학/제조업과 SW를 융합하는 [SW융합형] 추진

과학기술/공학/제조업과 SW를 융합하는 [SW융합형] 추진

  *전문지식 유형별로 차별화된 SW융합 R&D를 지원하여 세상에 없는 융합형 제품/서비스에 도전

Computational X(과학+SW)를 통한 미래 성장잠재력 확충
  • - 기초과학과 SW를 접목하여 지식축적을 활성화하고, 기존 목표를 뛰어넘는 'X'챌린지* 활성화               *예) 무인비행체 + 항공기용 SW플랫폼 연계
  • - 우주/원자력/바이오산업은 SW역량 강화로 글로벌 경쟁력 향상 
  •  기존 산업을 SW로 재탄생 -> 산업의 스마트화
           - SW가 핵심인 미래성장동력*의 집중 육성으로 신 시장 선점
             *신재생에너지 Hybrid시스템, 지능형 로봇, 심해저해양플랜트, 스마트카 등 13개
           - 기존산업/중소기업의 SW활용을 제고하여 생산성 향상


         - SW융합우수사례 시상, CEO 대상 SW교육, SW융합실태조사 및 SW기반 제도 개선 등으로 민간의                  SW투자 촉진

소프트웨어 중심사회 개념

SW 중심사회의 개념은 SW가 개인/기업/정부 전반에 광범위하게 사용되어 삶의 질을 향상시키고기업과 정부의경쟁력이 지속적으로 제고되는 사회로, 아이디어와 상상력이 SW로 실현되고 문제점이 SW로 해결되고, 창의/개방/협력문화가 SW를 매개로 인상화 되는 사회로 그려지고 있다.


[소프트웨어 중심사회 개념]


미래부가 SW중심사회 실현을 위한 청사진을 제시하고, 교육부는 '초.중등 SW교육 활성화방안'을, 산업부는 '제조업의 SW융합 및 활용전략'을, 문체부는 'SW저작권 보호/이용기반 확산방안'을 발표하였다.

인수테스트 주도 개발 (Acceptance Test Driven Development) [하]

더보기 >

하이브리드 앱을 위한 보안 기술

최근, 캐나다의 한 청소년 보호용 앱이 서비스를 긴급 중단한 사건이 있었다.
캐나다의 한 비영리 해킹연구 단체가 해당 앱을 분석한 결과, 심각한 보안 문제가 발견됐기 때문이다. 26 가지 사생활 및 보안성 취약 문제를 발견했는데, 전부 심각한 수준의 문제였고, 이용자의 정보를 일일이 암호화하지 않아, 학생과 학부모 양쪽의 정보가 새나가거나 해커가 스마트폰을 원격 조정할 수 있다는 위험성까지 제기되었다.
만약 해킹을 당할 경우, 스마트폰을 사용하는 학생의 모습이 약간의 시차를 두고 제 3 자에게 실시간 노출될 수 있어, 청소년을 보호하기 위해 만든 앱이 오히려 아이들을 해킹위험에 노출시킬 수 도 있는 우려까지 있는 것이다. 
이처럼 스마트폰의 app 은 사용자의 개인의 정보가 다수 담겨 있는 만큼, 보안에 있어 중요성에 대한 인식이 더 요구되고 있다. 그 중, 최근 트렌드로 자리 잡고 있는 hybrid app 의 보안기술과 관련해, 보안전문가 장성균 엔지니어에게 자세한 설명을 구했다.



Q: App 의 종류와 특징은 어떤 것들이 있을까요?
일반 사용자들에게는 모두 같은 종류의 app 이라고 하겠지만, 공학도의 입장에서는 각각의 app 이 서로 다른 형태로 구성되어 있습니다. App 개발과정은 제작부터 개발까지의 과정을 거쳐서 만들어지게 되는데요. 제작은 기획부터 개발까지 하나의 서비스를 완전 체로 만들어내는 것을 말하며, 개발은 결정된 기획과 디자인을 바탕으로 소프트웨어로 구현해 내는 것을 말합니다. 스마트폰의 app 사용자는 개인의 정보가 많이 담겨 있는 스마트폰의 ‘정보보안’ 부분에 민감하게 반응할 수 밖에 없는데요. 최근 보안뉴스에 “전체 안드로이드 기기의 60% 이상에 영향을 미치는 모바일 악성코드 Triada 도 발견됐다.” 라는 기사가 기재되기도 했습니다. (2016-03-14 일자 )
그만큼 아직 보안의 문제는 해결해야 할 부분이 많다는 이야기죠. [ 그림 1 참조 ]


소프트웨어 설계 - 아키텍처 편

애자일과 솔루션 개발이 주목을 받으면서 확장성이 좋고 오래 지속될 수 있는 아키텍처 설계가 요구되고 있다. 좋은 아키텍처가 소프트웨어 효율성을 높일 수 있다는 것은 누구나 아는 사실이지만 아키텍처 설계 과정이 너무 복잡해 쉽게 접근하지 못했던 것이 사실이다.
아키텍처 설계는 사용자 요구사항을 직접 듣고 시스템 구조로 정의하는 것이지만 최근에는 만들고자 하는 시스템뿐만 아니라 외부 시스템과 연계할 수 있는 클라우드나 프레임워크를 반영한 아키텍처 설계가 많아지는 추세다. 사용자 중심으로 방향이 변하고 있는 최근의 개발 트렌드처럼 기술보다는 비즈니스와 사용자 중심으로 아키텍처를 설계하고 있다.
시스템 구축을 위해 밑그림으로 정의하는 아키텍처의 역할은 분명 변하지 않는다. 다만, 아키텍처 본연의 역할을 하면서 최신 개발 트렌드를 반영한 아키텍처가 필요한 시점이기 때문에 이에 대한 준비와 적응이 필요하다.
이번 공학트렌드에서는 아키텍처의 종류와 역할에 대해 정리해보고, 최신 개발 트렌드를 반영한 아키텍처 설계를 위해 클라우드 적용 예를 살펴보기로 한다. 내부는 더 견고하고 외부에는 더 유연한 아키텍처를 설계하는데 좋은 가이드가 될 것으로 기대한다.

아키텍처의 종류와 역할
프로젝트에서는 아키텍처에 대한 논의가 많이 이루어진다. 아키텍처에 대한 정의는 다양한 의미와 용도로 사용되지만 “시스템 구축을 위한 시스템 전체 구조를 정의하고, 시스템을 구성하는 컴포넌트와 데이터 간 관계를 정의한다” 라는 것이 일반적으로 얘기되는 아키텍처의 정의이다.
초창기 아키텍처는 당장 필요한 시스템의 구조만 나타냈지만 현재는 다양하게 변하는 비즈니스 환경에 따라 유연하게 대처할 수 있는 장기적 관점의 아키텍처가 요구되는 추세다.
아키텍처 설계는 비즈니스 요구사항과 전략을 하나의 그림으로 나타내는 것으로, 사용자와 의사소통을 위한 가장 중요한 작업이다. 외부의 소프트웨어 , 시스템과 연계하는 경우가 많아지는 요즘은 아키텍처 설계의 중요성이 더 강조되고 있다.
아키텍처의 종류
아키텍처 설계를 보면, 사람이나 경우에 따라 다양한 형태로 그려진다. 아키텍처는 성격에 따라 비즈니스 아키텍처 (Business Architecture), 시스템 아키텍처 (System Architecture), 소프트웨어 아키텍처 (Software Architecture), 테크니컬 아키텍처 (Technical Architecture), 데이터 아키텍처 (Data Architecture) 등으로 나눌 수 있다 (< 그림 1> 참조 ). 이 외에도 비즈니스 아키텍처, 어플리케이션 아키텍처, 기술 아키텍처, 데이터 아키텍처 등 4 개 관점으로 정의하는 엔터프라이즈 아키텍처 (Enterprise Architecture) 가 있다.