온라인 교육 부문 2년 연속 1위
신규회원 10% 할인권 증정! 신규회원 10% 할인!
TOP
강의목록

강의소개

홈 > 강의소개

소프트웨어공학

교수 사진

박길식 교수

동국대학교 대학원 컴퓨터공학과 박사(인공지능)
동국대 인공지능협업센터 연구교수

학력

동국대학교 대학원 컴퓨터공학과 박사(인공지능)
동국대 인공지능협업센터 연구교수

강의경력

동국대학교
삼성전자 인재개발원
현) 유니와이즈 전임교수

강좌 소개
🤖 **유니와이즈 AI 튜터 탑재!**
- AI강의요약, AI질문채팅, AI문제생성 가능
- 강의는 기본, 최신 트렌드 학습은 AI 튜터로 24시간 학습!

✅ **소프트웨어 공학 개론과 실무**:
- 대학 교과과정 중심으로 SDLC 전 과정(요구분석→설계→테스트→DevOps)을 한 번에 정리하는 올인원 강의.
✅ **요구분석·설계·테스트 올인원**:
- UML 모델링, 품질특성 기반 아키텍처, 테스트 자동화와 품질 게이트까지 실무 지식과 문서화 스킬을 체득합니다.
✅ **애자일·DevOps·CI/CD 정복**:
- 스크럼, Git 브랜치 전략, 파이프라인(Jenkins/GitHub Actions) 구축으로 협업과 배포 자동화를 체계화합니다.
교육 대상
🎓 **컴퓨터공학/소프트웨어학 전공 대학생**: 전공 필수(소프트웨어 공학·설계·품질/테스트·프로젝트) 대비 및 공학인증 트랙 보강.
📚 **캡스톤/졸업프로젝트 준비생**: 팀 협업, 산출물 표준(SRS·설계서·테스트) 작성과 형상·품질 관리 역량 강화.
🏃 **비전공 개발 전환자·부트캠프 수료생**: 현업 프로세스 적응(애자일, 코드리뷰, CI/CD)과 문서화·협업 체계 습득.
🔬 **QA/테스트 엔지니어·주니어 PM/기획자**: 테스트 전략·품질 메트릭, 요구관리·리스크 관리 등 실무 프레임워크 업스킬.
교재정보 및 참고문헌
📘 **주교재 (PDF 제공)**:
- 유니와이즈 자체 교수진 연구교재로, 대학 교과과정 중심 편제와 SWEBoK·ISO/IEC/IEEE(12207/29148/25010) 정합성을 갖춘 핵심 개념·실습 템플릿 수록.
- 수강 즉시 다운로드 가능하여 예습/복습 및 팀 프로젝트 산출물 작성에 바로 활용.
📖 **참고 문헌 (선택)**:
- 『새로 쓴 소프트웨어 공학』(최은만 저, 정익사): 국내 사례 기반으로 요구·설계·품질보증을 체계적으로 이해.
- 『소프트웨어 공학(Software Engineering)』(Ian Sommerville 저, 권기태 역, Pearson Education): 국제 표준과 SWEBoK 관점을 폭넓게 다룬 대표 교재.

유니와이즈 AI학습의 특징

AI가 이끄는 스마트한 학습 경험, AI 튜터와 함께 더 빠르고, 더 깊게 학습하세요.

📝
AI 자동 요약

긴 강의 내용을 AI가 핵심만 요약하여 복습 시간을 단축시킵니다.

🔑
핵심 키워드 추출

강의에서 가장 중요한 키워드와 개념을 자동으로 추출해 제공합니다.

💡
AI 자동 퀴즈

학습한 내용을 바탕으로 AI가 생성한 퀴즈를 풀며 이해도를 점검합니다.

🤖
1:1 AI 튜터

모르는 부분을 24시간 언제든 AI 튜터에게 질문하고 답변을 받습니다.

커리큘럼

총 10개 챕터, 42강으로 구성되어 있습니다.

커리큘럼
제목 강의시간 상세내용
1장. 소프트웨어공학 개요
[1강] 소프트웨어의 중요성 (1)
0: 35: 47
소프트웨어의 중요성 및 소프트웨어공학 개요

