🍚전공이 밥 먹여준다믄/📕 소프트웨어공학
🧩 소프트웨어공학 기말 총정리 | 설계, 구현, 그리고 코드까지
code.with.siyeon
2025. 6. 28. 19:45
이번 포스트에서는 『쉽게 배우는 소프트웨어공학』 2판 기준
기말고사 범위인 7장 디자인 패턴부터 13장 코딩까지의 내용을 총정리합니다.
설계와 구현의 연결고리를 이해하고, 실무와 연결되는 지점을 중심으로 정리해봤어요!
✅ 7장. 디자인 패턴
📌 디자인 패턴이란?
- 자주 발생하는 문제에 대해 검증된 설계 해법
- 재사용성, 유지보수성 향상, 커뮤니케이션 용이
🧠 대표 패턴 분류
유형 | 예시 | 설명 |
생성(Creational) | Singleton, Factory | 객체 생성 방식을 추상화 |
구조(Structural) | Adapter, Composite | 클래스/객체를 조합 |
행위(Behavioral) | Observer, Strategy | 책임 분산, 동작 방식 유연화 |
🔍 시험 포인트:
각 패턴의 목적, 적용 사례, UML 스케치 예상 가능!
✅ 8장. 구현
📌 구현 시 고려사항
- 코딩 전 체크리스트:
- 명확한 명세 준수
- 코딩 표준 적용
- 일관된 스타일 사용
- 구현 단계:
- 모듈 단위로 코딩
- 단위 테스트 수행
- 통합 환경 대비 설계 반영
✅ 9장. 테스트
📌 테스트의 종류
유형 | 설명 |
단위 테스트 | 함수/모듈 단위, 개발자가 직접 수행 |
통합 테스트 | 모듈 간 연결 점검 |
시스템 테스트 | 전체 시스템 대상 |
인수 테스트 | 사용자 기준 수용 여부 판단 |
🧠 화이트박스 vs 블랙박스
구분 | 설명 |
화이트박스 테스트 | 코드 내부 로직 검증, 경로 테스트 |
블랙박스 테스트 | 입력-출력 기반, 명세 기반 테스트 |
✅ 10장. 유지보수
📌 유지보수 유형
유형 | 설명 |
수정 유지보수 | 버그 수정 |
적응 유지보수 | 환경 변화 대응 |
완전 유지보수 | 기능 개선/추가 |
예방 유지보수 | 미래 문제 예방 목적 개선 |
💡 유지보수 비용이 전체 소프트웨어 생애주기의 60% 이상 차지!
✅ 11장. 형상관리
📌 형상관리란?
- 소스 코드와 관련 산출물의 변경을 통제하고 추적하는 활동
📦 구성요소
항목 | 설명 |
형상 항목 | 관리 대상 객체 (코드, 문서 등) |
버전 관리 | 이력 추적 |
변경 제어 | 변경 승인 프로세스 운영 |
형상 감사 | 변경 이력의 일관성 점검 |
✏️ Git이 실무에서 대표적 형상관리 도구
✅ 12장. 품질보증
📌 품질보증(QA)의 목표
- 개발 과정에서 소프트웨어의 품질을 사전에 확보
- 결함 예방 중심 활동
📌 QA 활동 예시
- 코드 리뷰
- 형상 관리
- 표준 준수 여부 점검
💬 시험 대비 포인트: QA는 테스트만이 아닌 전반적 품질 관리 활동임을 이해!
✅ 13장. 코딩
📌 좋은 코드의 조건
항목 | 설명 |
가독성 | 누구나 쉽게 읽을 수 있어야 함 |
일관성 | 네이밍, 들여쓰기 등 스타일 유지 |
유지보수성 | 변경이 용이한 구조 |
재사용성 | 중복 최소화, 모듈화 |
📌 코딩 표준과 스타일
- 팀 내에서 약속한 코드 작성 규칙
- 예: PEP8 (파이썬), Java Code Convention 등
🧠 기말 암기 핵심 요약
키워드 | 암기 포인트 |
디자인 패턴 | 패턴명 + 목적 + 분류 기억 (생성/구조/행위) |
테스트 종류 | 단위 → 통합 → 시스템 → 인수 흐름 정리 |
화이트/블랙박스 | 내부 로직 vs 입력/출력 중심 구분 |
유지보수 유형 | 수정/적응/완전/예방 4단계로 정리 |
형상관리 | 변경 통제 + 버전 관리 + 감사 포함 |
품질보증 | 예방 중심 활동 + 개발 전반에 걸침 |
좋은 코드 | 가독성, 일관성, 유지보수성, 재사용성 네 가지 핵심 |
📘 마무리
이번 소프트웨어공학 기말고사는 이론 + 실무 감각을 함께 묻는 문제들이 많을 거예요.
디자인 패턴, 테스트 종류, 유지보수 유형 같은 분류 문제는 표 형태로 정리하고,
형상관리와 품질보증처럼 실무에 적용하는 방식을 서술형 대비로 준비해두세요!
시험 잘 보고, 프로젝트에도 이 개념들 꼭 녹여보세요 🌱