소프트웨어 설계 시 구현이 쉽게 잘짜는 핵심은 복잡하게 쓰는 게 아니고 누가 무엇을 왜 쓰는지를 명확하게 쪼개는 것입니다.
요구되는 사항이나 목적, 그리고 사용자, 기능, 예외상황 같은 것들만 정확히 잡아도 대부분 잘 풀릴 수 있다고 합니다. 기능의 경우 사용자가 ~ 할 수 있다 처럼 바로 구현 가능한 문장으로 작성하시고, 다이어그램은 유스케이스와 화면흐름, 시퀀스, ERD 이 4개만 제대로 그려도 충분할 것 같습니다.
좋은 소프트웨어 설계는 처음부터 기능을 다 만들기보다 요그사항 전의서에 목적 사용자 시나리오 기능 비기능 요구사항 제약조건을 명확히 정리하고 이를 바탕으로 유스케이스 시퀀스 클래스 다이어그램 등으로 구조와 흐름을 시각화해 구현전에 오류를 줄이는 것이 핵심입니다 또한 기능을 모듈 단위로 잘게 나누고 인터페이스를 머저 정의하면 각 부분을 독립적으로 개발할 수 있어 유지수와 확장이 쉬워집니다 마지막으로 변경을 고려한 유연한 구조와 테스트 계획까지 함께 설계하면 실제 구현 난이도가 크게 낮아집니다