## 📐 소프트웨어 공학, 질문하며 배우기

요구·설계·품질 · 선행: 파이썬/자바 · 개념 + 패턴 실습

## 수업 진행

🤖

### 질문

개념·패턴을 LLM에 물어보기

✏️

### 적용

작은 예제에 패턴 적용

👩‍🏫

### 리뷰

언제 쓰는지 함께 정리

앞: 프로세스·UML·코딩 규약 · 뒤: 디자인 패턴·테스트

### 1. 소프트웨어

🤖 AI에게 물어보자

    소프트웨어 공학이 무엇인지, 왜 유지보수 비용이 커지는지, 컴포넌트·표준화·자동화로 어떻게 줄이는지 설명해줘.

### 2. 소프트웨어 프로세스

🤖 AI에게 물어보자

    폭포수·나선형·프로토타이핑 모형 차이와 장단점을 표로 정리해줘. 프로젝트 성공 요인(소통·역량·관리)도 요약해줘.

👩‍🏫 선생님 리뷰

1. 폭포수: 단계가 순차적, 요구 고정에 유리
2. 나선형: 위험 분석 반복
3. 프로토타입: 요구 불명확할 때 조기 검증

### 3. UML

🤖 AI에게 물어보자

    유스케이스·클래스·시퀀스 다이어그램이 각각 무엇을 표현하는지, 고객/개발자 중 누가 주로 보는지 설명해줘. 간단한 로그인 시스템 예시로.

### 4. 좋은 코드란?

🤖 AI에게 물어보자

    자바/파이썬 명명 규칙, private/final 사용 이유, 리팩터링 정의를 초보자용으로 설명해줘.

#### 포인트

- 의도 명확 · 재사용 · 불필요한 public 줄이기
- 코드 인스펙션 체크리스트

### 5. 디자인 패턴 고급

🤖 AI에게 물어보자

    Iterator, Factory Method, Singleton, Builder, Composite 패턴을 각각 한 문장 정의 + 자바 초간단 예제 스케치로 설명해줘.

많이 알고 코드에 적용하면 고수! 한 번에 다 외우지 말고, 쓸 때마다 AI에게 물어보고 적용하세요.

### 6. 테스트

🤖 AI에게 물어보자

    단위·통합·시스템 테스트 단계와 JUnit 같은 단위테스트 도구의 역할을 설명해줘.