일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- 파이썬
- @Autowired
- 무한정 대기
- 쿠키
- application layer
- JDBC
- compgen
- 쉘 스크립트
- JPA
- intelij spring config
- 프로그래머스
- 편향된 지수
- 컴파일 타임 상수
- BindingResult
- 커밋 되돌리기
- DTO
- 기본키 전략
- 런타임 상수
- spring
- 백준
- 티스토리챌린지
- @SubscribeMapping
- Git
- 알고리즘
- 리눅스
- m:n
- allocationSize
- 오블완
- API
- 은행원알고리즘
- Today
- Total
둘셋 개발!
요구사항 분석 (중요성, 분류,요구사항 개발 단계, Use Case Diagram) 본문
요구사항의 중요성
요구사항을 기반으로 모든 개발 활동이 이루어 지기 때문에 중요하다.
A system can be no better thant its requirements
요구사항 분류
기능과 비기능 요구사항을 나뉜다.
1. 기능 요구사항
: 제품 구현을 위해 소프트웨어가 가져야 하는 기능
: 저장 기능, 편집 기능, 삭제 기능, 보기 기능 등
2. 비기능 요구사항
: 제품의 품질 기준을 만족시키기 위해 소프트웨어가 가져야 하는 성능, 사용의 용의성, 안전성과 같은 행위적 특성
: 성능, 사용의 용의성, 신뢰도, 보안성, 운용상의 제약, 안전성, 정확성, UI간편성, GPS 성능 등
요구사항 개발 단계
요구사항 추출 -> 요구사항 분석 -> 요구사항 명세 -> 요구사항 검증
1. 요구사항 추출
: 고객이 원하는 요구사항을 수집
: 고객의 요구사항은 추상적일 수 있기 때문에 수주자는 정확한 요구사항을 파악해야 함
: 인터뷰나 시나리오로 추출 할 수 있음
2. 요구사항 분석
: 추출된 요구사항을 바탕으로 식별 가능한 문제를 찾고 이해하는 단계
: 요구사항 명세서를 작성하기 전에 완전하고 일관성 있는 요구사항으로 정리함
3. 요구사항 명세
: 분석된 요구사항을 명확하고 완전하게 기록
: 구현해야 할 모든 기능, 제약 조건, 합의된 성능, 요구사항 번호화 및 우선순위화
=> 최종 결과물: 요구사항 명세서 (SRS: Software Requirement Specificaion)
4. 요구사항 검증
: 사용자 요구가 SRS에 올바르게 기술되었는지 검토
: 명세된 요구사항의 구현 가능성 검토
: 명세 표현의 정확성 및 완전성 검증
: 표준과 일치성 검증
: 요구사항 간 충돌 검증
: 기술적 결함에 대한 검증
Use Case Diagram
: 사용자 관점에서 시스템의 서비스 혹은 기능 및 그와 관련한 외부 요소를 보여주는 다이어그램
: 요구사항 명세서를 개발자에게 주었을 때 개발을 할 수 있을 정도여야 함
✏️ 주의사항: 위의 그림과 같이 똑같은 모양으로 그려야 함 그게 약속임
ex) 유스케이스를 타원형이 아닌 직사각형으로 그리면 안됨
1. Actor (액터)
: 액터는 시스템과 상호작용하는 어떠한 엔티티도 될 수 있다. 하지만 시스템의 일부는 아니다.
: ex) 사람, another system, ...
2. Use Case
: 시스템의 '무엇을?' 을 담당한다. 즉 시스템의 행동이라고 볼 수 있다.
: 액터와 항상 관계되어야 하고 여러개의 액터와 관계를 맺을 수 있다.
3. Relationships
- Generalization (일반화) : actor 또는 use case가 구체화단 다른 여러 actor 또는 use case를 가지고 있는지
- Include (포함관계): 이 use case가 실행하기 위해서 반드시 실행되어야 하는 유스케이스가 있는가
- Extend (확장관계): 이 use case를 실행 함으로써 선택적으로 실행 되는 유스케이스가 있는가
- Use Case Diagram 그리는 순서
1. 시스템 그리기
2. Actor 식별
- 누가 시스템을 사용할 것인가?
- 누가 시스템을 관리하는가?
- 시스템과 상호작용하는 하드웨어나 소프트웨어 시스템이 있는가?
3. Use Case 식별
- 시스템의 동작 모두
4. 관계 정의
'소프트웨어공학' 카테고리의 다른 글
애자일 방법론 종류 (XP, SCRUM) (0) | 2022.06.02 |
---|---|
SW 개발 생명주기 (폭포수모형, 프로토타입, 애자일) (0) | 2022.04.07 |
Best Practice의 개념과 쓰임 (0) | 2022.03.31 |