코드 위의 하루 (A Day on the Code)

🧩 소프트웨어공학 기말 총정리 | 설계, 구현, 그리고 코드까지 본문

🍚전공이 밥 먹여준다믄/📕 소프트웨어공학

🧩 소프트웨어공학 기말 총정리 | 설계, 구현, 그리고 코드까지

code.with.siyeon 2025. 6. 28. 19:45

이번 포스트에서는 『쉽게 배우는 소프트웨어공학』 2판 기준
기말고사 범위인 7장 디자인 패턴부터 13장 코딩까지의 내용을 총정리합니다.
설계와 구현의 연결고리를 이해하고, 실무와 연결되는 지점을 중심으로 정리해봤어요!


✅ 7장. 디자인 패턴

📌 디자인 패턴이란?

  • 자주 발생하는 문제에 대해 검증된 설계 해법
  • 재사용성, 유지보수성 향상, 커뮤니케이션 용이

🧠 대표 패턴 분류

유형 예시 설명
생성(Creational) Singleton, Factory 객체 생성 방식을 추상화
구조(Structural) Adapter, Composite 클래스/객체를 조합
행위(Behavioral) Observer, Strategy 책임 분산, 동작 방식 유연화
 

🔍 시험 포인트:
각 패턴의 목적, 적용 사례, UML 스케치 예상 가능!


✅ 8장. 구현

📌 구현 시 고려사항

  • 코딩 전 체크리스트:
    • 명확한 명세 준수
    • 코딩 표준 적용
    • 일관된 스타일 사용
  • 구현 단계:
    1. 모듈 단위로 코딩
    2. 단위 테스트 수행
    3. 통합 환경 대비 설계 반영

✅ 9장. 테스트

📌 테스트의 종류

유형 설명
단위 테스트 함수/모듈 단위, 개발자가 직접 수행
통합 테스트 모듈 간 연결 점검
시스템 테스트 전체 시스템 대상
인수 테스트 사용자 기준 수용 여부 판단
 

🧠 화이트박스 vs 블랙박스

구분 설명
화이트박스 테스트 코드 내부 로직 검증, 경로 테스트
블랙박스 테스트 입력-출력 기반, 명세 기반 테스트
 

✅ 10장. 유지보수

📌 유지보수 유형

유형 설명
수정 유지보수 버그 수정
적응 유지보수 환경 변화 대응
완전 유지보수 기능 개선/추가
예방 유지보수 미래 문제 예방 목적 개선
 

💡 유지보수 비용이 전체 소프트웨어 생애주기의 60% 이상 차지!


✅ 11장. 형상관리

📌 형상관리란?

  • 소스 코드와 관련 산출물의 변경을 통제하고 추적하는 활동

📦 구성요소

항목 설명
형상 항목 관리 대상 객체 (코드, 문서 등)
버전 관리 이력 추적
변경 제어 변경 승인 프로세스 운영
형상 감사 변경 이력의 일관성 점검
 

✏️ Git이 실무에서 대표적 형상관리 도구


✅ 12장. 품질보증

📌 품질보증(QA)의 목표

  • 개발 과정에서 소프트웨어의 품질을 사전에 확보
  • 결함 예방 중심 활동

📌 QA 활동 예시

  • 코드 리뷰
  • 형상 관리
  • 표준 준수 여부 점검

💬 시험 대비 포인트: QA는 테스트만이 아닌 전반적 품질 관리 활동임을 이해!


✅ 13장. 코딩

📌 좋은 코드의 조건

항목 설명
가독성 누구나 쉽게 읽을 수 있어야 함
일관성 네이밍, 들여쓰기 등 스타일 유지
유지보수성 변경이 용이한 구조
재사용성 중복 최소화, 모듈화
 

📌 코딩 표준과 스타일

  • 팀 내에서 약속한 코드 작성 규칙
  • 예: PEP8 (파이썬), Java Code Convention 등

🧠 기말 암기 핵심 요약

키워드 암기 포인트
디자인 패턴 패턴명 + 목적 + 분류 기억 (생성/구조/행위)
테스트 종류 단위 → 통합 → 시스템 → 인수 흐름 정리
화이트/블랙박스 내부 로직 vs 입력/출력 중심 구분
유지보수 유형 수정/적응/완전/예방 4단계로 정리
형상관리 변경 통제 + 버전 관리 + 감사 포함
품질보증 예방 중심 활동 + 개발 전반에 걸침
좋은 코드 가독성, 일관성, 유지보수성, 재사용성 네 가지 핵심
 

📘 마무리

이번 소프트웨어공학 기말고사는 이론 + 실무 감각을 함께 묻는 문제들이 많을 거예요.
디자인 패턴, 테스트 종류, 유지보수 유형 같은 분류 문제는 표 형태로 정리하고,
형상관리와 품질보증처럼 실무에 적용하는 방식을 서술형 대비로 준비해두세요!

시험 잘 보고, 프로젝트에도 이 개념들 꼭 녹여보세요 🌱