Notice
Recent Posts
Recent Comments
Link
«   2025/04   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30
Tags more
Archives
Today
Total
관리 메뉴

개발의변화

5-1 소프트웨어 개발방법론 활용 본문

정보처리기사 준비

5-1 소프트웨어 개발방법론 활용

refindmySapporo 2023. 5. 5. 19:20
반응형

소프트웨어 생명주기 모델 프로세스

요구사항 분석->설계-> 구현-> 테스트 -> 유지보수

 

소프트웨어 생명주기 모델 종류(폭프나반)

폭포수 모델

각 단계를 확실히 마무리 지은 후에 다음 단계로 넘어가는 모델,오래된 모델, 명확,요구사항 변경이 어려움

고전적 생명주기 모형(Boehm)

절차: 타다성 검토-계획-요구사항 분석-설계-구현-테스트-유지보수

 

프로토타이핑 모델

주요 기능을 프로토타입으로 구현, 공동의 참조 모델, 프로토타입은 구현 단계의 구현 골격

발주자나 개발자 모두에게 공동의 참조 모델 제공

 

나선형 모델 

위험 최소화하기 위해 점진적으로 진행, 대규모 시스템에 적함

(계위개고->계획-위험 분석-개발-고객 평가)

 

반복적 모델

구축대상을 병력적으로 개발 후 통합, 반복적으로 개발하여 점증 완성시키는 SDLC 모델

 

소프트웨어 개발방법론(구정객컴 애제)

구조적 방법론

모듈의 분할과 정복, 전체 시스템을 기능에 따라 나누어 개발 이후 통합, 나씨-슈나이더만 차트(NS-chart) 제어 논리구조, 도형식 표현 방법

SADT: Structured and design technique

정보공학 방법론

정보 시스템 개발에 필요한 관리 절차와 작업 기법을 체계화한 방법론, 대형 프로젝트를 수행하는 체계적인 방법론,data중심,ERD를 사용함

 

객체 지향 방법론

객체',현실 entity를 하나의 객체로 만들어 사용

 

컴포넌트 기반 방법론

컴포너트 조립, 생상선과 품질 높이고, 유지보수 비용 최소화,독립적인 컴포넌트 단위의 관리,소프트웨어 재사용 가능

 

애자일 방법론: 절차보다는 사람이 중심이되어 변화에 유연하고 신속하게 적응 ,개발 과정의 어려움 극복

 

제품 계열 방법론: 특정 제품 적용하고 싶은 공통된 기능 정의 개발, 임베디드 소프트웨어 작성 유용한 방법론, 영역 공학(영역 분석,설계,핵심자산), 응용공학(제품 요구분석, 제품 설계, 제품 구현)

 

요구공학 방법론

고객과 개발자가 요구사항의 의미를 서로 다르게 이해하는 경우 -> 실패할 가능성 증대

시스템이 사용되는 동안 발견되는 오류의 상당 부분이 요구사항의 오류에서 파생

구조적 요구분석을 하기 위해 자동화 도구 SADT(Structured Analysis and Design Technique)

요구사항 개발 프로세스(도분명확):도출-분석-명세-확인 및 검증

도출: 인터뷰,설문조사,브레인스토밍,워크숍

분석: 자료 흐름 지향 분석, 객체 지향 분석, 요구사항 체계화 

명세: 자연어에 의한 방법, 정형황 기법 사용 방법

확인 및 검증: 리뷰, 워크 스루, 인스펙션

 

요구사항 관리 프로세스(협기변확)

