수업내용/목표
이러한 내용들을 열악한 국내 소프트웨어 개발 환경의 문제점과 연계하여 고찰해보고, 해결 방안을 모색해 본다. 중요 단원별로 실제 산업현장에서 활용되는 개발 및 관리 기법을 실습해봄으로써 배운 지식을 소프트웨어 개발에 직접 활용할 수 있는 능력을 함양하게 된다.
주차 |
강의 주제 및 학습 목표 |
학습요소 |
|
1 |
소프트웨어공학의 개요 |
||
1 |
[주제] 소프트웨어공학의 개요 [학습목표] 1. 소프트웨어
중요성을 설명할 수 있다. 2. 소프트웨어의
오류의 발견 및 제거의 어려움을 설명할 수 있다. |
강의영상 |
|
2 |
[주제] 소프트웨어 프로젝트 실패 원인 [학습목표] 1. 소프트웨어
변경/수정/진화로 인한 문제점을 설명할 수 있다. 2. 소프트웨어 프로젝트의 실패 원인과 이에 따른 소프트웨어공학의 필요성을 설명할 수 있다. |
강의영상, 학습자료 |
|
3 |
[주제] 소프트웨어공학의 정의 [학습목표] 소프트웨어 공학의 영역(요구공학, 설계, 개발방법론, 테스팅, 프로젝트관리, 형상관리, 유지보수, 프로세스, 품질, 재사용)을 설명할 수 있다. |
강의영상, 퀴즈(5개) |
|
2 |
소프트웨어 프로세스와 생명주기 |
||
1 |
[주제] 소프트웨어 프로세스 개요 및 정의 [학습목표] 1. 프로세스와
절차의 차이점을 설명할 수 있다. 2. 프로세스의
중요성을 설명할 수 있다. |
강의영상 |
|
2 |
[주제] 소프트웨어 생명주기 모델의 종류 [학습목표] 순차형 모델의 특징과 차이점을 비교할 수 있다. |
강의영상 |
|
3 |
[주제] 점증적 모델 [학습목표] 점증적 모델의 특징과 차이점을 비교할 수 있다. |
강의영상, 퀴즈 (5개) |
|
3 |
프로젝트 관리 |
||
1 |
[주제] 프로젝트 관리 개요 [학습목표] 프로젝트의 성공과 실패 요인을 설명할 수 있다. |
강의영상 |
|
2 |
[주제] 소프트웨어 프로젝트의 문제점 [학습목표] 1. 명확하지 않은 요구사항/변경/ 수발주 문제점/ 일정과 비용 관리 실패가 원인임을 설명할 수
있다. 2. 국내 수발주 프로세스의 특징과 문제점을 설명할 수 있다. |
강의영상 |
|
3 |
[주제] 프로젝트의 관리 영역 [학습목표] 1. 통합관리/범위/비용/일정/품질/의사소통/인적자원/위험 관리에 대해 설명할 수 있다. 2. 프로젝트 관리 프로세스를 설명할 수 있다. |
강의영상 |
|
4 |
[주제] 프로젝트 성공을 돕는 참조 모델 [학습목표] CMM,
CMMI, ISO 12207 에 대해 설명할 수 있다. |
강의영상, 퀴즈(5개) |
|
4 |
프로젝트 계획 및 통제 |
||
1 |
[주제] 프로젝트 계획서 [학습목표] 1. 프로젝트
계획의 필요성을 설명할 수 있다. 2. 스케쥴링(WBS 작성)활동을 수행할 수 있다. |
강의영상 |
|
2 |
[주제] 프로젝트 규모 산정 [학습목표] 규모 산정 방법을 설명할 수 있다. |
강의영상 |
|
3 |
[주제] 프로젝트 일정 계획 [학습목표] 퍼트/ 간트차트를 작성할 수 있다. |
강의영상, 실습과제 (1개) |
|
5 |
기능점수 방법 |
||
1 |
[주제] 기능점수 방법의 개요 [학습목표] 1. 프로젝트 유형에 따른 기능점수 방법을 식별할 수 있다. 2. 데이터 기능점수를
계산할 수 있다. |
강의영상 |
|
2 |
[주제] 트랜잭션 기능점수 [학습목표] 1. 트랜잭션 기능점수를 계산할 수 있다. 2. 기능점수에
조정인자 값을 적용할 수 있다. |
강의영상 |
|
3 |
[주제] 기능점수 계산 사례 [학습목표] 카달로그 시스템에 기능점수를 적용할 수 있다. |
강의영상, 실습과제 (1개) |
|
6 |
프로젝트 모니터링 및 통제 방법 (EVM) |
||
1 |
[주제] 프로젝트 모니터링 및 통제 개요 [학습목표] 1. 프로젝트 통제 프로세스를 설명할 수 있다. 2.
EVM의 필요성에 대해 설명할 수 있다. |
강의영상 |
|
2 |
[주제] EVM 용어 [학습목표] EVM의 지표를 계산할 수 있다. |
강의영상 |
|
3 |
[주제] EVM의 적용 [학습목표] EVM을 실제 사례에 적용할 수 있다. |
강의영상, 실습과제 (1개) |
|
7 |
요구사항 개발 및 관리 |
||
1 |
[주제] 요구사항의 정의 [학습목표] 1. 요구사항
개발의 중요성을 설명할 수 있다. 2. 요구사항을
유형에 따라 분류할 수 있다. |
강의영상 |
|
2 |
[주제] 요구사항의 개발 절차 [학습목표] 1. 요구사항
추출 방법을 설명할 수 있다. 2. 요구분석 방법을 설명할 수 있다. |
강의영상 |
|
3 |
[주제] 요구사항 명세화 및 검증 방법 [학습목표] 명세화 원칙 및 검증 방법에 대해 설명할 수 있다. |
강의영상, 퀴즈(5개) |
|
9 |
객체지향 요구사항 분석 |
||
1 |
[주제] 유스케이스 분석 방법론 [학습목표] 1. UML 모델링 언어와
부치, 럼바우 야콥슨 모델의 특징을 설명할 수 있다. 2. 4+1 뷰의 내용과
특징을 설명할 수 있다. |
강의영상 |
|
2 |
[주제] 유스케이스 다이어그램 작성법 [학습목표] 1. 다이어그램
구성요소와 다이어그램 작성 순서를 이해할 수 있다. 2. 작성 시
유의사항을 설명할 수 있다. |
강의영상 |
|
3 |
[주제] 유스케이스 다이어그램 작성 [학습목표] 게시판 시스템의 유스케이스와 기술서를 작성할 수 있다. |
강의영상,실습과제
(1개) |
|
10 |
설계 원리 및 프로세스 지향 설계 |
||
1 |
[주제] 설계의 정의 및 중요성 [학습목표] 1. 요구분석과
설계의 차이점을 비교할 수 있다. 2. 설계의 종류
및 방법을 설명할 수 있다. 3. 설계 원리를
설명할 수 있다. |
강의영상 |
|
2 |
[주제] 효과적인 모듈 설계 [학습목표] 1. 정보은닉/응집력/결합력에 대해 설명할 수 있다. 2. 모듈설계 시 주의 사항을 설명할 수 있다. 3. 프로세스지향 설계에 대해 설명할 수 있다. |
강의영상 |
|
3 |
[주제] 아키텍처 유형 [학습목표] 아키텍처 유형의 종류인 중앙저장소/ MVC/ CS/ 계층구조의
특징을 설명할 수 있다. |
강의영상, 퀴즈(5개) |
|
11 |
객체지향 설계방법 |
||
1 |
[주제] 객체지향 설계의 개념 [학습목표] 1. 객체의 속성, 행위, 정체성를 설명할 수 있다. 2. 객체지향
설계의 특징을 설명할 수 있다. 3. 클래스/객체/캡술화/상속/다형성을 설명할 수 있다. |
강의영상 |
|
2 |
[주제] 객체지향 설계 과정 [학습목표] 1.
UML 다이어그램의 종류를 식별할 수 있다. 2. 클래스와 관계를 식별할 수 있다. 3. 클래스 설계 원칙을 설명할 수 있다. |
강의영상, 실습과제 (1개) |
|
3 |
[주제] 디자인 패턴 [학습목표] 1. 디자인 패턴의
개념에 대해 설명할 수 있다. 2. 디자인 패턴의
종류를 설명할 수 있다. |
강의영상 |
|
12 |
소프트웨어 테스팅 |
||
1 |
[주제] 소프트웨어 테스팅 개요 [학습목표] 1. 소프트웨어
오류로 인한 사고 사례를 말할 수 있다. 2. 테스팅의
정의 및 목적을 설명할 수 있다. 3. 테스팅의
원칙을 설명할 수 있다. |
강의영상 |
|
2 |
[주제] 소프트웨어 테스팅의 유형과 종류 [학습목표] 1. 정적테스팅과 동적 테스팅을 구분할 수 있다. 2. 리뷰/인스펙션/워크스루을
설명할 수 있다. 3. 검증과 확인 활동의 차이점을 설명할 수 있다. |
강의영상 |
|
3 |
[주제] 단계별 테스팅 기법 [학습목표] 1. V
모델과 각 단계별 테스팅 활동 (단위/통합/시스템/인수 테스팅)에 대해 설명할 수 있다 . 2. 테스팅 관리 활동을 설명할 수 있다. |
강의영상 퀴즈(5개) |
|
4 |
[주제] 테스팅 자동화 도구 [학습목표] 단계별 테스팅 및 품질관리 도구의 종류 및 기능에 대해 설명할 수 있다. |
강의영상 |
|
13 |
동적 테스팅 |
||
1 |
[주제] 블랙박스 테스팅 [학습목표] 1. 블랙박스
테스팅의 필요성을 설명할 수 있다. 2. 테스팅 환경
및 목적에 따라 신택스/동등분할/경계값 분석/의사결정테이블 방법을 적용할 수 있다. |
강의영상 |
|
2 |
[주제] 화이트박스 테스팅 [학습목표] 1. 화이트박스
테스팅의 필요성을 설명할 수 있다. 2. 테스팅 환경
및 목적에 따라 문장 커버리지/ 분기 커버리지/조건 커버리지/다중조건 커버리지/기본경로 테스팅을 적용할 수 있다. |
강의영상, 실습과제 (1개) |
|
14 |
위험관리 및 형상관리 |
||
1 |
[주제] 위험관리 [학습목표] 1. 위험관리를
정의할 수 있고, 위험과 문제의 차이점을 식별할 수 있다. 2. 위험관리
절차/프로세스를 설명할 수 있다. 3. CMMI에서의 위험관리
활동을 설명할 수 있다. |
강의영상 |
|
2 |
[주제] 형상관리 [학습목표] 1. 형상관리의 중요성과 필요성을 설명할 수 있다. 2. 형상관리 절차/프로세스를 설명할 수 있다. 3. 형상관리 참여자의 역할과 책임에 대해 설명할 수 있다. |
강의영상 |
|
3 |
[주제] 형상관리의 세부활동 [학습목표] 1. 형상식별, 형상제어, 형상
감사의 세부 활동을 설명할 수 있다. 2.
CMMI에서의 형상관리 활동을 설명할 수 있다. |
강의영상 |
과제명 | 퀴즈 | 실습과제 | 기말고사 |
---|---|---|---|
반영비율 | 30% | 30% | 40% |
※ 총 60% 이상 점수 획득 시, 이수증을 발급받을 수 있습니다.
이 강좌는 전공 심화 수준의 강좌로, 관련 전공 기초 지식이 필요할 수도 있습니다.
소프트웨어공학의 소개(한혁수, 홍릉과학출판사)