• 검색 결과가 없습니다.

01. 소프트웨어 개발 프로세스의 이해

N/A
N/A
Protected

Academic year: 2022

Share "01. 소프트웨어 개발 프로세스의 이해"

Copied!
13
0
0

로드 중.... (전체 텍스트 보기)

전체 글

(1)

1

p. 1

• 원광대학교 컴퓨터소프트웨어공학과

• 2018학년도 1학기 수요일 4교시 목요일 34교시

• 소프트웨어공학 / 374022-01

A02. 소프트웨어 개발 프로세스 소프트웨어공학

p. 2

• 소프트웨어 개발 프로세스

• 01. 소프트웨어 개발 프로세스의 이해

• 02. 소프트웨어 프로세스 모델의 이해

• 03. 주먹구구식 모델

• 04. 선형 순차적 모델

• 05. V 모델

• 06. 진화적 프로세스 모델

• 07. 나선형 모델

• 08. 단계적 개발 모델

• 09. 통합 프로세스 모델

• 10. 애자일 프로세스 모델

목차

그림: 쉽게 배우는 소프트웨어 공학, 김치수, 한빛미디어

(2)

p. 3

• 1. 프로세스

• 일이 처리되는 과정/공정

• 주어진 일을 해결하기 위한 목적으로 그 순서가 정해져 수행되는 일련의 절차

01. 소프트웨어 개발 프로세스의 이해

• 2. 소프트웨어 개발 프로세스

• 작업(Task)

• 일을 수행하는 작은 단위

• 활동(Activity)

• 작업 순서 + (일정, 예산, 자원 등) 제약 조건(Constraint)

01. 소프트웨어 개발 프로세스의 이해

(3)

3

p. 5

• 소프트웨어 프로세스 모델의 정의

• 소프트웨어 개발 생명주기(SDLC, Software Development Life Cycle)

• 소프트웨어 프로세스 모델의 목적

• 고품질의 소프트웨어 제품을 만드는 것

• 소프트웨어 프로세스 모델의 역할

• 전체적인 기본 골격 수립

• 일정 계획 수립

• 개발 비용 산정

• 자원 산정 및 배분

• 의사소통 기준 마련

• 표준화 가능

• 개발 진행 상황 파악

• 산출물을 활용한 검토

02. 소프트웨어 프로세스 모델의 이해

p. 6

• 주먹구구식(Build-and-Fix) 모델

• 즉흥적 소프트웨어 개발 또는 코딩과 수정(Code-and-Fix) 모델

• 개발자 1인이 단기간에 작성 가능한 비구조적 형태

03. 주먹구구식 모델

(4)

p. 7

• 선형 순차적(Linear Sequential) 모델

• 폭포수 모델

• 고전적 생명주기(Classic Life Cycle)

04. 선형 순차적 모델

• 1. 폭포수 모델의 개발 절차

• ① 계획(Planning) 단계: 일정, 예산, 인력

• ② 요구 분석(Requirement Analysis) 단계: 사용자 요구 사항

• ③ 설계(Design) 단계: 상위/하위 설계

• ④ 구현(Implementation) 단계: 코딩

• ⑤ 테스트(Test) 단계: 전체/부분 테스트, 개발자/사용자 테스트, 파일롯(Pilot)

• ⑥ 유지보수 단계: 수정/적응/기능보강/예방 유지보수

04. 선형 순차적 모델

(5)

5

p. 9

• 2. 폭포수 모델의 장점과 단점

• 관리가 용이하다.

• 체계적으로 문서화할 수 있다.  산출물(문서) 위주

• 요구 사항의 변화가 적은 프로젝트에 적합하다.

• 폭포가 위에서 아래로 흐르듯이 각 단계는 앞 단계가 완료되어야 수행된다.

• 각 단계마다 결과물이 완벽해야, 다음 단계에 오류를 넘겨주지 않는다.

• 사용자가 중간에 가시적인 결과를 볼 수 없어 답답해 할 수 있다.

04. 선형 순차적 모델

p. 10

• V 모델

• 폭포수 모델의 변형

• 테스트 단계를 추가 확장

05. V 모델

(6)

p. 11

• 1. 진화적 프로세스 모델의 등장 배경(목적)

• 수시로 발생하는 새로운 요구에 민첩하게 대응

06. 진화적 프로세스 모델

• 2. 프로토타입(Prototype)

• 원형 또는 시제품

• 사용자와 의사 소통하는 도구

• 프로토타이핑(Prototyping)

• 프로토타입을 만드는 것

• 대표적인 진화적 프로세스 모델

• 프로토타입 모델

• 폭포수 모델을 기반으로 개발하면서 사용자의 요구를 충분히 반영하기 위 해 프로토타입을 추가한 모델

06. 진화적 프로세스 모델

(7)

7

p. 13

• 2. 프로토타입(Prototype)

• 프로토타입 모델 종류

• 실험적(Experimental) 프로토타입 모델: 프로토타입 사용 후 파기

• 비고. 모델하우스(Model House)

• 진화적(Evolutionary) 프로토타입 모델: 프로토타입 사용 후 개선

06. 진화적 프로세스 모델

p. 14

• 3. 프로토타입 모델의 개발 절차

• ① 요구 사항 정의 및 분석

• ② 프로토타입 설계

• ③ 프로토타입 개발

• 참고. RAD(Rapid Application Development): 대표적인 개발 도구

• ④ 사용자에 의한 프로토타입 평가

• ⑤ 프로토타입 조정

• ⑥ 구현

• 4. 프로토타입 모델의 장점과 단점

• 개발자와 사용자 간의 의사소통 도구로 사용

