2017년 2월 14일 화요일

Quality Attribute Refinement and Allocation

참석자
Suzanne Miller - Principal researcher at the SEI (the Carnegie Mellon University Software Engineering Institute)
Dr. Neil Ernst - A fellow researcher who works in the SEI’s Architectural Practices Initiative
요약
우리는 소프트웨어의 품질 속성에 대해 이야기한다. 이러한 것을 비 기능 요구 사항이라고 한다. 더 일반적인 것일 수도 있는데 품질 속성은 반응해야 하는 속도와 같은 것을 지정한다. 그리고 품질 속성은 시스템에 제약 조건을 추가한다.
성능 제약 조건은 보안 제약 조건, 사용 편의성 제약 조건 내에서 수행해야 하는데 이러한 것들이 모두 품질 속성이 되는 것이다. 품질 속성은 기능적 측면보다 관심을 덜 받는 경향이 있어 경영진은 더 관심이 있다.
아키텍처 측면에서 볼 때 품질 속성은 아키텍처 결정에 가장 큰 영향을 미칠 때가 있다. 예를 들어 로그인 화면을 구현하기 위해 여러 프레임워크 중에서 선택할 수 있지만 성능을 고려하면 선택의 폭을 좁힐 수 있다. (그것은 트레이드 오프 부분이다)
하지만 품질 속성은 잊혀지는 경향이 있다. 어떤 성능을 원하거나 보안을 원하는 것과는 다르다. 이 것은 절충점을 찾아야 한다. 이러한 절충점은 실제로 결정하기 어려운 경우가 많다.
암호를 보면, 모든 속성을 가진 14 자 암호를 사용해야 할 때 사용자로서 영숫자인 것을 기억하기가 쉽지 않다. 새 은행 사이트를 사용할 때 6자에서 8자로 제한되고 영숫자만 가능하다면 이것은 쉽게 해킹 당할 수 있다. 보안 측면을 고려하지 않았고 균형도 못 맞췄다.


소프트웨어가 산업의 변화에 미치는 영향

Q: 소프트웨어 때문에 산업이 변하는 군요. 예를 하나 들어서 말씀해주시죠.

현실화에 가장 근접한 자동차 산업을 예로 볼까요. 미래형 자동차에서 가장 많이 주목받는 것이 자율주행 입니다. 자율주행에서 필요한 것이 무엇일까요? 차선을 보는 눈, 갈림길을 보면서 길을 찾는 지능, 자동차를 움직이는 제어 능력, 돌발 상황에 대처하는 빠른 판단력 등일 겁니다(그림4).

<그림4> 미래형 자동차에 필요한 기술
출처: 한양대학교

그림4에 보이는 것처럼 미래형 자동차는 다양한 IT기술을 가지고 있습니다. 자동차 주변을 인식하는 동작 인식이나 영상 인식 알고리즘, 갈림길을 정확히 인지하면서 길을 찾는 판단 알고리즘, 적시 적소에서 기계를 제어할 수 있는 제어 알고리즘, 돌발 대처를 위한 판단 알고리즘 등 다양한 알고리즘을 기반으로 스스로 판단할 수 있는 소프트웨어가 반드시 필요합니다.


디자인 사고의 유형과 프로세스

  • 대분류

  • 중분류