소프트웨어 개발 프레임워크는 소프트웨어 개발에 공통적으로 사용되는 구성 요소를 일반화하여 제공해주는 반제품 형태의 소프트웨어 시스템입니다. 선행 사업자의 기술에 의존하지 않는 표준화된 개발 기반으로 인해 사업자 종속성을 해소시킬 수 있습니다. 소프트웨어 개발 프레임워크의 주요 기능은 다음과 같습니다. - 예외 처리 - 트랜잭션 처리 - 메모리 공유 - 데이터 소스 관리 - 서비스 관리 - 쿼리 서비스 - 로깅 서비스 - 사용자 인증 서비스 소프트웨어 개발 프레임워크의 특성은 다음 4가지가 있습니다. - 모듈화 - 재사용성 - 확장성 - 제어의 역흐름 소프트웨어 개발 프레임워크의 종류는 아래 3가지가 있습니다. - 스프링 프레임워크 : 자바 플랫폼을 위한 오픈 소스 경량형 애플리케이션 프레임워크 - 전자정..
요구사항 확인
소프트웨어 개발 표준은 소프트웨어 개발 단계에서 수행하는 품질 관리에 사용되는 국제 표준을 의미합니다. 주요 소프트웨어 개발 표준에는 아래 3가지가 있습니다. - ISO/IEC 12207 - CMMI - SPICE ISO/IEC 12207은 국제표준화기구 ISO에서 만든 표준 소프트웨어 생명 주기 프로세스입니다. 크게 3가지로 분류할 수 있습니다. 기본 생명 주기 프로세스 지원 생명 주기 프로세스 조직 생명 주기 프로세스 획득, 공급, 개발, 운영, 유지보수 품질 보증, 검증, 확인, 활동 검토, 감사, 문서화, 형상 관리, 문제 해결 관리, 기반 구조, 훈련, 개선 CMMI는 'Capability Maturity Model Integration'의 약자로 '능력 성숙도 통합 모델'이라는 뜻입니다. 조직..
소프트웨어 개발 방법론 테일러링은 소프트웨어 개발 방법론을 수정 및 보완하는 작업입니다. 소프트웨어 개발 방법론 테일러링의 수행 절차는 아래와 같습니다. 프로젝트 특징 정의 → 표준 프로세스 선정 및 검증 → 상위 수준의 커스터마이징 → 세부 커스터마이징 → 테일러링 문서화 소프트웨어 개발 방법론 테일러링 고려사항은 다음과 같이 2가지 기준이 있습니다. 내부적 기준 외부적 기준 목표 환경 요구사항 프로젝트 규모 보유 기술 법적 제약사항 표준 품질 기준
소프트웨어 개발 방법론 결정 절차는 아래와 같습니다. 1. 프로젝트 관리와 재사용 현황을 반영한다. 2. 소프트웨어 생명 주기에 맞추어 절차를 수립한다. 3. 결정된 소프트웨어 개발 방법론의 매뉴얼을 작성한다. 프로젝트 관리의 유형은 아래 5가지와 같습니다. - 일정 관리 - 비용 관리 - 인력 관리 - 위험 관리 - 품질 관리
소프트웨어 개발 방법론은 소프트웨어 개발에 필요한 수행 방법과 각종 기법 및 도구를 체계적으로 정리하여 표준화한 것입니다. 소프트웨어 개발 방법론의 목적은 소프트웨어의 생산성과 품질의 향상입니다. 주요 소프트웨어 개발 방법론은 다음과 같습니다. - 구조적 방법론 - 정보공학 방법론 - 객체지향 방법론 - 컴포넌트 기반 방법론 (CBD) - 제품 계열 방법론 - 애자일 방법론 하나씩 자세히 살펴보겠습니다. 구조적 방법론은 요구사항을 문서화하는 처리(Process) 중심의 방법론으로, 1960대까지 가장 많이 적용되었습니다. 복잡한 문제를 다루기 위해 분할과 정복 원리를 적용합니다. 구조적 방법론의 절차는 아래와 같습니다. 타당성 검토 → 계획 → 요구사항 → 설계 → 구현 → 시험 → 운용/유지보수 정보공..
소프트웨어 재사용(Reuse)은 이미 개발된 소프트웨어를 다시 쓰는 것입니다. 소프트웨어 재사용 방법에는 다음 2가지가 있습니다. - 합성 중심 (Composition-Based) : 블록 구성 방법, 소프트웨어 부품을 끼워 맞추기 - 생성 중심 (Generation-Based) : 패턴 구성 방법, 추상화 형태로 써진 명세를 구체화하기 소프트웨어 재공학(Reengineering)은 기존 시스템에 새로운 기능을 추가하여 소프트웨어 성능을 향상시키는 것입니다. 소프트웨어 재공학을 통해 유지보수의 생산성을 향상시킬 수 있습니다. CASE란 'Computer Aided Software Engineering'의 약자로, 소프트웨어 개발 과정에서 사용되는 과정을 자동화하는 것입니다. CASE Tool을 자동화 도..
PERT란 'Program Evaluation and Review Technique'의 약자로, 번역하면 '프로그램 평가 및 검토 기술'입니다. 전체 작업의 상호 관계를 표시하는 네트워크로서, 개발 경험이 없어 소요 기간 예측이 어려운 프로젝트 일정 계획에 사용합니다. 간선에는 낙관치, 기대치, 비관치를 표시합니다. PERT는 다음과 같이 생겼습니다. CPM은 'Critical Path Method' 즉 '임계 경로 기법'의 약자입니다. 작업들을 나열한 후 필요한 소요 기간을 예측하는데 사용하는 기법입니다. 간선에는 작업 사이의 전후 의존 관계를 나타냅니다. 임계 경로는 최장 경로를 의미합니다. CPM은 다음과 같이 생겼습니다. - 원형 노드 : 각각의 작업 - 박스 노드 : 이정표 간트 차트는 프로젝트..
소프트웨어 비용 결정 요소는 크게 아래 3가지로 분류할 수 있습니다. 프로젝트 요소 자원 요소 생산성 요소 제품 복잡도 시스템 크기 요구되는 신뢰도 인적 자원 하드웨어 자원 소프트웨어 자원 개발자 능력 개발 기간 하향식 비용 산정 기법은 과거의 유사한 경험을 바탕으로 회의를 통해 비용을 산정하는 비과학적인 방법입니다. 하향식 비용 산정 기법에는 아래 2가지가 있습니다. 전문가 감정 기법 델파이 기법 2명 이상의 전문가 1명의 조정자 + 여러 전문가 상향식 비용 산정 기법은 작업 단위별로 비용을 산정한 후 집계하여 전체 비용을 산정하는 방법입니다. 상향식 비용 산정 기법에는 아래 3가지가 있습니다. LOC 기법 개발 단계별 인월수 기법 수학적 산정 기법 COCOMO 모형 Putnam 모형 FP 모형 원시 ..
패키지 다이어그램이란 패키지간의 의존 관계를 표현한 것입니다. 대규모 시스템에서 주요 요소간의 종속성을 파악하는 데 사용합니다. ★ 패키지 다이어그램은 다음과 같이 생겼습니다. 패키지 다이어그램의 구성 요소는 다음 3가지와 같습니다. 1) 패키지 - 단순 표기법 : 패키지 안에 패키지 이름만 표현 - 확장 표기법 : 패키지 안에 요소들까지 표현 2) 객체 3) 의존 관계 패키지-패키지, 패키지-객체 간을 점선 화살표로 연결 스테레오타입을 이용해 의존 관계를 구체적으로 표현 가능 - 《import》 : 객체들을 직접 가져오는 관계 - 《access》 : 인터페이스를 통해 객체에 접근하는 관계