소프트웨어 공학에서 프로토타입에 대한 내용이 있었다.
프로토타입은 제품 개발 초기 단계에서 구현되는 초기 버전을 의미하며, 주로 개념 증명이나 디자인 옵션(UI 포함)을 시연하는 데 사용됩니다. 이는 완성도가 높은 모델이 아닌, 개념이나 가능성을 보여주는 '더미' 모델로 간주할 수 있습니다. 프로토타입의 주요 목적 중 하나는 고객의 불분명한 요구사항을 명확히 파악하고 이를 검증하는 것입니다. 이 과정은 사용자 인터페이스(UI) 및 사용자 경험(UX) 디자인의 관점에서 설명될 수 있습니다.
개발 과정에서는 여러 디자인 옵션을 고려하여 시스템을 개발하게 되며, '백투백 테스트'와 같은 방법을 통해 비용을 절감하면서도 다양한 유스케이스를 효율적으로 검토할 수 있습니다. 테스트는 동일한 입력에 대해 여러 옵션에서 동일한 결과가 나오는지를 확인함으로써 이루어집니다.
프로토타입을 사용하는 장점으로는 시스템의 사용성 개선, 사용자의 실제 필요에 더 잘 맞춰짐, 디자인 품질의 향상, 유지 관리성 개선, 그리고 개발 노력(인월)의 감소 등이 있습니다. 특히, 유지 관리성이 향상되는 이유에 대해 생각해볼 필요가 있습니다.
프로토타입 개발은 높은 비용, 시간, 기술적 요구 때문에 항상 쉽지만은 않습니다. 종종 '랩드 프로토타이핑' 언어로 불리는 JavaScript와 같은 언어를 사용하여 개발 비용과 기술적 문제를 줄입니다. 프로토타입은 일반적으로 기능적인 측면에 집중되며, dependability나 safety와 같은 측면은 평가하기 어렵습니다. 또한, 프로토타입은 사용 후 버려지는 것이 바람직하며, '프로토타입-확산' 접근 방법을 통해 최종 시스템에 추가되기보다는 새로운 개발 방법으로 전환됩니다. 이는 '일회용 프로토타입'이라고도 불리우며, 정상적인 개발 과정에서는 이 방법이 일반적으로 추천되는 접근법입니다.
프로토타입을 버리는 이유는 몇 가지가 있습니다.
가장 첫 번째 이유는 명확한 진화를 위해서입니다. 프로토타입은 초기 단계의 개념 검증을 위해 만들어졌기 때문에 이후 제품이나 서비스의 발전에 더 이상 필요하지 않을 수 있습니다. 프로토타입은 초기 아이디어를 시험하고 검증하는 데 사용되며 그 목적에 집중해야 합니다.
두 번째 이유는 비용과 시간입니다. 프로토타입은 빠르게 만들어야 하며, 보통 완전한 제품이나 서비스처럼 완벽하게 개발되지 않습니다. 빠르게 만든 프로토타입은 구조도 엉망일 수 있으며 오히려 이를 관리하고 개선시키는데 또다른 비용을 야기할 수 있습니다.
세 번째 이유는 변화입니다. 프로토타입은 아이디어를 시험하고 검증하기 위해 만들어진 것이므로 이후 아이디어가 변경되거나 새로운 요구사항이 발생할 수 있습니다. 이런 경우, 새로운 방향성에 맞게 새로운 프로토타입을 만드는 것이 더 효과적일 수 있습니다. 프로토타입을 버리고 제품을 다시 만드는 것은 오히려 유연성을 가져올 수 있습니다.
마지막으로 기술적 한계입니다. 프로토타입은 종종 빠르게 만들어야 하기 때문에 기술적인 제약이 있을 수 있습니다. 이러한 제약으로 효율적인 프레임워크로 만들지 않고 서비스 측면에서 효율성 등이 고려가 안될 수도 있습니다. 최종 제품 또는 서비스의 요구사항을 충족하지 못할 수 있기 떄문에 프로토타입 그대로 사용하지 않습니다.
이러한 이유들로 인해 프로토타입은 보통 아이디어를 검증하고 초기 개념을 시험하는 용도로 사용된 후 버려지는 것이 일반적입니다.
'Software Engineering' 카테고리의 다른 글
[소프트웨어 공학] 개발 프로세스 / Reuse-oriented model (0) | 2024.04.15 |
---|---|
[소프트웨어 공학] Waterfall 모델과 Incremental Development (0) | 2024.04.15 |
[딥러닝] 비선형 함수 (0) | 2024.04.14 |
[소프트웨어 공학] Specification 명세화의 4단계 (0) | 2024.04.14 |
[소프트웨어 공학] Verification과 Validation의 차이 (0) | 2024.04.13 |