2. 소프트웨어 공학/소프트웨어개발방법론 9

리팩토링

I. 구조개선을 통한 SW 품질향상, 리팩토링 개요 -. 코딩 오류 가능성을 최소화하기 위해 프로그램 내에서 이해하기 어렵고, 수정하기 힘들며, 확장하기 어려운 코드를 원래 기능을 그대로 두면서 내부구조를 개선하는 활동 -. 소프트웨어 모듈의 외부적 기능은 수정하지 않고 내부적 구조, 관계 등을 단순화하여 소프트웨어의 유지 보수성을 향상시키는 품질 향상 기법 -. 소프트웨어를 보다 쉽게 이해할 수 있고 유지보수를 용이하게 할 수 있도록 겉으로 보이는 동작의 변화 없이 내부 구조를 변화시키는 활동 -. 소프트웨어의 이해성 및 유지보수성을 높이기 위해 code smell을 제거하여 동작의 변화없이 내부구조를 변경하는 활동 -. 결과의 변경 없이 코드의 구조를 재조정하여 가독성을 높이고, 유지보수를 편하게 하..

모듈화

I. 효율적 구성 지원 모듈화 개요 -. 프로그램을 분해하고 추상화하여 소프트웨어의 성능을 향상시키거나, 프로그램의 시험, 통합 및 수정을 용이하게 하는 설계 및 구현 기법 -. 프로그램을 효율적으로 관리할 수 있도록 하는 S/W 특성으로 시스템을 분해하고, 추상화를 통하여 S/W제품의 성능을 향상시키거나, 시스템의 디버깅 시험, 통합 및 수정을 용이하게 하는 설계방법 -. 소프트웨어 설계 원리 -. 특징: 모듈성, 응집도, 결합도 구분 설명 특징 모듈성 (Modularity) 프로그램을 효율적으로 관리할 수 있도록 하는 소프트웨어의 특성으로 시스템 분해 및 추상화를 통해 소프트웨어 성능 향상을 위한 적합한 프로그램 단위 성능향상 컴포넌트화 재사용성 응집도 (Cohesion) 모듈의 독립성을 나타내는 개..

function point

I. function point -. 사용자 관점에서 사용자가 요구하고 사용자에게 인도되는 기능을 정량적으로 산정하여 소프트웨어 규모를 측정하는 방법(ISO/IEC 14143) -. 소프트웨어 크기를 결정하는 소프트웨어 기능 유형 별 수량과 성능 및 품질 요인들의 영향도를 고려하여 계산되는 SW 규모 산정 방식 -. 정보처리의 규모와 기능의 복잡도 요인에 의거한SW 규모 산정 방법으로 개발자 중심의 물리적 접근 방식에서 벗어나, 사용자 관점에서 소프트웨어 규모 측정 모델 - 특징: 기능측정, 수요자 관점, 사전 측정 가능, 활용성, 일관성 특징 설명 기능측정 소프트웨어가 사용자에게 제공하는 기능적 요구사항을 측정 수요자 관점 '사용자가 어떠한 기능을 요구했는지'에 집중하여 측정 사전 측정 가능 실제 개발..

사업타당성 평가

I. 현재와 미래 예측, 사업타당성 평가 개요 -. 사업화하거나 투자를 확대할 때 사업의 기술성 및 사업 타당성을 등급으로 평가하는 방법 -. 기술이 적용될 신규 사업 프로젝트에 대한 사업 추진 타당성을 위한 심층평가 -. 평가 관점: 기술성, 권리성, 시장성, 사업성, 유용성, 경쟁성 II. 사업타당성 평가 항목 가. 사업타당성 평가 관점 나. 사업타당성 평가 항목 평가관점 평가 항목 설명 기술성 기술개요 기술의 개척성, 복잡성, 기술환경 기술 동향 유용성 기술활용성 및 파급 효과 경쟁성 경쟁 기술대비 기술수준 우위성, 첨단성 권리성 권리안정성 산업내 선도여부(난문제, 독창성, 차별성) 권리범위 광협 법적인 강도, 권리 행사범위 기술적용여부 선행기술정보 조사 시장성 시장개요 기술개발단계 및 투자 위험 ..

요구사항관리

