데이터베이스 설계 시 고려사항 무결성 / 일관성 / 회복 / 보안 / 효율성 / 확장 데이터베이스 설계 순서 1) 요구 조건 분석 : 요구 조건 명세서 2) 개념적 설계 ★★ : 개념 스키마 / 트랜잭션 모델링 / E-R 모델 (정보 모델링) 3) 논리적 설계 ★★ : 논리 스키마 / 트랜잭션 인터페이스 설계 / 목표 DBMS에 맞는 스키마 설계 (데이터 모델링) 4) 물리적 설계 ★★ : 저장 레코드 양식 설계 / 레코드 집중의 분석 및 설계 / 접근 경로 설계 5) 구현 : DDL을 이용해 DB 생성 / 트랜잭션 작성 (데이터 구조화)
데이터저장소 데이터저장소는 데이터들을 조직하고 구축한 것을 의미합니다. 데이터저장소의 종류에는 아래 2가지가 있습니다. - 논리 데이터저장소 - 물리 데이터저장소 데이터의 독립성의 종류에는 아래 2가지가 있습니다. - 논리적 독립성 : 응용 프로그램과 데이터베이스를 독립 - 물리적 독립성 : 응용 프로그램과 물리적 장치를 독립 데이터베이스 (DB) 데이터베이스는 여러 사람들과 공동으로 사용할 데이터를 통합하여 운영하는 운영 데이터입니다. 즉 데이터베이스는 다음과 같은 키워드로 정의할 수 있습니다. - 통합된 데이터 - 저장된 데이터 - 운영 데이터 - 공용 데이터 ★ 스키마(Schema)란 DB의 구조와 제약조건을 명세한 것입니다. 종류는 아래 3가지가 있습니다. - 외부 스키마 : 사용자의 입장에서 필..
데이터 전환 데이터 전환이란 기존 정보 시스템에 있는 데이터를 '추출(Extraction)'하고, '변환(Transformation)'한 후, 새로운 정보 시스템에 '적재(Loading)'하는 과정을 말합니다. 한 단어로 줄여서 ETL(Extraction, Transformation, Loading)이라고 합니다. 또는 데이터 이행, 데이터 이관이라고도 합니다. 데이터 전환 계획서란 데이터 전환을 하기 위한 계획을 기록하는 문서입니다. 데이터 검증 데이터 검증이란 데이터 전환이 정상적으로 수행됐는지 확인하는 과정입니다. 데이터 검증은 다음 두 가지 기준에 따라 분류할 수 있습니다. 검증 방법에 따른 분류 로그 검증 기본 항목 검증 응용 프로그램 검증 응용 데이터 검증 값 검증 추출, 전환, 적재 로그 검..
소프트웨어 개발 프레임워크는 소프트웨어 개발에 공통적으로 사용되는 구성 요소를 일반화하여 제공해주는 반제품 형태의 소프트웨어 시스템입니다. 선행 사업자의 기술에 의존하지 않는 표준화된 개발 기반으로 인해 사업자 종속성을 해소시킬 수 있습니다. 소프트웨어 개발 프레임워크의 주요 기능은 다음과 같습니다. - 예외 처리 - 트랜잭션 처리 - 메모리 공유 - 데이터 소스 관리 - 서비스 관리 - 쿼리 서비스 - 로깅 서비스 - 사용자 인증 서비스 소프트웨어 개발 프레임워크의 특성은 다음 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은 다음과 같이 생겼습니다. - 원형 노드 : 각각의 작업 - 박스 노드 : 이정표 간트 차트는 프로젝트..