• 소프트웨어공학 및 라이프사이클: 요구 분석부터 유지보수까지 전 과정을 체계적으로 관리하여 개발 프로세스를 최적화하는 공학적 접근법
• 소프트웨어 유지보수성과 품질: 전체 비용의 약 60%를 차지하는 유지보수 단계 효율화를 위한 재사용성 및 코드 간결성 확보 전략
• 소프트웨어 개발 프로세스 모형: 프로젝트 환경별 표준화된 제작 지침을 제공하여 시스템 결함 방지 및 개발 성공률 제고
[2강] 소프트웨어의 중요성 (2)
0: 52: 57
소프트웨어의 정의 특성 및 시스템 분류

• 소프트웨어 정의 및 고유 특성: 프로그램과 유무형 정보를 포함하는 광의적 실체이자 비가시성·복잡성·변경성 기반의 논리적 요소 구조 정리
• 소프트웨어 분류 체계: 하드웨어 제어용 시스템 소프트웨어와 사용자 업무용 응용 소프트웨어 및 개발 단계별 유형 분류
• 정보 및 제어·탑재 시스템: 조직 의사결정을 지원하는 MIS와 실시간성·신뢰성이 필수적인 임베디드 기반 제어 시스템의 기능적 명세 및 활용 범주 분석
[3강] 소프트웨어 위기와 소프트웨어 공학
0: 31: 58
소프트웨어 위기와 소프트웨어 공학의 정의 및 구성 요소

• 소프트웨어 위기: 수요·공급 격차에 따른 비용 초과, 일정 지연, 품질 저하 및 유지보수 난항의 총체적 현상
• 소프트웨어 공학 정의: 과학적·수학적 원리를 적용한 고품질 소프트웨어의 경제적 생산과 생산성 극대화 목표
• 핵심 구성 요소 및 방법론: 방법·도구·프로세스·패러다임 체계와 유연한 변화 대응을 위한 애자일(XP) 핵심 가치
[4강] 좋은 소프트웨어의 조건
0: 48: 04
소프트웨어 품질 특성 및 개발 프로세스 성숙도 요약

• 소프트웨어 품질 속성: 정확성·신뢰성·강인성·성능 등 이해관계자 요구에 부합하는 기능적·비기능적 특성 체계 정의
• 프로세스 성숙도 모델: CMM(Capability Maturity Model) 및 ISO 기반의 공정 표준화를 통한 개발 절차의 품질 관리와 생산성 최적화
• 시스템 안정성 및 효율성: 라이브러리 재사용, 예외 처리(try-catch), 알고리즘 시간 복잡도 설계를 통한 유지보수성 및 실행 성능 확보
[5강] 소프트웨어 개발 프로세스 모형 (1)
0: 48: 34
소프트웨어 개발 프로세스 모형 및 폭포수 모형의 이해

• 소프트웨어 개발 프로세스 및 라이프 사이클: 요구 분석부터 유지보수까지의 체계적 절차와 건축 프로세스 비유를 통한 개발 주기 정의
• 폭포수 모형(Waterfall Model): 하향식 순차 진행 방식과 단계별 명확한 산출물 기반의 전통적 개발 프로세스 구조
• 개발 산출물 및 검증 체계: DFD·자료 사전 중심의 요구 분석과 알파·베타 테스트를 통한 시스템 기능 및 성능 점검
[6강] 소프트웨어 개발 프로세스 모형 (2)
0: 44: 55
소프트웨어 개발 프로세스 모형 프로토타이핑 점증적 나선형 V모형

• 프로토타이핑 및 점증적 모형: 시제품 기반의 요구사항 구체화와 기능별 순차 릴리스를 통한 시장 조기 선점 및 개발 위험 완화
• 나선형 모형: 계획·위험 분석·개발·평가의 4단계 반복 수행을 통한 대규모 시스템의 위험 관리 및 점진적 완성도 제고
• V 모형: 개발 단계와 테스트 계층(단위·통합·시스템·인수)의 유기적 매핑을 통한 소프트웨어 안정성 확보 및 검증 체계 구축
[7강] 소프트웨어 개발 프로세스 모형 (3)
0: 40: 53
소프트웨어 개발 영향 요소 및 CMM 성숙도 모델 분석