협상(우선순위 설정, 시뮬레이션)-기준선 설정(공식 회의, 형상 관리)-변경관리(형상통제 위원회, 영향도 분석-확인 및 검증

 

프로젝트 관리

주어진 기간 내에 최소의 비용, 개발 계획-분석-설계-구현 소프트웨어 생명 주기 전과정, (계획관리-품질관리-범위관리-위험관리)

사람: 프로젝트 관리 가장 기본

문제: 사용자 입장에서 문제를 분석 인식

프로세스: 소프트웨어 개발에 필요한 전체적인 작업 계획 및 구조

계획 관리, 품질 관리, 범위 관리, 위험 관리

 

비용산정 모델

하항식 산정방법(전문가에게 의뢰)

 

전문가 감정 기법(전문가,편리-신속/개인적-주관적)

델파이 기법(1명 조정자,여러명 전문가,전문가 감정 기법 보완)->전문가에게 비용 산정 의뢰

 

상향식 산정방법(요구사항과 기능에 따라 필요한 비용 측정)

 

LoC: 소프트웨어 각 기능의 원시 코드 라인 수의 낙관치,중간치,비관치를 측정하여 예측치를 구하고 이를 이용하여 비용 산정

Man Month: 한 사람이 1개월 동안 할 수 있는 일의 양

 

COCOMO(constructive cost model)

 보헴이 제안한 모형으로 프로그램 규모에 따라 비용을 산정하는 방법, 비용 산정 결과는 프로젝트를 완성하는데 필요한 노력(Man-Month)으로 산정, 비용 견적의 강도 분석 및 비용 견적의 유연성 높아 통용

 

오세임

조직형(Organic),단순형: 소규모, 기관내부에서 과학 시루 계산용, 비즈니스 자료처리, 5만 라인 이하

반 분리형(semi-detached mode): 단순형과 임베디드 중간형, 트랜잭션 처리 시스템,데이터베이스 간리 시스템 개발에 적용 30만

임베디드형: 초대형 규모, 30만 이상,실시간 처리

 

푸트남 모형

개발 주기 단계별로 요구할 인력의 분포를 가정, Rayleigh - Nordan, 개발기간 높을 수로 프로젝트 적용 인원의 노력 감소,SLIM

 

기능점수모형(FP; Function Point) 모형: 요구 기능을 증가시키는 인자별로 가중치 부여, 요인별 가중치를 합산하여 총 기능의 점수를 계산하여 비용을 산정하는방식 기능점수(FP)= 총 기능점수 X (0.1 X 총 영향도), ESTIMACS 도구

자료 입력, 정보 출력, 명령어, 데이터 파일, 필요한 외부 루틴과의 인터페이스

 

일정관리 모델

주 공정법(CPM): 프로젝트의 일상을 계산, 시작과 끝의 노드와 노드의연결을 통해 공정을 계산하기 위한 액티비티 표기법

PERT: 일의 순서를 계획적으로 정리하기 위한 수렴방법 비관치,중간치, 낙과치 3점 추정 방식,소요 기간 예측이 어려운 소프트웨어

중요 연쇄 프로젝트 관리(CCPM): 자원제약사항을 고려하여 일정을 작성

간트 차트:

일정의 시작과 끝을 트래픽으로 표시 업무별로 바,차트를 이용해서, 전체 일정을 다 볼 수 있음, 수평 막대의 길이는 작어에 필요한 기간,CPM 활용 가능

 

위험 관리(Risk Analysis)

프로젝트에 내재된 위험 요소를 인식하고 그 영향을 분석하여 이를 관리하는 활동

 

소프트웨어 개발 표준

ISO/IEC 12207 표준

기조지(기본 공정 프로세스, 조직 공정 프로세스, 지원 공정 프로세스)

소프트웨어와 이해관계자들이 각자의 입장에서 수행해야 할 일을 정의하고 지속적으로 개선시키기 위한 활동

CMMI(Capability Maturity Model Integration)

소프트웨어 개발 업체들의 업무 능력 및 조직의 성숙도를 평가

기존 능력 성숙도 모델 (CMM) 발전 시킨 것

단계적 모델, 연속적 모델(비즈니스 목적 충족, 위험 요소 완화, 능력 레벨 이용하여 프로세스 영역별로 성숙도 평가 가능)

 

CMMI 단계적 표현 모형의 성숙도 레벨(초관정정최)

초기화단계-관리 단계- 정의 단계- 정량적 관리 단계-최적화 단계

 

SPICE 모델 개념

소프트웨어 프로세스에 대한 개선,평가 및 능력측정 기준에 대한 국제표준

불수관 확예최(불안정-수행-간리-확립-예측-최적화)

 

테일러링 기준

프로젝트 수행 시 예상되는 변화를 고려

사전위험 식별 제거!

조직의 표준 프로세스 커스터마이징하여 프로젝트의 비즈니스적으로 기술적인 요구에 맞게 적합한 프로세스

 

내부적 기준: 기술환경,목표환경, 납기/비용,요구사항, 프로젝트특성, 구성원 능력

외부적 기준: 국제 표준 품질 기준, 법적 규제

 

소프트웨어 개발 프레임워크

재사용성 확대 성능 보장, 전 과정에 대한 기본 골격, 제어의 역행, 직접 다 가능함

 

소프트웨어 재사용

합성 중심(Composition-Based): 블록(모듈)을 만들어서 끼워 맞추는 소프트웨어를 완성

생성 중심(Generation-Based): 추상화 형태로 쓰여진 명세 구체화하여 프로그램을 만드는 방법으로 패턴 구성 방법

 

반응형