Archive

소프트웨어 개발 모델 본문

기타

소프트웨어 개발 모델

mariabeetle 2017. 10. 12. 02:38

1. 소프트웨어 개발 모델

- 소프트웨어 생명주기 모델 : 소프트웨어 탄생부터 개발 과정 및 소멸까지 이르는 전 과정을 기술한 모델

# 요구사항 분석 : 사용자의 문제를 해결하거나 목적을 달성하기 위해 소프트웨어가 제공해야하는 서비스나 품질 등과 관련된 제약 사항을 의미. 소프트웨어 요구사항을 고객으로부터 수집하고 분석하고 명세하는 단계.

# 설계 : 요구사항을 만족하기 위한 최적의 방법을 선정하는 단계. 응집도(cohesion)과 결합도(coupling)가 대표적인 설계 원칙. 개별 모듈의 응집도는 높게 하고 모듈 간의 결합도는 낮도록 설계.

# 구현 : 중요 산출물로는 프로그램 코드

# 테스트 : 개발된 프로그램이 고객의 요구대로 동작이 되는지 시험하는 단계. 소프트웨어의 요구사항 문서나 코드로부터 테스트케이스를 설계. 

@ 블랙박스(black-box) 테스트 : 요구사항으로부터 테스트 케이스 설계.

@ 화이트박스(white-box) 테스트 : 코드로부터 테스트 케이스 설계.


- 폭포수 모델(waterfall) : 요구사항 분석, 설계, 구현, 테스트, 유지보수 작업 단계가 선형으로 연결.

폭포수 모델에 대한 이미지 검색결과

# 각 단계가 완전히 끝나야하는데 현실적으로 어렵고 불가능.

# 피드백을 받으면서 진행하기 어려움.


- 애자일 방법 : 프로젝트 개발 과정을 1주에서 4주 정도로 짧은 개발주기를 가지는 여러 개의 이터레이션(iteration)이라고 불리는 개발 사이클로 분할해 프로젝트를 진행. 각 이터레이션에는 분석, 설계, 구현 및 테스트를 수행. 이터레이션이 종료되면 작은 소프트웨어라도 일부 기능이 구현된 소프트웨어가 산출되기 때문에 요구사항의 반영과 피드백을 받기 유연함.

관련 이미지

# 프로세스나 도구보다는 개개인과 그들 간의 상호 협력에 가치를 둔다.

# 포괄적인 문서화보다는 동작하는 소프트웨어에 많은 가치를 둔다.

# 계약 협상보다는 고객과의 협력에 많은 가치를 둔다.

# 계획에 따르기보다는 변화에 대한 대응에 많은 가치를 둔다.


2. 스크럼(Scrum)

Scrum_Framework_lg

- 프로젝트 비전 설정 : 제품에 대한 목표 고객을 식별하고 고객이 원하는 시스템의 제공 기능이 무엇이고 어떻게 제공하는지, 다른 경쟁 제품과 어떤 차이가 있는지 나타내자.

- 비즈니스 목적 설정 : 프로젝트가 고객에게 어떤 가치나 이득을 제공하는지 명확히 정의.

# 범위 초과(scope creep) : 프로젝트 목적과 관계없는 시간, 돈, 자원 등을 투자하는 현상.

# Impact Mapping 방법으로 비즈니스 목적과 관련없는 내용을 식별하자.

impact mapping에 대한 이미지 검색결과

# 상업적 이득과 공공의 이득을 구분지어 생각하자. 


- 제품 백로그(product backlog) : 제품 개발을 위해 해야 할일의 목록. 개발해야 하는 기능과 비기능적 특성뿐 아니라 제품 개발에 사용되는 기술적 내용, 업무 개선 사항 등의 작업을 포함.

# 우선순위를 매겨 작업을 진행.

# 스토리 포인트(story point) : 스토리를 구현하는 데 소요되는 상대적인 노력의 양과 개발 복잡도, 내재된 위험 등을 종합적으러 분석.

'기타' 카테고리의 다른 글

격파르타 SQLD 챌린지 실제 합격 후기  (0) 2024.06.02
공개데이터 정리  (0) 2022.08.07
Lex 기초  (0) 2017.10.07
Comments