• 예상치 못한 새로운 요구사항 발견

• 투입 인력과 비용 산정이 난해

• 관리/통제 난해

06. 진화적 프로세스 모델

(8)

p. 15

• 1. 나선형 모델의 특성

• 점점 완성도가 높은 제품이 만들어짐.

07. 나선형 모델

• 2. 나선형 모델의 개발 절차

• ① 계획 및 요구 분석(Planning & Requirement Analysis) 단계

• ② 위험 분석(Risk Analysis) 단계

• ③ 개발(Engineering) 단계

• ④ 사용자 평가(User Evaluation) 단계

• 3. 나선형 모델의 장점과 단점

• 위험 분석 단계가 존재하여 처음부터 위험에 대한 고려를 하면서 개발이 진행

• 프로젝트 기간이 길어질 수 있음.

07. 나선형 모델

(9)

9

p. 17

• 단계적 개발 모델

• 개발과 사용을 병행하는 과정을 반복하여 진행하면서 완료

• 종류• 점증적 개발(Incremental Development) 방법

• 반복적 개발(Iterative Development)방법

08. 단계적 개발 모델

p. 18

• 1. 점증적 개발 방법: 개발 범위의 증가

• 예. 도서 집필

• 예. 3층 건물 건축

• 예. 대학 정보시스템 개발

08. 단계적 개발 모델

(10)

p. 19

• 2. 반복적 개발 방법: 품질의 증가

• 예. 한식

08. 단계적 개발 모델

• 통합 프로세스(UP, Unified Process) 모델

• 반복적 개발 방법론

• 폭포수 모델의 단점인 비가역적 진행을 보완함.

09. 통합 프로세스 모델

(11)

11

p. 21

• 1. 통합 프로세스 모델의 절차

• ① 도입 단계(Inception Phase)

• ② 구체화 단계(Elaboration Phase)

• ③ 구축 단계(Construction Phase)

• ④ 전이 단계(Transition Phase)

• ⑤ 도입/구체화/구축/전이 단계의 공통 작업

09. 통합 프로세스 모델

p. 22

• 1. 애자일 프로세스(Agile Process) 모델의 이해

• 고객의 요구에 민첩하게 대응

• 애자일 기본 가치

• 상호 소통 중시

• 실행 가능한 소프트웨어 중시

• 협력 중시

• 대응 중시

• 애자일의 원칙

• 애자일의 개발 방법

• 애자일 방법론과 폭포수 모델의 비교

• 폭포수 모델  산출물(문서) 위주

10. 애자일 프로세스 모델

(12)

p. 23

• 2. 애자일 개발 방법론, 스크럼(Scrum)

• 팀 웍(Team Work)을 통해 효율적인 성과를 얻음.

• 스크럼 방식의 진행 과정

• 스크럼 방식의 장점과 단점

10. 애자일 프로세스 모델

• 2. 애자일 개발 방법론, 스크럼(Scrum)

• 스크럼 방식의 진행 과정

• ① 제품 기능 목록(Product Backlog) 작성: 기능요구 + 우선순위

• ② 사용자 스토리(User Story) 작성: 업무에 관한 서술식 사용자 요구사항

• ③ 스토리 포인트(Story Point) 작성: 업무에 관한 상대적인 개발시간

• ④ 스프린트(Sprint): 전력 집중할 단위 개발업무

• ⑤ 스프린트(Sprint Backlog) 구현 목록: 스프린트 작업 목록

• ⑥ 소멸 차트(Burndown Chart): 남은 업무 표현

• ⑦ 스프린트 계획 회의(Sprint Planning Meeting)

• ⑧ 일일 스크럼 회의(Daily Scrum Meeting)

10. 애자일 프로세스 모델

(13)

13

p. 25

• 2. 애자일 개발 방법론, 스크럼(Scrum)

• 스크럼 방식의 진행 과정

10. 애자일 프로세스 모델

참조

관련 문서

• 제품을 개발하거나 유지보수하는 과정에서 변경(change) 을 통제하는 절차는 소프트웨어 개발 과정의 산출물들을 관 리하고 고품질의 소프트웨어를 얻기

소프트웨어, 하드웨어, 시스 템 등 여러 요소간의 통합적인 품질 관점 확보, 테스트 기술 연구와 개발, 전문기업에 의한 테스 트 아웃소싱 등 소프트웨어 품질 측면의 지속적

이는 임베디드 시스템을 위한 프로세스 기반 소프트웨어 컴포넌트 설계를 위해 DARPA (Defense Advanced Research Projects Agency)가 지원하는 분산 실시간 임베디드(DRE :

실무에서 적용되고 있는 건축물의 구조설계과정과 상 기의 교육시스템을 이용하여 PBL과 창의성에 기반을 둔 건축구조공학 분야의 교육 프로세스를 제시하면 그림 6 과 같이

본 연구에서 제시한 국방 소프트웨어 개발방법론 개선에 대한 정책적 대안은 국방 소프트 웨어 개발 생산성을 향상시키고 소프트웨어의 품질을 개선하는 데에 기여할 것으로 기대하며,

그러나 애자일 개발 프로세스 는 소프트웨어 개발 자체가 여타 공학의 프로세스와 는 근본적으로 큰 차이가 있음을 인정하는 데서부터... 그리고 그 전제 하에서 합리적인

자기조립 현상을 이용한 나노복합재료

소프트웨어 개발 요구사항의 관점에서 범용 소프 트웨어와 내장형 소프트웨어를 비교하여 보면 범용 , 소프트웨어는 소프트웨어의 사용범위가 일반인으로 폭넓은