소프트웨어 설계 핵심 개념 정리
요구사항 확인부터 화면 설계, 애플리케이션 설계, 인터페이스 설계까지 소프트웨어 설계 과목의 핵심 개념과 학습 요점을 정리한다.
소프트웨어 설계는 요구사항 확인, 화면 설계, 애플리케이션 설계, 인터페이스 설계를 다루는 과목으로, 개발 초기 단계에서 시스템의 구조와 동작을 정의하는 방법을 학습한다. 현행 시스템 분석, 플랫폼 기능 분석, 공통 모듈 설계 등 실무 설계 과정 전반이 출제 범위에 포함된다.
요구사항 확인 단원에서는 요구분석기법과 모델링 기법이 중요하다. 자료흐름도와 같은 구조적 분석 도구의 구성 요소와 표시 기호를 정확히 구분해야 하며, Rumbaugh의 모델링처럼 객체지향 방법론에서 상태도와 자료흐름도가 각각 어느 모델에 속하는지도 자주 물어진다. 분석모델 확인을 통해 도출된 모델의 타당성을 점검하는 흐름도 이해가 필요하다.
객체지향 설계에서는 클래스와 객체의 관계가 기본이다. 유사한 객체들을 묶어 공통된 특성을 표현한 클래스 개념을 정확히 알아야 하며, 상속과 다형성 같은 특성도 함께 정리해 둔다. 애플리케이션 설계에서는 모듈화의 품질 기준이 핵심인데, 모듈 간 결합도와 응집도의 유형을 구분하는 문항이 반복적으로 등장한다. 특히 데이터를 주고받으며 처리 결과를 되돌려주는 결합 형태처럼 결합도의 세부 유형을 사례로 판단할 수 있어야 한다.
화면 설계와 인터페이스 설계 단원에서는 UI 요구사항 확인, UI 표준, 인터페이스 대상 식별, 인터페이스 상세 설계가 다뤄진다. 사용자 인터페이스의 표준 수립 절차와 인터페이스 설계 시 대상 시스템을 식별하는 방법을 중심으로 학습하면 좋다.
시험 대비 요점으로는 첫째, 구조적 분석 도구의 기호와 객체지향 모델링 기법을 표로 정리해 암기하고, 둘째, 결합도와 응집도를 강한 순서에서 약한 순서까지 나열하며 유형별 특징을 익히고, 셋째, UI 표준과 인터페이스 설계 절차를 흐름으로 이해하는 것이 효과적이다. 지문 속 사례를 개념 이름으로 되돌려 해석하는 연습을 꾸준히 하면 응용 문항에도 대비할 수 있다.