• 소프트웨어 개발 영향 요소: 의사소통 구조·프로젝트 규모·Brooks의 법칙(Mythical Man-Month)을 통한 생산성 및 의사소통 비용 관리 체계 정의

• 프로그래머 역량 및 노동집약성: Sackman의 실험 기반 개인별 생산성 격차 분석 및 인적 의존도를 낮추기 위한 공학적 접근 원리 정리

• CMM 성숙도 모델: 초기 단계(Initial)부터 표준화(Defined)를 거쳐 지속적 개선(Optimizing)에 이르는 5단계 공정 능력 평가 체계 요약
2장. 계획
[8강] 프로젝트 관리
0: 47: 07
소프트웨어 공학 프로젝트 관리 및 계획 수립 전략

• 프로젝트 관리 체계: 조직·계획·일정 관리 활동을 통한 인적 자원 운영 및 경제적 효율성 극대화
• 소프트웨어 특성 대응: 무형성·유연성·비표준화 기반의 리스크 파악과 재사용성을 통한 안정성 확보
• 프로젝트 계획 및 위험 분석: 소작업 정의·비용 예측·위험 대책 수립을 통한 소프트웨어 개발 계획서 도출
[9강] 문제 정의
0: 23: 28
소프트웨어 공학 프로젝트 계획 및 문제 정의와 타당성 분석

• 문제 정의 및 원칙: 고객 관점의 용어 정의·범위 확정·의사소통 오류 방지를 위한 요구사항 기술

• 문제 정의 절차: 현행 시스템 조사·이해관계자 면담·기능 및 제약 사항 도출을 통한 목표 수립

• 3대 타당성 분석: 경제적 수익성·기술적 구현 가능성·법적 저작권 및 규제 준수 여부의 객관적 검증
[10강] 일정 계획 (1)
0: 49: 45
소프트웨어공학 일정 계획 및 CPM 네트워크 분석

• WBS 및 일정 계획: 계층적 작업 분해를 통한 소작업 식별과 간트 차트 기반의 일정 구체화 절차 수립

• CPM 네트워크 구조: 노드와 에지를 활용한 방향성 그래프 기반의 작업 선후 관계 및 소요 기간 시각화

• 임계 경로 및 일정 분석: 최장 경로(Critical Path) 산출을 통한 프로젝트 소요 기간 결정 및 일정 지연 리스크 관리
[11강] 일정 계획 (2)
1: 02: 40
소프트웨어 공학 일정 계획 및 COCOMO 노력 추정

• 간트 차트(Gantt Chart): 소작업별 시작·종료 시점과 예비시간(Slack Time) 시각화를 통한 프로젝트 진척도 관리 및 일정 제어

• 소프트웨어 노력 추정: 인건비(MM) 및 규모(LOC·FP) 중심의 비용 산출과 제품 복잡도·개발자 역량 기반의 변동 요인 분석

• COCOMO 및 COCOMO II 모델: 프로젝트 유형별(단순·중간·임베디드) 산정 공식 적용과 개발 단계별(1~3단계) 정밀 보정 프로세스
[12강] 기능 점수. 조직. 위험 분석. 계획서 작성
0: 52: 13
소프트웨어 규모 산정 기능 점수와 프로젝트 조직 및 위험 관리 계획

• 기능 점수(Function Point) 산정: 입력·출력·질의·파일·인터페이스 기반 소프트웨어 규모 정량화 및 언어별 가중치 적용 산출 원리
• 프로젝트 조직 및 인력 관리: 중앙집중·분산·혼합형 팀 구조 특성 분석 및 브룩스의 법칙에 따른 적정 팀 규모와 운영 효율화 노하우
• 위험 대응 및 프로젝트 계획: 인력·요구변경·지연 리스크 식별과 프로토타이핑·WBS 기반 체계적 수행 계획 수립 및 관리 기법
3장. 요구 분석
[13강] 요구 분석 (1)
0: 45: 03
소프트웨어공학 요구 분석 정의 및 명세화 과정