I. 프로젝트 완성 합의의 기준, 요구사항 관리 개념 -. 요구사항을 정의하고 문서화하는데 필요한 요구사항의 추출, 분석, 명세, 검증, 유지보수 및 관리의 제반 공정에 대한 체계적 접근방법(IEEE Standard) -. 모든 요구공학 프로세스의 단계와 병행적으로 수행되면서 요구사항에 대한 변경관리 -. 제품이 성공적으로 완성되었는지 합의하기 위한 기본역할과 책임부여 -. 프로젝트 진행과정에서 발생하는 요구사항 변경에 대해 일치성과 무결성을 제공하기 위해 변경제어와 추적 등의 활동을 수행 필요성: 추적성 제공, 범위 기준선 제공, 일정과 원가에 영향 II. 요구사항 수집 기법 및 절차 가. 요구사항 수집 기법 기법 설명 포커스 그룹 -. Focus Goup Interview -. Moderator(조정..

Agile방법론

I. 절차보다 사람 중심, Agile 방법론 개요 -. 프로세스보다 사람 중ㅅ미이 되어 요구사항 변경에 대해 유연하고 신속하게 적응하면서 시스템을 개발할 수 있는 반복적 방법론 -. 효율적인 제품, SW 개발을 위해 절차보다 사람과 제품에 집중, 낭비를 제거, 고객의 요구사항을 유연하고 신속하게 반영하기 위한 방법론 -. 애자일(기만한, 좋은 것을 빠르고 낭비없게 만드는 것) 개발을 가능하게 해 주는 다양한 방법론 전체를 말함 -. 특징: 가변적 요구대응, 고객만족, 개발자 동기부여, Sweet Spots 특징 설명 애자일에 적합한 환경 고객 요구사항이 자주 변경되는 경우 애자일 방법론이 적합 고객 참여도 고객 프로세스에 협력하기 때문에 고객과 신속한 피드백이 가능 업무 효율화 프로젝트를 여러 부분으로 ..

정보공학방법론

I. 기업정보시스템 개발을 위한 정보공학 방법론 개요 -. 개별 소프트웨어가 아닌 기업에서 사용하는 업무 시스템 구축에 목표를 두어 기업이 전략적 경쟁우위를 확보할 수 있도록 데이터 중심 분석과 설계 관점의 개발방법론 -. 기업 전체 또는 기업의 주요 부문을 대상으로 정보시스템의 계획수립, 분석, 설계 및 구축에 이르는 기법들의 상호 연관된 집합을 적용하는 데이터 중심의 방법론 특징: 기업중심, ISP 중심, 데이터 중심, 분할과 정복, 공학적 접근, 사용자 참여 특징 설명 기업중심 적용대상이 기업의 비즈니스 시스템 기업의 전략 경영을 지원하기 위해 SIS(Strategic Information System)에 초점 ISP 중심 계획 단계에 수행되는 활동으로 경영층의 요구와 견해를 시스템에 반영 기업의 ..

SCRUM

I. 실용주의 개발방법론 SCRUM의 개요 가. SCRUM 정의 작은 개발팀과 짧은 개발기간 동안 점진적, 반복적으로 프로젝트를 완성하는 애자일 개발방법론 나. SCRUM 특징 특징 설명 투명성 회의, 소멸챠드, 리뷰 통해 프로젝트 상태, 문제점 파악가능 타임박싱 시간제한으로 프로젝트 진행 집중 가능, 일일스크럼 15분 진행, 스프린트 리뷰 매이터테이션마다 진행 커뮤니케이션 문제점 공유, 플래닝 포커로 사용자 스토리 구현난이도, 시간 토론 경험주의 모델 기본적인 구조 동일, 팀마다 달라지는 것 인정, 개개인의 경험 중시 II. SCRUM 프로세스 및 구성요소 가. SCRUM 프로세스 나. SCRUM 구성요소 구분 구성요소 설명 요구사항 Product backlog - PO(Product Owner)에 의..

소프트웨어 재사용

키워드: 재사용, 역공학, 코드 재사용, 소프트웨어 표준화, 소프트웨어 유지보수 1. SW 재사용 가) SW 재사용 개요 기존의 SW 또는 SW 지식을 활용, 새로운 SW를 구축하는 일 설계, 요구명세, 검사, 아키텍트 포함 (1) SW 재사용 배경 -. SW 위기로 인한 품질 및 생산성 저하 -. SW 개발의 자동화 기술 발달로 CASE 도구 사용 확대 -. SW 개발 표준화 준수 및 품질확보 노력 (2) SW 재사용의 정의 -. 사용 SW 개발관련 지식(기능, 모듈, 구성 등)을 표준화하여 개발 생산성을 높이기 위하여 반복적으로 사용하기에 적합하록 구성하는 방버 -. 기존 개발 기능, 성능, 품질을 인정 받았던 SW 전체 또는 일부분을 다시 사용하여 신규 개발되는 SW 품질과 생산성, 신뢰성을 높이고..