본문 영역으로 바로가기
소프트웨어공학 동영상

소프트웨어공학


강좌 소개

수업내용/목표

이 수업에서는 소프트웨어 개발자 또는 개발 조직이 제한된 비용과 일정 내에서 고품질의 소프트웨어를 만들기 위해 꼭 알고 있어야 할 기술, 절차 및 방법에 대해 소개한다. 고객의 요구사항을 어떻게 도출하는지, 도출된 요구사항을 기반으로 설계와 구현, 테스팅을 어떻게 수행하는지, 그리고 이러한 활동들을 효과적으로 관리하고 통제하는 수단과 방법에 대해 학습한다.
이러한 내용들을 열악한 국내 소프트웨어 개발 환경의 문제점과 연계하여 고찰해보고, 해결 방안을 모색해 본다. 중요 단원별로 실제 산업현장에서 활용되는 개발 및 관리 기법을 실습해봄으로써 배운 지식을 소프트웨어 개발에 직접 활용할 수 있는 능력을 함양하게 된다.

소프트웨어공학 강좌 소개 동영상

강좌 운영 계획

강의 계획서

주차

강의 주제 및 학습 목표

학습요소

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에서의 형상관리 활동을 설명할 수 있다.

강의영상

강좌운영팀 소개

교수자

이병걸 교수
이병걸 교수
현) 서울여자대학교 정보보호학과 교수
현) 정보과학회 소프트웨어공학 소사이어티 이사
현) 한국시스템통합연구원 이사
현) ISO/IEC 소프트웨어공학 표준위원회 전문위원
전) 서울여자대학교 교무처장, 학생처장

강좌지원팀

이수연 조교
서울여자대학교 소프트웨어융합학과
E-mail: syou93@swu.ac.kr

강좌 수강 정보

이수/평가정보

이수/평가정보
과제명 퀴즈 실습과제 기말고사
반영비율 30% 30% 40%

※ 총 60% 이상 점수 획득 시, 이수증을 발급받을 수 있습니다.

강좌 수준 및 선수요건

이 강좌는 전공 심화 수준의 강좌로, 관련 전공 기초 지식이 필요할 수도 있습니다.

교재 및 참고문헌

소프트웨어공학의 소개(한혁수, 홍릉과학출판사)

  1. 분야

    공학
  2. 운영기관

    서울여자대학교
  3. 총 주차

    14주
  4. 주간 학습권장시간

    03시간 00분
  5. 강좌 번호

    WEUP_SWUK_07
  6. 강좌 운영 기간

    2019.02.27~2019.06.23
  7. 수강 신청 기간

    2019.02.27~2019.06.09
등록