부제: 소프트웨어 개발과 관련해 기술적 판단을 내리는 최고책임자
- 내 경험으로 볼 때 보안이나 성능, 시스템 운용 같은 비기능 요구사항에는 기술적 위험요소가 많이 잠재해 있다. 많은 프로젝트에서 기능 요구사항에 비해, 비기능 요구사항은 문서로 충분히 정리되지 않았기 때문이다.
기능 요구사항을 설계하고 구현할 때 이를 만족시키는 컴포넌트를 '비즈니스 로직' 이라고 한다. 비즈니스 로직은 실제의 업무 맥락을 파악하고, 로직에서 애매함을 배제하여 코드에 그 내용을 그대로 옮기는 것이 핵심이다. 여기서 요구되는 것은 비즈니스 측면에서 의미를 이해하는 능력과 인간의 논리를 코드로 전환하는 논리력, 그리고 여러 요구사항을 처리하는 생산력이다.
비기능 요구사항은 우선 문서량으로는 기능 요구사항의 몇 분의 1도 되지않는 것이 보통이다. 업무처리의 효율성은 고려하지 않는 대신에 플랫폼의 한계와 특성, 보안 원칙 같은 전문적인 기술 지식을 충분히 활용하여 완성도 높은 설계와 구현을 해야 한다.
- 예전 소프트웨어 개발에서는 소프트웨어의 재사용이 과제였다. 객체지향 기법도 소프트웨어 재사용을 높일 수 있는 수단으로 환영받은 것이다. 객체지향으로 적절하게 분석과 설계를 할 수 있다면, 어느 정도 크기가 큰 컴포넌트나 프레임워크 같은 재사용 가능한 소프트웨어가 생겨 날수 있기 때문이다.
일반적으로 라이브러리는 객체지향과 관계없는 소프트웨어의 재사용이라고 할 수 있다. 단, 라이브러리와 프레임워크에는 결정적인 차이가 있다.
제작자 우위의 환경인 할리우드에서 제작자가 필요로 할 때만 배우를 불러내는 식의 제작자와 배우의 관계를 할리우드 법칙 이라고 부른다. 이것이 바로 라이브러리와 프레임워크의 특징을 정확하게 표현한다.
'책' 카테고리의 다른 글
데이터베이스 첫걸음 (0) | 2021.01.17 |
---|---|
읽기 좋은 코드가 좋은 코드다 (0) | 2020.12.26 |
타이탄의 도구들 (0) | 2020.12.25 |
스마트한 성공들 (0) | 2020.12.25 |
돌파력 (0) | 2020.12.25 |