• 요구 결정 및 분석 과정: 문제 분석·정의·프로토타이핑을 통한 시스템 기능 및 제약 조건의 체계적 설정과 타당성 검토
• 기능적·비기능적 요구사항: 시스템 제공 서비스 중심의 기능적 요소와 성능·보안·신뢰도 등 품질 기반 비기능적 요소의 분류 및 정의
• 요구 추출 및 명세화: DFD·자료 사전 기반의 처리 요구 정의와 사용자·개발자 간 합의를 위한 요구 분석서 작성 및 인수 기준 수립
[14강] 요구 분석 (2)
0: 59: 45
소프트웨어 공학 요구 분석 방법론 및 구조적 분석 자료 흐름도(DFD) 원리

• 요구 분석 및 구조적 분석 방법론: 분할 정복 원리에 기반한 요구사항의 계층화와 프로세스 중심 하향식 시스템 분석 체계

• 자료 흐름도(DFD) 구성 요소: 처리·흐름·저장소·단말 기호를 활용한 데이터 변환 과정 및 시스템 논리적 흐름 도식화

• DFD 작성 및 검증 원칙: 배경도 중심의 단계적 상세화, 상하위 자료 균형 유지 및 명확한 명칭 부여를 통한 분석 정확도 확보
[15강] 요구 분석 (3)
0: 53: 30
소프트웨어공학 요구 분석 자료사전 및 소단위 명세서

• 자료사전(Data Dictionary): DFD 내 자료 요소를 특수 기호(=, +, |, { }, [ ])로 정의하여 데이터 구조 명세 및 모호성 제거

• 소단위 명세서(Mini-spec): 최하위 프로세스의 처리 기능을 구조적 영어와 의사 결정표를 활용하여 논리적 로직 상세 기술

• 요구 분석 도구(DFD): 배경도와 레벨링을 통해 시스템 외부 엔티티, 프로세스, 데이터 저장소 간의 연계 구조 가시화
[16강] 요구 분석 (4)
0: 38: 36
소프트웨어공학 요구 분석 소단위 명세서 및 자동화 도구

• 소단위 명세서(Mini-Spec) : 자료 흐름도 프로세스의 세부 로직을 명사형 문장과 제어 구조로 기술하여 코드 변환이 가능한 구체적 설계 제공
• 요구 분석 자동화 도구 : 모델링 도구·일관성 검사기·프로토타이핑 기능을 통합하여 요구 사항의 모순 제거 및 시각적 검증 수행
• 요구 분석서 평가 및 검증 : 무결성·일관성·추적성을 기준으로 명세서의 완성도를 측정하며 테스트 사례와 시스템 모형 제작을 통한 신뢰성 확보
4장. 설계
[17강] 설계 (1)
0: 56: 22
소프트웨어공학 설계 원리와 구조적 설계 기법 요약

• 소프트웨어 설계 체계: 시스템 구조를 정의하는 구조 설계와 알고리즘·UI 등 내부 로직을 결정하는 상세 설계로 구분
• 설계 4대 원리 및 품질 지표: 추상화·정보 은닉·단계적 분해·모듈화를 기반으로 응집도 극대화 및 결합도 최소화 실현
• 구조적 설계 기법: 시스템 구조도를 통한 모듈 간 인터페이스 정의 및 데이터 흐름 중심의 하향식 세분화 수행
[18강] 설계 (2)
0: 37: 53
소프트웨어 설계 변환 분석 및 처리 분석

• 변환 분석: 자료 흐름도(DFD)를 입력·변환·출력 흐름으로 분할하여 최상위 시스템 구조를 도출하는 설계 기법
• 처리 분석: 다중 자료 흐름 기반의 트랜잭션 중심 처리 구조 설계 및 ATM 인증·인가 절차 적용 방법론
• 시스템 구조도 및 모듈화: 메인 함수·라이브러리 기호를 활용한 기능 단위 정의 및 검증된 모듈 재사용을 통한 설계 최적화
[19강] 설계 (3)
0: 32: 16
소프트웨어 설계 평가 기준과 모듈 응집도 및 결합도 분석

• 모듈 응집도(Cohesion): 내부 구성 요소 간 관련성 정도로 기능적·순차적·교환적 등 7단계 분류 및 독립성 극대화 원칙

