앱 개발 공부방

1과목-소프트웨어 설계-요구사항 확인 본문

2020년 정보처리기사

1과목-소프트웨어 설계-요구사항 확인

춘행이 2020. 3. 19. 16:05
728x90

1.소프트웨어 생명 주기

 

1)소프트웨어 생명 주기 : 소프트웨어 개방 방법론의 바탕, 소프트웨어를 개발하기 위해 정의하고 운용, 유지보수 등의 과정을 각 단계별로 나눈 것(폭포수, 나선형, 프로토타입, 애자일 모형)

 

2)폭포수 모형 

-개발 과정의 한 단계가 끝나야만 다음 단계로 넘어갈 수 있는 선형 순차적 모형

-가장 오래되고 폭넓게 사용된 전통적인 모형

-다음 단계를 수행하기 위한 결과물이 명확하게 산출되어야 한다.

-두 개 이상의 과정이 병행하여 수행되지 않는다.

순서 : 타당성 검토->계획->요구 분석->설계->구현->시험->유지보수

 

3)프로토타입 모형

-소프트웨어에 대한 견본품을 만들어 최종 결과물을 예측하는 모형

-사용자와 시스템 사이의 인터페이스에 중점을 두어 개발

-시스템의 일부 혹은 시스템의 모형을 만드는 과정

-폭포수 모형의 단점을 보완하기 위한 모형

프로토타입 모형

 

4)나선형 모형

-폭포수 모형과 프로토타입 모형의 장점에 위험 분석 기능을 추가한 모형

-나선을 따라 돌듯 여러번의 개발 과정을 거쳐 점진적으로 완벽한 소프트웨어를 개발하는 것

-위험을 관리하고 최소화하는 것을 목적으로 함.

-개발과정이 반복되므로 요구사항 추가가 가능하고 정밀하며 유지보수 과정이 필요없음.

5)애자일 모형

-고객의 요구사항 변화에 유연하게 대응할수 있도록 일정한 주기를 반복하면서 개발과정을 진행

-고객과의 소통에 초점을 맞춤 방법론

-스프린트, 이터레이션이라고 불리는 짧은 개발 주기를 반복

-결과에 대한 고객의 평과와 요구를 적극 수용

-소규모 프로젝트, 숙달된 개발자, 급변하는 요구사항에 적합

-스크럼, XP, 칸반, 크리스탈 , ASD, FDD등이 있다

 

5-1)스크럼 기법

-팀이 중심이 되어 개발의 효율성을 높인다는 의미가 내포된 용어

-스크럼 팀은 PO(제품 책임자),SM(스크럼 마스터),DT(개발팀)으로 구성

 

*PO(제품 책임자)

-이해관계자들 중 개발될 제품에 대한 이해도가 높고, 요구사항을 책임지고 의사 결정할 사람으로 선정

-의견을 종합하여 제품에 대한 요구사항을 작성하는 주체

-요구사항이 담긴 백로그를 작성하고 백로그에 우선순위 지정

-팀원들이 스토리를 추가할 수는 있지만 우선순위는 지정 불가.

-제품에 대한 테스트를 수행하면서 주기적으로 요구사항의 우선순위를 갱신

-백로그 : 제품 개발에 필요한 우선순위를 부여해 놓은 목록

 

*SM(스크럼 마스터)

-팀이 스크럼을 잘 수행할 수 있도록 조언을 해주는 가이드 역활

-일일 스크럼 회의를 주관하여 진행 사랑을 점검

-개발 과정에서 발생된 장애 요소를 처리

 

*DT(개발팀)

-PO,SM을 제외한 모든 팀원.

-보통 최대 인원을 7~8명이 적당하다.

 

*스크럼 개발 프로세스

1.제품 백로그

-재품 개발에 필요한 모든 요구사항을 우선순위에 따라 나열한 목록

-새롭게 도출되는 요구사항으로 인해 지속적으로 업데이트

-사용자 스토리를 기반으로 전체 일정 계획인 릴리즈 계획을 수립

2.스프린트 계획 회의

-스프린트에서 수행할 작업을 대상으로 단기 일정을 수립하는것

3.스프린트

-실제 개발 작업을 진행하는 과정

4.일일 스크럼 회의

-모든 팀원이 매일 약속된 시간에 짧은 시간동안 진행 상황을 점검하는 것

5.스프린트 검토 회의

-제품이 요구사항에 잘 부합되는지 사용자가 포함된 참석자 앞에서 테스팅을 수행

6.스프린트 회고

-스프린트 주기를 되돌아보며 정해놓은 규칙을 잘 준수했는지, 개선할 점은 없는지 등을 확인하고 기록

 

5-2)XP(eXtreme Programming)기법

-XP는 수시로 발생하는 고객의 요구사항에 유연하게 대응하기 위해 고객의 참여와 개발 과정의 반복을 극대화 하여 개발 생산성을 향상시킴

-짧고 반복적인 개발주기, 단순한 설계, 고객의 적극적인 참여를 통해 빠르게 개발

-릴리즈의 기간을 짧게 반복하면서 고객의 요구사항 반영에 대한 가시성(대상을 확인할 수 있는 정도)을 높임

-5가지 핵심 가치 : 의사소통,단순성,용기,존중,피드백

 

*XP 개발 프로세스

1.사용자 스토리

-고객의 요구사항을 간단한 시나리오로 표현한 것이다.

2.릴리즈 계획

-몇 개의 스토리가 적용되어 부분적으로 기능이 완료된 제품을 제공하는 것

-부분 혹은 전체 개발 완료 시점에 대한 일정을 수립한다.

3.스파이크

-요구사항의 신뢰성을 높이고 기술 문제에 대한 위험을 감소시키기 위해 별도로 만드는 간단한 프로그램

-처리할 문제 외의 다른 조건은 모두 무시하고 작성

4.주기(iteration)

-하나의 릴리즈를 더 세분화 한 단위를 주기라고 한다

5.승인 테스트

-하나의 이터레이션 안에서 계획된 릴리즈 단위의 부분 완료 제품이 구현되면 수행하는 테스트

6.소규모 릴리즈

-릴리즈를 소규모로 하게 되면 고객의 반응을 기능별로 확인할 수 있어 좀 더 유연하게 대응 가능

728x90
Comments