소프트웨어 리팩토링 (Refactoring)

I. 소프트웨어 코드 정제 기법, 소프트웨어 리팩토링 개념 목적 유지보수 생산성 향상 위해 기능을 변경하지 않고 소스코드를 수정, 보완하는 소프트웨어 품질향상 기법 – 유지보수성 향상 – 유연한 시스템 – 생산성 향상 – 소프트웨어 품질 향상 Bad Smell 징후 대상 소스코드 정비를 통한 유지보수성, 비용 절감 및 구조개선, 성능 향상   II. 소프트웨어 리팩토링 절차 및 주요

3R(Reverse Engineering, Re-engineering, Reuse)

I. 소프트웨어 생산성 향상을 위한 3R 가. 소프트웨어 3R(Reverse Engineering, Re-engineering, Reuse)의 개념 Repository를 기반으로 역공학(Reverse Engineering), 재공학(Re-engineering), 재사용(Reuse)을 통해 소프트웨어 생산성을 극대화하는 기법 정보저장소(Repository)는 3R을 구현하는 수단으로 사용됨 나. 소프트웨어 3R의 특징 소프트웨어 위기 극복 및 개발 생산성 향상 유지보수 비용의 절감 소프트웨어 변경 요구사항의 신속한 대처   II. 소프트웨어 3R의 개념도 및 구성요소

소프트웨어 모듈화(Modularity)

I. 효율적인 프로그램 구성 지원, 모듈화 가. 모듈화(Modularity)의 개념 프로그램을 분석하고 추상화하여 소프트웨어의 성능을 향상시키거나, 프로그램의 시험, 통합 및 수정을 용이하게 하는 설계 및 구현 기법 나. 모듈화의 특징 비용과 모듈의 관계: 모듈 수가 증가하면 인터페이스 비용 증가 정보 은폐: 어렵거나 변경 가능성이 있는 모듈은 다른 모듈로부터 은폐 특징 내용 비용과 모듈 관계 모듈 수가

Lehman 소프트웨어 변화

I. 변화 관리와 유지보수 핵심, Lehman 소프트웨어 변화 가. Lehman 소프트웨어 변화 원리 소프트웨어는 요구에 의해 계속적으로 변경되며, 변경에 따른 복잡성, 프로그램의 고유한 변경 추세, SW조직 생산성의 일관성, 소프트웨어 각 버전의 변화에 대한 일관성을 제시한 SW 변화의 원리 나. Lehman 소프트웨어 변화 원리 특징 소프트웨어 변화의 특성을 이해하고 유지보수, 변경관리, 형상관리, 품질통제의 중요 모델로 반영

SW유지보수

I. 소프트웨어 생명 연장, SW유지보수 개요 가. SW유지보수의 개념 SW가 인수, 설치된 후 폐기될 때까지 결함제거, 성능향상, 변화된 환경에 소프트웨어의 수명을 연장시키는 행위 나. SW유지보수의 특징 관리적 기능 복잡도 증가에 따른 관리업무 증가 유지보수 비효율성으로 인한 패키지 SW 도입 확산 비용 측면 유지보수 운영비용이 전체 비용의 70 ~ 80% 인력 운용 신규 기술 개발보다 유지보수에

테스트 결과보고서

I. 테스트 결과 보고서의 개념 테스트 계획을 바탕으로 수행된 테스트 설계와 테스트 실행의 결과를 기록한 테스트 보고서   II. 테스트 결과 보고서 예시 보고 항목 설명 요약 – 테스트 요약: 테스트 대상, 환경, 케이스, 절차서 – 테스트 결과 요약: 전체 테스트 케이스 수 등 적합성 평가 – 계획된 적합성 기준을 충족 여부 테스트 결과 – 각

임베디드 소프트웨어 테스트

I. 초연결 사회를 위한, 임베디드 소프트웨어 테스트 가. 임베디드 소프트웨어 품질의 필요성 산업용 임베디드 소프트웨어는 오동작 또는 결함으로 인한 피해가 매우 크므로 신뢰성, 품질이 중요 나. 임베디드 소프트웨어 테스트의 중요성 산업용 임베디드 소프트웨어 품질 확보의 가장 중요한 과정으로 많은 결함들이 소프트웨어 테스트 과정에서만 식별 가능   II. 임베디드 소프트웨어 품질 특성 설명 가. 임베디드 소프트웨어

사용성 테스트

I. 고객 기준 테스트, 사용성 테스트 가. 사용성 테스트(Usability Test)의 개념 사용자의 제품 사용을 관찰/분석하여 문제점 및 개선 요구사항을 발견하는 공학적 테스트 방법론 나. 사용성 테스트의 목적 사용자 제품 만족도 제고 제품의 완성도 및 효율성 개발 생산성 대비 낮은 에러 쉬운 학습, 이해도 높은 품질 및 완성도 사용자 실수 최소화   II. 사용성 테스트의 분류

테스트 케이스 (Test Case)

I. 소프트웨어의 결함 예상 조건, Test Case 가. Test Case의 개념 특정한 프로그램 부분 및 경로를 실행해보거나 요구사항에 준수하는 지를 확인하기 위해 개발된 입력 값, 실행 조건, 예상된 결과 테스트하려는 시스템이 수행해야 하는 Action들로 구성되는 일련의 단계 나. Test Case 설계의 중요성 테스트 수행의 많은 문제들은 Test Case 설계의 미흡함에서 발생 테스트 기술 없이 직관적으로

테스트 프로세스 (Test Process)

I. 소프트웨어 테스트 프로세스 개념도 및 프로세스 설명 가. 소프트웨어 테스트 프로세스 개념도 나. 소프트웨어 테스트 프로세스 단계 설명 산출물 테스트 계획 ① 테스트 요구사항 수집 ② 테스트 계획 작성 ③ 테스트 계획 검토 – 테스트 요구사항정의서 – 테스트 계획서 테스트 케이스 설계 ① 테스트케이스설계기법 정의 ② 테스트케이스 도출 ③ 원시 데이터 수집 – 테스트케이스