hmk run dev

소프트웨어의 생명주기 본문

cs

소프트웨어의 생명주기

hmk run dev 2021. 12. 16. 14:43

소프트웨어의 생명주기

폭포수 모델 

폭포수라는 단어에서 유추할 수 있듯이 다시 되돌아 갈 수 없는 방식으로 각 단계를 확실하게 마무리 해야한다.

 

- 이전으로 돌아갈 수 없으니 확실히 마무리

- 2개 이상의 과정을 병행할 수 없음

- 개발의 방향을 바꿀수 있는 단계 x 초기 계획 그대로 만들어야 한다.

- 반드시 메뉴얼이 필요하다.

 

프로토타입 모델(원형 모델)

프로토타입을 만들어서 문제점을 파악하고 프로토타입을 기초로 한 완전한 소프트웨어를 만드는 방식

 

- 시제품, 견본이라고도 함

- 빠른 개발을 위해 디자인이나 마감처리 등을 무시하고 최대한 기능적인 부분만 만듦(인터페이스 중심개발)

- 폭포수 모형의 단점인 개발 후 오류 대처에 대한 부분을 보완할 수 있음

 

스파이럴 모델(나선형 모델)

대규모 프로젝트에 적합 계획 - 분석 - 개발 - 평가의 단계를 여러번 반복하며 소프트웨어의 완성도를 점진적으로 향상시킨다. 

 

- 점진적인 개발 정밀함 & 유지보수

- 위험관리 최소화 

 

유지보수가 필요없을 만큼의 프로그램을 만드는 것이 주 목적!

 

 

애자일 모델

고객과 소통을 지속적으로 유지하면서 고객중심적인 개발 방법

 

절차와 문서보단 고객과의 상호작용과 협업에 중점을 두고 빠르게 대응할 수 있는 장점이 있음

애자일 모델은 여러가지 방식이있다.

 

스크럼

팀을 중심으로 진행된다. 

 

- 제품책임자, 개발자, 스크럼 마스터로 구성되어있다.

- 제품책임자(PO) : 의사결정권이 있는 사람

- 스크럼마스터(SM) : 개발팀을 지원, 조율

- 개발팀 : 개발자, 디자이너, 테스터 들을 전부 포함한 것

 

소통을통해 개발에 필요한 사항은 backlog에 기록한다.

backlog는 형식없이 편하게 적어 '스토리'라고도 하며  우선순위는 제품책임자에 의해서만 변경가능

backlog가 준비되면 스크럼 마스터는 계획회의를 진행한다.

 

각 개발자들은 개발목표와 기간을 시간을 할당 받게 되는데 이것을 스프린트라고 한다.

예상기간 대비 실제 작업량을 비교해서 문제점을 파악한다.

 

제품 책임자는 매주 검토 회의를 통해서 필요한 내용을 backlog에 업데이트

 

백로그 : 요구사항을 우선순위에 따라 모아놓은 목록

계획회의 : 스프린트 일정 수립, 개발자 별로 스프린트 백로그 작성

일일 회의 : 스크럼마스터 주도, 소멸차트 활용,

검토 회의 : 주별, 제품책임자 주도, 백로그 업데이트

회고 : 지난 일정 되돌아보기, 개선점 찾기

 

XP 기법(extreme programming)

애자일 모델이 추구하는 고객과의 소통을 극도로 끌어올린 방식

개발주기를 짧고 반복적으로 만들어 고객의 적극적인 참여 유도 > 가시성 향상

소규모 인원의 개발 프로젝트에 효과적

 

핵심가치 (피존용단소) - 피드백, 존중, 용기, 단순, 의사소통

 

개발 프로세스

사용자 스토리 : 고객의 요구사항

릴리즈 계획 수립 : 부분과 전체의 개발 일정 수립

스파이크 : 기술 및 기능확인을 위해 간단히 만드는 프로그램

이터레이션 : 릴리즈를 좀 더 세분화 한 단위

승인 검사 : 부분 소프트웨어가 릴리즈 되면 고객이 직접 평가

소규모 릴리즈 : 릴리즈 별로 고객의 피드백 확인 가능

 


시스템파악

시스템 구성 : 기간(주요) 업무와 지원 업무의 주요 기능 파악

시스템 기능 : 주요 기능별 세부 기능들을 목록형으로 표시

시스템 인터페이스 : 주고받는 데이터의 형식, 프로토콜 파악

 

구기인아소하네

 

구 : 업무시스템에 성 파악

- 기간 어부 : 주요 업무 담당

- 지원 업무 : 지원 업무 담당

시스템 별 기능 명시

 

기 : 시스템 별 능 파악

- 계층형 표시

 

인 : 시스템 터페이스 파악

- 업무 시스템 간에 주고받는 데이터의 종류 및 형식, 프로토콜 등

 

아 : 시스템 키텍처 파악

- 각 시스템이 어떻게 동작하는지 동작하는 기술요소의 원리를 표현

 

소 : 프트웨어 구성 파악

- 소프트웨어의 용도

- 라이선스 개수

 

하 : 드웨어 구성파악

서버의 주요사양, 수량, 이중화 적용여부

 

네 : 트워크 구성파악

- 네트워크 구성도 작성을 통해 물리적 위치, 보안 취약점 분석 유지보수 등에 활용

 

개발 기술 환경파악

1. 운영체제 : 시스템 자원 관리, 하드웨어 제어를 위한 인터페이스 

고려사항 : 주변기기 지원여부

2. DBMS : 데이터베이스 관리를 위한 시스템, 종속성과 중복성 해결 

DB에 대한 모든 권한과 책임이 있음

고려사항 : 상호 호환성, 데이터 이중화

3.WAS : 동적 콘텐츠 처리를 위한 미들웨어, DB서버와 연동

미들웨어 : 서버와 클라이언트 중간에 위치, 클아이언트 대신 복잡한 처리를 하기 위함

고려사항 : 다양한 옵션

 

공통 고려사항 : 가용성, 성능. 비용, 기술지원

오픈소스 : 라이선스 종류, 기술 지속가능성, 사용자 수

 

'cs' 카테고리의 다른 글

컴퓨터 구조를 알아야 하는 이유  (0) 2024.03.01
Process와 Thread  (0) 2024.02.27
컴퓨터 구조와 운영체제  (0) 2022.02.19
정처기 오답노트  (0) 2022.02.09
OSI 7계층  (0) 2022.01.21
Comments