전통적인 소프트웨어 개발5단계

이번 이야기는 첫 번째 이야기인 만큼, 소프트웨어 개발의 가장 기본적인 단계에 대해 쉽게 설명해보려고 합니다. 소프트웨어는 복잡한 현실 세계의 문제를 소프트웨어를 통해 자동화하거나 간소화하기 위한 작업을 뜻합니다. 이 작업에는 여러 단계가 있지만, 가장 중요한 아래 5가지 단계를 거치게 됩니다. 요구사항 분석 (Requirement Analysis) 도메인 사용자의 요구사항을 수집하고 분석하여 소프트웨어 개발에 필요한 기획을 위한 사전 작업입니다. 이러한 요구사항 수집은 전문가 인터뷰나 설문 등을 통해 이루어지거나, 사용자들의 행동 패턴을 분석하여 얻어낼 수 있습니다. 다만 고객들은 대부분 소프트웨어에 대한 전문가가 아니므로, 요구사항을 직접적으로 수집하기보다는 고객의 요구사항에서 적절히 필요한 부분을 추출하여 요구사항 명세서나 유즈케이스 다이어그램등의 산출물을 작성합니다. 요구사항 분석은 소프트웨어 개발에서 가장 간과하기 쉬운 부분입니다. 하지만 정확한 요구사항 도출에 실패할 경우, 소프트웨어 개발의 전체적인 비용이 증가하거나 최종적으로 프로젝트 전체가 실패할 수 있습니다. ...

January 26, 2025 · 3 min · 579 words · Hillfolk

Fundamentals of Software Architecture (소프트웨어 아키텍처 101)

아키텍처라는 모호한 주제를 쉽게 접근할 수 있도록 해주는 내용으로 채워저 있는 책이다. 우리가 현재 개발에서 사용되는 아키텍처들이 왜 만들어졌고 아키텍트가 하는 일이 어떤 업무인지를 쉽게 설명하고 있다. 대학에서는 아키텍처에 대한 수업을 듣기도 했지만 중요하다고 생각은 했지만 어떤 부분 때문에 아키텍처가 그 당시에는 쉽게 인지하기 어려웠다. 실제 회사에서는 아키텍처에대한 설계를 여러번 수행했고 나름대로 좋은 아키텍처를 구성하기 위해 노력을 했지만 대학에서 배운 내용을 써먹기 보다는 실제 개발의 경험을 가지고 아키텍처를 많이 설계하게 되었다. 이러한 개발자가 개발 하면서 느끼는 아키텍처의 실용적인 장단점을 통해서 구체적으로 접근하는 방법을 제시하는 책이다. ...

December 5, 2022 · 2 min · 299 words · Hillfolk