• 모듈 결합도(Coupling): 모듈 간 상호 의존성 정도로 자료·스탬프·제어 등 5단계 분류 및 모듈 간 결합 최소화 지향

• 설계 최적화(Design Heuristics): 팬아웃 최소화, 계층적 영향권 관리, 자료구조 중심의 독립적 모듈 구조 구축 전략
[20강] 설계 (4)
0: 37: 35
소프트웨어 아키텍처 스타일 및 알고리즘 설계 핵심 전략

• 소프트웨어 아키텍처 스타일: 저장소·MVC·클라이언트 서버·계층·파이프 필터 구조별 시스템 설계 원칙 및 서브시스템 운용 방식

• 알고리즘 명세 기법: 의사 코드(Pseudo Code)와 흐름도를 활용한 모듈별 세부 동작 기술 및 로직 구현 표준화

• 알고리즘 효율성 분석: Big O 표기법 기반의 시간 복잡도 산출 및 데이터 규모별 최적 성능 확보 전략
[21강] 설계 (5)
0: 59: 51
소프트웨어 설계 알고리즘 기술 및 사용자 인터페이스 설계 요약

• 알고리즘 명세 기법: NS-도표의 제어 구조 시각화와 의사 코드·의사 결정표를 활용한 논리 구조 및 수행 절차의 정형화

• 자료구조 설계 원칙: 정보 은닉을 통한 데이터 캡슐화 및 사용자 정의 타입을 활용한 자료 추상화 기반의 무결성 확보

• UI 및 시스템 설계: 사용자 숙련도별 맞춤형 인터페이스 방식 적용과 시스템 구조·모듈 세부 사양을 포함한 표준 설계서 구성
4장. 객체지향기초
[22강] 객체지향기초 (1)
0: 56: 34
소프트웨어공학 객체지향 기초 및 특징 분석

• 객체지향 패러다임 : 절차지향의 한계를 극복하는 자료·함수 결합 기반의 시스템 구조와 소프트웨어 재사용성·신뢰성 확보 원리

• 객체지향 핵심 특징 : 캡슐화(정보 은닉), 상속(기능 확장), 다형성(오버라이딩·오버로딩)을 통한 시스템 유연성 및 개발 효율성 극대화

• 추상화 및 UML 모델링 : 클래스·객체 인스턴스화 중심의 데이터 추상화와 UML을 활용한 언어 독립적 설계 및 구현 매핑 프로세스
[23강] 객체지향기초 (2)
0: 38: 48
소프트웨어공학 객체지향 기초 및 핵심 원리

• 객체와 클래스: 상태·행위·정체성을 가진 실체인 객체와 이를 정의하는 추상화 템플릿인 클래스의 구조 및 인스턴스화 원리 정리

• 캡슐화와 정보 은닉: 접근 제어자(public, private, protected)를 활용한 데이터 보호 및 모듈의 독립성을 보장하는 블랙박스 구조 형성

• 상속과 다형성: Is-a 관계 기반의 계층적 재사용(상속)과 오버라이딩·오버로딩을 통한 유연한 오퍼레이션 확장 및 코드 효율화 구현
[24강] 객체지향기초 (3)
0: 25: 25
소프트웨어공학 객체지향 프로세스 및 RUP 방법론 핵심 요약

• 객체지향 프로세스 및 분석 관점: 정적·동적·제한적 관점 기반의 높은 일관성 유지 및 사용 사례(Use Case) 중심의 요구 추출 체계

• 단계별 설계 및 테스트 전략: 시스템·객체 설계 모형 변환 및 단위·통합·시스템·인수 테스트로 이어지는 계층적 검증 구조

• RUP(Rational Unified Process): 개념정립·전개·구축·전환 4단계를 통한 반복적·점증적 개발 및 초기 위험 관리 중심의 프레임워크 운용
[25강] 객체지향기초 (4)
0: 53: 11
소프트웨어 공학 객체지향 기초 UML 모델링 및 다이어그램 핵심 요약

