시스템 분석·설계 개요
시스템 분석·설계는 소프트웨어 개발의 초기 단계로, 요구사항을 파악하고 시스템 구조를 정의합니다. 정보처리기사에서는 요구사항 분류, 모델링 기법, 설계 원칙이 출제됩니다.
요구사항 분류
기능적 요구사항 (Functional Requirements)
- 시스템이 해야 할 기능을 기술
- 예: “사용자는 이메일로 회원가입할 수 있다”
- 유스케이스, 유저 스토리로 표현
비기능적 요구사항 (Non-Functional Requirements)
- 시스템의 품질 특성을 기술
- 성능: 응답 시간 3초 이내
- 보안: 개인정보 암호화 저장
- 가용성: 99.9% 업타임
- 확장성: 동시 접속자 10만명 지원
- 유지보수성: 모듈화 구조 적용
요구사항 개발 프로세스
- 도출(Elicitation): 인터뷰, 설문, 관찰, 프로토타입으로 요구사항 수집
- 분석(Analysis): 요구사항 충돌 해결, 우선순위 결정
- 명세(Specification): SRS(소프트웨어 요구사항 명세서) 작성
- 검증(Validation): 요구사항이 완전·일관·실현 가능한지 확인
유스케이스 (Use Case)
사용자(액터)와 시스템 간 상호작용을 기술하는 행위 시나리오입니다.
구성 요소
- 액터(Actor): 시스템과 상호작용하는 외부 개체 (사용자, 외부 시스템)
- 유스케이스: 시스템이 제공하는 기능 단위
- 관계: 연관(Association), 포함(Include), 확장(Extend), 일반화(Generalization)
Include vs Extend
- Include: 항상 포함되는 공통 기능 (예: 로그인 확인은 모든 기능에 포함)
- Extend: 조건에 따라 선택적으로 포함 (예: 결제 시 쿠폰 적용은 선택적)
구조적 설계 원칙
응집도(Cohesion) vs 결합도(Coupling)
- 높은 응집도: 모듈 내 요소들이 밀접히 관련. 좋음
- 낮은 결합도: 모듈 간 의존성 최소화. 좋음
응집도 유형 (높은 순)
기능적 > 순차적 > 교환적 > 절차적 > 시간적 > 논리적 > 우연적
결합도 유형 (낮은 순)
데이터
ERD에서 관계형 스키마 변환
- 1:1 관계: 어느 쪽 테이블에 외래 키 추가 (선택)
- 1:N 관계: N 쪽 테이블에 외래 키(FK) 추가
- M:N 관계: 별도 연결 테이블 생성 (두 테이블의 기본 키를 복합 키로)
시험 핵심 포인트
- 기능 요구사항: “무엇을 해야 하는가” / 비기능 요구사항: “어떻게 잘 해야 하는가”
- Include: 항상 포함 / Extend: 조건부 포함
- 높은 응집도 + 낮은 결합도 = 좋은 설계
- M:N 관계: 반드시 연결 테이블 생성
- SRS: 소프트웨어 요구사항 명세서 (IEEE 830 표준)
마무리
시스템 분석·설계는 개념 이해와 적용이 모두 필요한 파트입니다. 유스케이스 관계 유형(Include/Extend)과 ERD 변환 규칙은 자주 출제되므로 예시와 함께 학습하세요.
요구사항에서 유스케이스와 ERD로 이어지는 흐름
시스템 분석·설계는 요구사항을 구조화된 모델로 바꾸는 일입니다. 요구사항은 기능과 비기능으로 나누고, 이를 유스케이스(사용자 관점의 기능 시나리오)와 데이터 모델(ERD)로 구체화합니다.
유스케이스 다이어그램은 액터와 시스템 기능의 관계를 보여 주고, 각 유스케이스는 기본 흐름과 대안·예외 흐름을 시나리오로 기술합니다. 그 흐름에서 나타나는 명사(고객, 주문, 상품)가 엔티티 후보가 됩니다.
- ERD 설계 순서: 엔티티 도출 → 속성 정의 → 관계와 카디널리티 → 정규화 → 키 선정.
- 관계 표현: 일대다는 다 쪽에 외래키, 다대다는 연결 엔티티로 분해합니다.
- 정규화: 1NF(원자값), 2NF(부분 종속 제거), 3NF(이행 종속 제거). 성능 필요 시 의도적 반정규화를 합니다.
- UML 연계: 시퀀스 다이어그램으로 객체 간 상호작용, 클래스 다이어그램으로 구조를 표현합니다.
- 추적성: 각 요구사항이 어떤 유스케이스와 테이블에 연결되는지 매핑해 둡니다.
정리 포인트
요구사항 → 유스케이스 → 시나리오 → 엔티티·ERD로 이어지는 도출 흐름을 기억하세요.
※ 이 글은 학습·참고용 정리입니다. 제품 사양과 표준 개정 사항은 공식 문서에서 최신 내용을 확인하세요.