2015년 11월 3일 화요일

트리 형태를 이용한 클래스의 단계별 상태 다이어그램 도출 기법에 대한 연구

개발된 소프트웨어 시스템의 안정성 및 품질을 향상시키기 위해서는 소프트웨어의 테스트 과정이 필요하다 . 일반적인 소프트웨어 테스팅은 소프트웨어 시스템 내의 결함을 검출하는 작업을 말하며 프로그램을 실행시켰을 때 결과가 명세서에 기술된 대로 산출되는가를 조사한다 . 소프트웨어 테스트는 설계 단계부터 철저한 검증을 통해 안전성을 확보하기 위한 모델 기반 혹은 정형명세 기반의 테스트와 관련된 연구들이 활발히 진행되어 오고 있다 . 최근에는 상태 다이어그램을 기반으로 한 테스트 기법들이 연구되고 있는데 이러한 상태 다이어그램 기반 연구들은 커버리지를 이용하여 전이를 측정하거나 유 ㆍ 무효한 테스트 케이스를 생성하여 소프트웨어 시스템을 테스트 하는 방법들로 개발된 소프트웨어 시스템의 안정성을 테스트하는 방식으로 연구되고 있다.

  • 상태 다이어그램 도출 및 표기
  • 단계별 상태 다이어그램 도출 기법 적용

SW개발 방법론 : Scrum과 Kanban의 비교

애자일 개발방법론의 대두와 함께 떠오른 Scrum 은 많은 개발자들에 점차 친숙해지고 있으며 , 최근에는 Kanban 이 떠오르고 있어 Scrum 을 마스터한 조직들은 점차 Kanban 으로 옮겨가고 있는 추세에 있습니다 . 이에 따라 Scrum 과 Kanban 을 구분 짓는 차이점과 , 개발방법론 이행시 차별성 , 방법론 간 상호보완 관계 등에 대한 여러 가지 시사점을 제시합니다 .

Scrum 은 개발자들 사이에서 애자일과 동의어로 받아들일 정도로 일반화되었으며 , 최근에는 Kanban 이 점차 떠오르고 있는 추세입니다.
Scrum 을 이행한 많은 조직들이 Kanban 으로 이동하고 있고 많은 ALM 밴더들이 제품에 Kanban 의 특징을 추가하고 있으며 수 많은 컨퍼런스에선 Kanban 의 사용을 의미하는 ‘ 린 (lean)’ 생산방식과 ‘ 흐름생산 (continuous flow)’ 에 관한 세션을 많이 열고 있습니다.
그러나 분명 Kanban 이 무엇이며 Scrum 과 어떻게 다른가 ? 이 둘이 함께 사용될 수 있는가 ? 이번 원고를 통하여 프로젝트 관리자들 및 팀 리더들은 Scrum 과 Kanban 이 어떻게 다르고 어떻게 상호보완적이 될 수 있는지 보다 자세히 살펴보게 될 것입니다.

▶ Scrum 과 Kanban 의 산출물 차이
▶ 개발 프로세스의 진척을 추적하기 위해 사용되는 척도의 차이
▶ 역할과 미팅에 있어 Scrum 과 Kanban 의 차이
▶ 이행측면에서의 Scrum 과 Kanban 의 차이

웹 프론트엔드 엔지니어링의 스킬셋 part 2

UI 개발에 필요한 어드밴스 스킬셋


프론트엔드 개발자가 되기 위한 기본 스킬셋으로 Part 1 에서 다음과 같은 부분을 정의했습니다 .

- 다양한 라이브러리의 사용법에 앞서 순수한 HTML, CSS, Javascript 의 이해
- 브라우저 렌더링 과정의 이해
- 기초적인 물리와 수학
- 프로그래밍 공통 지식

고급 스킬셋은 Part1 에 언급한 기본지식을 기초로 꽤 복잡하고 미려한 UI 를 개발하면서 필요한 스킬들이라 할 수 있습니다 . 간단하고 단조로운 UI 개발인 경우에도 뛰어난 성능을 필요하거나 끊김없는 자연스러운 애니메이션을 구현해야 한다면 역시 기초 지식을 뛰어넘는 기술이 필요할 것입니다 . 프론트엔드 엔지니어링을 다루는 개발자의 고급 스킬셋을 하나하나 알아보겠습니다 .

Ⅰ . 코드 품질관리
프론트엔드 개발분야 역시 프로그래밍을 한다는 관점에서 일반적인 품질관리 기법이 필요로 한다 . 프론트엔드 개발자들은 품질관리에 필요한 것이 무엇이고 , 그것들을 어떻게 자동화과정을 통해 효율적인 코드 관리를 할 수 있는지 까지 알아둘 필요가 있다 .
프론트엔드 개발에서 필요한 품질관리 관련 스킬은 다음과 같다 .

1. code 에 대한 품질측정 방법
2. 단위 테스트 구현
3. CI(Continuous Integration) 지원 도구의 효율적인 활용

Ⅱ . 성능 개선 스킬
1. 대규모 프로그램의 구현 방법
2. 다양한 라이브러리와 스펙의 이해
3. 그 밖의 스킬들

자세히 보기 →