• UML 정의 및 표준 : 객체지향 분석·설계를 위한 표준화된 모델링 언어 정립 및 언어 독립적 가시화·명세화 기능 수행
• UML 다이어그램 체계 : 정적 구조(클래스)와 동적 행위(순차·상태·액티비티) 및 기능(사용 사례) 관점의 9가지 핵심 모델링 도구 구성
• UML 시스템 개발 모형 및 표기법 : 기능적·객체·동적 모형 분류와 가시성 심볼(+, -, #) 기반의 클래스 세부 구조 설계 표준화
[26강] 객체지향기초 (5)
0: 50: 20
소프트웨어 공학 객체지향 기초 UML 다이어그램 활용

• 사용사례 및 클래스 다이어그램: 사용자 요구사항 기반 외부 기능(액터·포함·확장) 정의와 시스템 정적 구조(속성·연관·일반화) 추상화 및 골격 설계

• 순서 다이어그램: 객체 간 메시지 교환을 시간 흐름에 따라 시각화하여 상호작용 패턴 분석 및 클래스 오퍼레이션 도출

• 상태 및 액티비티 다이어그램: 객체 내부 상태 전환과 시스템 작업 흐름(동기화·분기) 명세를 통한 세부 동작 및 메소드 제어 로직 구체화
[27강] 객체지향기초 (6)
0: 29: 45
객체지향 설계와 구현의 매핑 및 관계 유형 분석

• 객체지향 매핑 모델: 설계 모델링의 연관·전체부분·상속·사용 관계를 실제 프로그래밍 언어로 사상하는 절차
• 구조적 관계 구현: 연관·구성·집합 관계의 인스턴스 변수 정의 및 생명주기 종속성에 따른 UML 표기법 최적화
• 상속 및 사용 기법: 클래스 계층의 일반화 구조 구현과 메소드 매개변수를 활용한 일시적 의존 관계 처리
6장. 구현
[28강] 구현 (1)
0: 45: 25
소프트웨어공학 구현 원칙과 프로그래밍 언어의 선택 특성 분석

• 구현 원칙 및 품질 관리: 설계 모델 일치성·가독성 확보를 통한 유지보수 효율성 극대화 및 소프트웨어 생애 주기 비용 최적화 원리
• 실행 환경 및 오류 체계: 구문/런타임 에러의 정의적 구분, 목적 코드의 기계 종속성 극복을 위한 JVM 기반 이식성 확보 구조
• 언어 선정 및 설계 특성: 직교성(Orthogonality)·단순성·구문 일관성에 기반한 프로젝트 목적 및 분야별 프로그래밍 언어 최적화 기준
[29강] 구현 (2)
0: 32: 56
소프트웨어공학 구현 단계의 제어 구조와 구조적 프로그래밍 핵심 요약

• 제어 구조 설계: 선택 구조의 유연한 타입 정의 및 반복 제어 변수의 수정 제한과 유효 범위 관리 원칙
• 자료형 및 재사용성: 정적·동적 배열과 사용자 정의 자료구조(Record) 활용 및 캡슐화를 통한 독립적 모듈 구성
• 구조적 프로그래밍 철학: 단일 입구·단일 출구(Proper Program) 준수와 Goto 문 배제를 통한 선형적 논리 흐름 확보
[30강] 구현 (3)
0: 36: 46
소프트웨어공학 구현 단계 코딩 스타일 및 문서화 전략

• 코딩 스타일 및 명명 규칙: 헝가리안 표기법 적용과 일관된 명칭 부여를 통한 가독성 증대 및 명확성 중심의 코드 작성 원칙

• 제어 구조 및 로직 최적화: 효율적인 If-else 배치, 들여쓰기를 활용한 시각적 구조화 및 모듈별 단일 기능 수행을 통한 복잡도 감소

• 문서화 및 방어적 프로그래밍: 헤더 주석 기반의 원시코드 체계화와 한계값 검사를 포함한 예외 처리를 통해 소프트웨어 유지보수성 및 신뢰성 확보
7장. 객체지향분석설계
[31강] 사용사례
0: 43: 44
객체 지향 분석 설계 및 사용사례 모델링

• 객체 지향 3대 모델: 기능·객체·동적 모델 분류 및 사용사례·클래스·상태 다이어그램을 통한 시스템 구조의 다각도 분석

• 사용사례 모델링 및 구성 요소: 액터와 시스템 간의 다이얼로그 및 시나리오 구체화를 통한 사용자 중심 요구사항 정의 및 구조화

• 포함(Include) 및 확장(Extend) 관계: 공통 기능의 중복 제거와 예외적 상황의 선택적 추가를 통한 모델링 구조 최적화 및 재사용성 향상
[32강] 객체 모델링. 동적 모델링
0: 54: 53
객체 및 동적 모델링의 이해와 설계 기법

• 클래스 모델링 기법: 엔티티·경계·제어 유형 분류를 통한 시스템 정적 구조 정의 및 객체 식별
• 동적 모델링 설계: 상호작용·상태·액티비티 다이어그램 기반 객체 간 메시지 전달 및 상태 전환 명세
• 연관 관계 및 속성: 이름·역할·다중도 기반 객체 간 연결 구조 설정 및 개별 특성 데이터 정의
[33강] 시스템 설계
0: 26: 47
시스템 설계 정의 및 평가 기준과 UML 다이어그램 활용

• 시스템 설계 프로세스: 분석 모델의 플랫폼 변환, 서브시스템 분할 및 성능·비용·신뢰성 중심의 비기능적 설계 목표 수립
• 설계 평가 및 최적화: 유지보수성(확장성·이식성) 강화로 전체 비용 절감 및 성능(응답속도·처리량)·강인성·보안 지표 관리
• UML 구조 다이어그램: 패키지 다이어그램의 논리적 추상화와 배치 다이어그램 기반 컴포넌트·하드웨어 물리적 매핑 기술
[34강] 객체 설계. 디자인 패턴
0: 52: 48
소프트웨어 공학 객체 설계 및 디자인 패턴 활용 전략

• 객체 설계 및 서비스 상세화: 분석 모델의 구현 객체 전환, 서비스 정의(API), 부품 재사용 및 일반화 기반 시스템 최적화 절차
• 프레임워크 기술 체계: 상속 기반의 화이트박스와 위임 기반의 블랙박스 분류를 통한 프로그램 재사용성 및 확장성 확보
• 디자인 패턴 및 GoF 분류: 생성·구조·행위 중심의 검증된 설계 솔루션 적용을 통한 소프트웨어 신뢰도 및 유지보수 효율 극대화
8장. 테스트
[35강] 테스트 (1)
0: 45: 40
소프트웨어공학 테스트 정의 및 원리와 리그레션 테스트

• 소프트웨어 테스트 및 V-모형: 결함 검출 중심의 파괴적 검증 절차와 SDLC 단계별 대응 구조 분석
• 테스트 유형 및 기법: 알파·베타 테스트 기반 사용자 검증과 화이트박스·블랙박스 기법을 활용한 로직 및 기능 점검
• 리그레션 테스트: 코드 수정 및 기능 추가 후 기존 시스템 안정성 확보를 위한 테스트 케이스 재실행 및 회귀 검증
[36강] 테스트 (2)
0: 28: 26
소프트웨어 공학 테스트 유형 및 기법 상세 분석

• 테스트 체계 및 단계: 확인(Validation)·검증(Verification) 정의 및 단위·통합·인수 기반의 단계별 품질 보증 절차 수행
• 테스트 오라클 및 하네스: 예상 결과 판정 기준(True·Sample·Consistent) 및 실행 지원 환경 구축을 통한 테스트 신뢰성 확보
• 화이트·블랙박스 테스트: 내부 논리 구조(구문·분기·루프) 커버리지 분석 및 요구사항 명세 중심의 기능적 입출력 검증
[37강] 테스트 (3)
0: 37: 35
소프트웨어공학 자료 중심 및 통합 테스트 전략

• 자료 중심 테스트: 자료구조와 알고리즘의 정합성 확인 및 선형·비선형 구조별 경계값 분석을 통한 오류 검출 원리
• 통합 테스트 전략: 모듈 간 인터페이스 검증을 위해 스텁과 드라이버를 활용하는 하향식·상향식 및 연쇄식 통합 기법
• 인수 및 자동화 테스트: 사용자 중심의 알파·베타 테스트 수행과 정적·동적 분석 도구를 활용한 시스템 품질 보증 절차
9장. 유지보수
[38강] 유지보수 특성
0: 44: 03
소프트웨어공학 유지보수 정의 종류 및 비용 예측 모델

• 유지보수 4대 유형: 정정·개작·기능 개선·예방 보수의 정의 및 비중(50%) 중심의 분류 체계 정리
• 유지보수 공정 및 검증: UML 기반 프로그램 이해, 변경 영향 분석 및 리그레션 테스트(Regression Test) 수행 절차
• 유지보수 비용 예측 모델: Belady-Lehman 및 COCOMO 모델을 활용한 복잡도·친숙도·유지보수 비율 산정 원리
[39강] 형상 관리. 소프트웨어 척도. 유지보수 방법 및 도구
0: 41: 11
소프트웨어 형상 관리 및 복잡도 척도와 유지보수 기법

• 소프트웨어 형상 관리(SCM): Baseline 설정을 통한 변경 통제 절차 및 분석서·코드·환경 설정의 통합 관리 체계

• 소프트웨어 복잡도 측정 척도: McCabe 사이클로매틱 수 산출 및 Halstead 연산자·피연산자 기반 정량적 품질 분석 방법론

• 유지보수 기법 및 분석 도구: 수정 절차 표준화와 Call Graph·DFG·회귀 테스트기를 활용한 코드 분석 및 안정성 검증
10장. 품질 보증
[40강] 품질 보증 활동
0: 35: 23
소프트웨어 품질 보증 및 프로세스 관리 전략

• 소프트웨어 품질 특성 및 ISO 9126: McCall 모델 기반 프로덕트 운영·전환·개정과 6대 국제 표준 요소를 통한 정량적 품질 평가 체계 구축
• 소프트웨어 품질 보증(SQA) 및 프로세스 관리: 산출물과 개발 절차의 요구사항 적합성 보장 및 CMM·SPICE 모델 활용을 통한 프로세스 우수성 확보
• 품질 보증 조직 및 IEEE 730 계획: 개발 부서로부터 독립된 QA 조직 운영과 형상 관리·테스트 절차 등 체계적인 품질 관리 표준 수립
[41강] 프로세스 품질
0: 41: 50
소프트웨어 프로세스 품질 관리 및 CMM·SPICE 평가 모델

• 소프트웨어 프로세스 품질: 인력·기술·절차·도구가 통합된 작업 체계 및 제품 품질을 결정하는 핵심 관리 요소

• CMM 성숙도 모델: 조직의 프로세스 수준을 초기(L1)부터 정량적 관리(L4) 및 최적화(L5)까지 5단계로 평가하는 1차원 구조 모델

• SPICE(ISO/IEC 15504): 프로세스 영역별 능력을 0~5단계로 구분하여 평가하는 2차원 구조의 국제 표준 프로세스 개선 모형
[42강] 프로덕트 품질. 인스펙션
0: 20: 34
소프트웨어 프로덕트 품질 측정 및 인스펙션 기법의 이해

• 프로덕트 품질 측정: 응집도·결합도·복잡도 기반의 내부 품질 지표 가시화 및 사용자 관점 외부 품질 메트릭 정의
• Fagan 인스펙션 절차: 계획·준비·회의·후속 조치 단계를 통한 결함 탐색과 해결책 논의 금지 원칙 기반의 품질 보증 및 비용 절감
• 단계별 인스펙션 유형: 설계 명세 준수 확인과 컴파일 오류 제거 후 런타임 에러를 점검하는 코드 인스펙션의 세부 수행 방식 요약
교수 사진

박길식 교수님

소프트웨어공학

  • 150,000원
  • 강의 수 42강
  • 수강기간 120일
유니와이즈 고객행복센터 1899-7454
학점은행제 고객행복센터 02-2149-0803~4
상담시간: 10:00~18:00
점심시간: 13:00~14:00
토요일,일요일,공휴일 휴무
유니와이즈 고객행복센터
1899-7454
학점은행제 고객행복센터
1833-6227
상담시간: 10:00~18:00
점심시간: 13:00~14:00
토,일,공휴일 휴무