- 소프트웨어 개발 방법론
- 소프트웨어 개발 방법론의 개요
- 소프트웨어 개발 방법론: 소프트웨어 개발, 유지보수 등에 필요한 여러 가지 일들의 수행 방법과 이러한 일들을 효율적으로 수행하려는 과정에서 필요한 각종 기법 및 도구를 체계적으로 정리하여 표준화한 것
- 주요 소프트웨어 개발 방법론
- 구조적 방법론
- 정보공학 방법론
- 객체 지향 방법론
- 컴포넌트 기반 (CBD) 방법론
- 제품 계열 방법론
- 애자일 방법론
- 각 소프트웨어 개발 방법론의 특징
- 구조적 방법론: 정형화된 분석 절차에 따라 사용자 요구사항을 파악하여 문서화하는 처리 (Process) 중심의 방법론
- 정보공학 방법론: 정보 시스템의 개발을 위해 계획, 분석, 설계, 구축에 정형화된 기법들을 상호 연관성 있게 통합 및 적용하는 자료 (Data) 중심의 방법론
- 객체지향 방법론: 현실 세계의 개체 (Entity)를 기계의 부품처럼 하나의 객체 (Object)로 만들어, 소프트웨어를 개발할 때 기계의 부품을 조립하듯이 객체들을 조립해서 필요한 소프트웨어를 구현하는 방법론
- 객체 지향 방법론의 기본 원칙: 캡슐화, 정보 은닉, 추상화, 상속성, 다형성 등
- 컴포넌트 기반 (CBD; Component Based Design) 방법론: 기존의 시스템이나 소프트웨어를 구성하는 컴포넌트 (Component)를 조합하여 하나의 새로운 애플리케이션을 만드는 방법론
- 제품 계열 방법론
- 제품 계열 방법론: 특정 제품에 적용하고 싶은 공통된 기능을 정의하여 개발하는 방법론
- 임베디드 소프트웨어 (Embedded Software)를 만드는데 적합
- S/W공학의 발전적 추세
- 소프트웨어 재사용
- 소프트웨어 재사용의 개념
- 소프트웨어 재사용: 이미 개발되어 인정받은 소프트웨어를 다른 소프트웨어 개발이나 유지에 사용하는 것
- 소프트웨어 재사용의 장단점
- 장점
- 소프트웨어 품질 향상
- 소프트웨어 개발의 생산성 향상
- 구축 방법에 대한 지식의 공유
- 개발 시간과 비용 단축
- 프로젝트 실패 위험 감소
- 단점
- 기존 프로그래밍 언어에 종속적
- 프로그램의 표준화 부족
- 재사용 소프트웨어 추가의 어려움
- 개발 시간과 비용 단축
- 새로운 개발 방법론 도입의 어려움
- 장점
- 소프트웨어 재사용의 개념
- 소프트웨어 재공학 (Software Reengineering)
- 소프트웨어 재공학의 개념
- 소프트웨어 재공학: 새로운 요구에 맞도록 기존 시스템을 이용하여 보다 나은 시스템을 구축하고, 새로운 기능을 추가하여 소프트웨어 성능을 향상시키는 것
- 소프트웨어 재공학의이점
- 소프트웨어의 품질 향상
- 소프트웨어의 생산성 증가
- 소프트웨어의 수명 연장
- 소프트웨어의 오류 감소
- 소프트웨어 재공학의 개념
- CASE (Computer Aided Software Engineering)
- CASE의 개념
- CASE: 소프트웨어 개발 과정에서 사용되는 요구 분석, 설계, 구현, 검사 및 디버깅 과정 전체 또는 일부를 컴퓨터와 전용 소프트웨어 도구를 사용하여 자동화하는 것
- CASE의 주요 기능
- 소프트웨어 생명 주기 전 단계의 연결
- 다양한 소프트웨어 개발 모형 지원
- 그래픽 지원
- CASE의 개념
- 소프트웨어 개발 방법론 결정
- 소프트웨어 개발 방법론 결정의 개념
- 소프트웨어 개발 방법론을 결정하는 것은 프로젝트 관리와 재사용 현황을 소프트웨어 개발 방법론에 반영하고, 확정된 소프트웨어 생명 주기와 개발 방법론에 맞춰 소프트웨어 개발 단계, 활동, 작업, 절차 등을 정의하는 것
- 소프트웨어 개발 방법론 결정 절차
- 프로젝트 관리 (Project Management)
- 프로젝트 관리: 주어진 기간 내에 최소의 비용으로 사용자를 만족시키는 시스템을 개발하기 위한 전반적인 활동
- 프로젝트 관리 유형: 일정 관리, 비용 관리, 인력 관리, 위험 관리, 품질 관리
- 프로젝트 관리 (Project Management)
- 소프트웨어 개발 방법론 결정의 개념
- 소프트웨어 개발 표준
- 소프트웨어 개발 표준의 개념
- 소프트웨어 개발 표준: 소프트웨어 개발 단계에서 수행하는 품질 관리에 사용되는 국제 표준을 의미
- ISO/IEC 12207: 소프트웨어의 개발, 운영, 유지보수 등을 체계적으로 관리하기 위한 소프트웨어 생명 주기 표준을 제공
- CMMI: 소프트웨어 개발 조직의 업무 능력 및 조직의 성숙도를 평가하는 모델
- SPICE: 정보 시스템 분야에서 소프트웨어의 품질 및 생산성 향상을 위해 소프트웨어 프로세스를 평가 및 개선하는 국제 표준
- 소프트웨어 개발 표준의 개념
- 소프트웨어 개발 방법론 테일러링
- 소프트웨어 개발 방법론 테일러링의 개념
- 소프트웨어 개발 방법론 테일러링: 프로젝트 상황 및 특성에 맞도록 정의된 소프트웨어 개발 방법론의 절차, 사용기법 등을 수정 및 보완하는 작업
- 소프트웨어 개발 방법론 테일러링 고려사항
- 내부적 기준: 목표 환경, 요구사상, 프로젝트 규모, 보유기술
- 외부적 기준: 법적 제약사항, 표준 품질 기준
- 소프트웨어 개발 방법론 테일러링의 개념
- 소프트웨어 개발 프레임워크의 개요
- 소프트웨어 개발 프레임워크의 개념
- 소프트웨어 개발 프레임워크 (Framework): 소프트웨어 개발에 공통적으로 사용되는 구성 요소와 아키텍처를 일반화하여 손쉽게 구현할 수 있도록 여러 가지 기능들을 제공해주는 반제품 형태의 소프트웨어 시스템
- 소프트웨어 개발 프레임워크의 주요 기능
- 예외 처리
- 트랜잭션 처리
- 메모리 공유
- 데이터 소스 관리
- 서비스 관리
- 쿼리 서비스
- 로깅 서비스
- 사용자 인증 서비스
- 소프트웨어 개발 프레임워크의 주요기능
- 스프링 프레임워크 (Spring Framework)
- 전자정부 프레임워크
- 닷넷 프레임워크
- 소프트웨어 개발 프레임워크의 특성: 모듈화 (Modularity), 재사용성 (Reusability), 확장성 (Extensibility), 제어의 역흐름 (Inversion of Control)
- 소프트웨어 개발 프레임워크의 개념
- 소프트웨어 재사용
- 프로젝트 일정 계획
- 프로젝트 일정 계획의 개념
- 프로젝트 일정 계획: 프로젝트의 프로세스를 이루는 소작업을 파악하고 예측된 노력을 각 소작업에 분배하여 소작업의 순서와 일정을 정하는 것
- 프로젝트 일정 계획에 사용되는 기능
- WBS (Work Breakdown Structure, 업무 분류 구조)
- PERT (Program Evaluation and Review Technique, 프로그램 평가 및 검토 기술)
- CPM (Critical Path Method, 임계 경로 기법)
- 간트 차트 (Gantt chart)
- 프로젝트 일정 계획의 개념
- 소프트웨어 개발 방법론의 개요
- 소프트웨어 비용 산정 기법
- 하향식 비용 산정 기법
- 하향식 비용 산정 기법: 과거의 유사한 경험을 바탕으로 전문 지식이 많은 개발자들이 참여한 회의를 통해 비용을 산정하는 비과학적인 방법
- 하향식 비용 산정 기법의 종류
- 전문가 감정 기법
- 델파이 기법
- 상향식 비용 산정 기법
- 상향식 비용 산정 기법의 개념
- 상향식 비용 산정 기법: 프로젝트의 세부적인 작업 단위별로 비용을 산정한 후 집계하여 전체 비용을 산정하는 방법
- 상향식 비용 산정 기법의 종류
- LOC (원시 코드 라인 수) 기법
- 개발 단계별 인월수 (Effort Per Task) 기법
- 상향식 비용 산정 기법의 개념
- 수학적 산정 기법
- 수학적 산정 기법의 개념
- 수학적 산정 기법: 상향식 비용 산정 기법으로, 경험적 추정 모형, 실험적 추정 모형이라고도 함
- 수학적 산정 기법의 종류
- COCOMO (COnstructive COst MOdel) 모형
- Putnam 모형
- 기능 점수 (FP) 모형
- 비용 산정 자동화 추정 도구: SLIM, ESTIMACS
- 수학적 산정 기법의 개념
- 하향식 비용 산정 기법
'정보처리기사' 카테고리의 다른 글
[정보처리기사] 실기 노트 - 데이터 입출력 구현 2 (1) | 2025.01.03 |
---|---|
[정보처리기사] 실기 노트 - 데이터 입출력 구현 1 (1) | 2024.11.05 |
[정보처리기사] 실기 노트 - 요구사항 2 (1) | 2024.11.04 |
[정보처리기사] 실기 노트 - 요구사항 확인 1 (0) | 2024.11.03 |
[정보처리기사] 필기 노트 - 시스템 보안 구축 (4) | 2024.10.16 |