본문 바로가기

개발론

[1-1]소프트웨어설계 - 요구사항 확인

--- 소프트 웨어 생명주기 ---

 

[ 폭포수 모형 ]

- 각 단계를 확실히 매듭 짓고 다음 단계

- 두개의 단계가 중복 될 수 없다.

 

프로토 타입 모형

- 견본 품으로 최종 결과물을 예측

- 폭포수는 개발 마지막 단계에서 오류가 검출 된다. 이를 보완하기 위한 모형 (  견본품에서 에러검출 ) 

 

[ 나선형 모형 (Spiral 점진적 모형) ]

- 계획 > 위험분석  > 개발 > 고객 평가  (유지보수단계없음)

- 누락된 요구사항 중간에 추가 가능

 

[ 애자일 모형 ]

- XP SCRUM

- 고객중심,  소규모프로젝트,  고수들이 가능, 일정한 주기 반복  

- 짧은 주기 (스프린트 / 이터레이션) 반복

- 개발막바지여도 고객 요구사항 수용 , 빠르게, 고객과 같은장소에서 일함! , 

 

 < 스크럼 >

 - 제품 책임자 (P Owner )

 ` 보통 의뢰자 같은 제품 이해도가 높은사람이 

 ` 요구사항(스토리) 담긴 백로그 작성 , 우선수위 지정 /  팀원들은 우선순위 지정 불가.

  tip) 스토리는 잘 묶여서 Task가 된다.

 

 - 스크럼마스터

 ` 스크럼을 잘 하도록 객관적 시각에서 조언해주는 사람.

 ` 일일스크럼 회의 (  15분 ) 주도 > 소멸차트 작성

 

 - 개발팀

 ` 8명 정도 

 

 < XP >

 - 짧고 반복적인 개발주기

 - 5대 가치 의사소통 , 단순성 , 용기 , 존중 , 피드백

 - 릴리즈 설정 ( 이터레이션들의 모임 ) 

    ` 스파이크 : 기술 문제에 대한 위험 감소, 요구사항 신뢰성 높이는 간단한 프로그램 

 - 인수 테스트 

   ` 릴리즈 마다 고객이 userstory에 기재했던 기능들 직접 테스트

 - 주요 방법 : 페어프로그래밍 , TDD , 계속적인 통합 , 리팩토링 , 스몰릴리즈

 

--- 요구 사항 정의 ---

[종류]

기능 요구사항 : 시스템의 기능, 입출력 , 데이터 저장, 데이터연산, 등

비기능 요구사항 : 요구환경, 성능, 인터페이스 요구사항 , 보안 요구사항 등

사용자 요구사항 : 사용자 관점에서 필요한 요구사항

시스템 요구사항 : 개발자 관점에서 필요한 요구사항

 

[순서]

 요구사항  도출 ( 생명주기 내내 추가 ) -> 분석 ( 쓸데없는거 필터링 , 요구사항 with 환경을 분석 ) -> 명세 ->확인

 

 

----UML----

[정의]

개발자끼리 , 고객 간의 의사소통 쉽게 하기 윈한 객체지향 언어

[3가지]

 - 사물(Things) : 구조사물,행동사물,Annotation , 그룹사물

 - 관계(Relations) : 1대1 1대n n대n

 - Diagram

   ` 구조적 다이어그램 : 클래스,객체,컴포넌트,배치,패키지 다이어그램

   ` 행위적 다이어그램 : 유스케이스다이어그램 ( 사용자의 요구 분석) 

                               시퀀스 다이어그램 (  시스템이나 객체들이 주고 받는 메시지 표현)

                               커뮤니케이션, 상태, 활동 상호작용 , 타이밍 다이어그램