객체지향개발론 (4)

Jay_u·2022년 12월 8일
0

객체지향개발

목록 보기
6/11
post-thumbnail

Preconditions : 전제조건
조건이 충족되어야 유스케이스 시작 ex)로그인

Postconditions : 사후조건
시스템이 종료되었을 때 충족해야할 조건
postconditions은 이해관계자의 요구를 충족시켜야 한다.


main success scenario는 세가지의 액션을 기록해야 한다.
1. An interaction berween actors
2. A validation
3. A state change by the system

모든 조건부, 분기는 확장세션으로 미룹니다.


Extensions은 성공 및 실패와 같은 다른 모든 시나리오 또는 분기를 나타냅니다.
Extensions은 condition 과 the handling으로 이루어집니다. (조건과 대처)

조건은 시스템이나 actor가 감지할 수 있는 것으로 작성한다.


확장 처리가 끝날 때 확장이 달리 지시하지 않는 한(예: 시스템 중지) 기본적으로 시나리오는 주 성공 시나리오와 다시 병합됩니다.
(2a. 를 보면 대안 시나리오가 내장되어 있음을 알 수 있다.)

특정 확장이 상당히 복잡한 경우에는 별도의 사용 사례를 작성할 수 있습니다.
(ex> *a라고 붙이는 것을 볼 수 있다. -시스템 크래쉬 상황)


special requirements란

비기능적 요구사항, 품질 속성(quality attributes), 제약 조건(constraints)등이 유스케이스에 기록되는 곳이다.


Technology and Data Variations List

이 섹션에는 어떤 작업을 수행해야 하는지에 대한 기술적 변화가 기록되어 있지만, 무엇을 수행해야 하는지는 기록되어 있지 않습니다.

예: I/O 기술
예: 데이터 구성표의 변동도 기록합니다.
예: 바코드 기호의 UPC 또는 EAN

이 섹션에는 다양한 경우에 대한 다양한 동작을 표현하는 여러 단계가 포함되지 않아야 합니다. 필요한 경우 확장 섹션에서 말합니다.


유스케이스의 모든 문장과 개념에 적용되는 4가지 개념

Level : 왜 우리는 이 목표를 원하는가
점심을 사 먹기 위해(lv1) 돈을 찾는다(lv2) 그러기 위해서~~(lv3)

Scope : 시스템의 경계

Detail : 의도를 설명하는지 수단의 세부사항을 설명하는지

Primary Actor : 목표를 갖고 있는 사람


어플리케이션 요구사항 분석을 위한 유슼케이스를 표현하는데 유용한 level은 무엇일까

  • 가이드라인 : EBP(또는 유저 목표) 유스케이스
    컴퓨터 응용프로그램의 요구사항 분석을 위해 기본 비즈니스 프로세스(EBP) level의 사용 사례에 초점을 맞춥니다.

  • EBP란
    elementary business processed(EBPs)로
    측정 가능한 비즈니스 가치를 추가하고 데이터를 일관된 상태로 유지하는 비즈니스 이벤트에 대응하여 한 사람이 한 번에 한 곳에서 수행하는 작업


유스케이스에 관한 일반적인 실수

유스케이스는 일반적으로 많은 단계 또는 트랜잭션을 포함하는 비교적 큰 종단 간 설명입니다. 일반적으로 프로세스의 개별 단계 또는 활동이 아닙니다.


업로드중..

유저 목표는 바다 표면에 위치한다.


primary actors-goals 들이 다른 경계선에 있을 때

1. choose the system boundary. 시스템 경계를 선택하고

2. identify the primary actors. 그 경계에서 주 배우들을 식별한다.

3. for each primary actor, identify their user goals. 각각의 주 배우들의 목표를 찾고

step 2~3
어떤 컴퓨터, 서브시스템 및 사람들이 우리 시스템을 구동할 것인가?
 배우는 행동력이 있는 사람이다.

각 행위자들은 우리의 시스템이 무엇을 하기 위해 필요한가?
 각각의 필요는 우리 시스템에 대한 트리거로 나타난다.

결과: 유스케이스 목록, 시스템 스케치.
 사용 가능한 시스템 기능에 대한 간략하고 완전한 목록입니다.

4. define use cases that satisfy user goals; name them according to their goal.
그들의 목표를 만족하는 유스케이스를 정의한다.


유스케이스 우선순위

유스케이스에도 랭킹을 매겨서 높은 순위는 우선적으로 처리해야 한다.

랭킹 기준

핵심 아키텍처 설계에 미치는 영향
위험, 시간이 중요하거나 복잡한 기능
위험한 기술
주요 비즈니스 프로세스 라인등


step 4
유스케이스 정의

일반적으로 각 사용자 목표에 대해 하나의 EBP level(또는 사용자 목표) 유스케이스를 정의합니다.
CRUD 개별 목표를 하나의 CRUD 사용 사례(속칭 Manage 는 쓰지 않음)로 축소합니다.
active verb로 시작하는 사용 사례의 이름을 지정합니다.


어째서 유스케이스인가?

 우리가 구현하기로 되어 있는 것에 대한 구체적인 예를 들어보자!
 고객과 개발자 간의 합의 근거
 모호한 요구사항을 보다 구체적으로 만드는 도구
 객체 분석 소스
 시스템 기능에 대한 소스
 반복적이고 점진적인 소프트웨어 개발을 위한 단위
 사용 설명서의 첫 번째 버전
 시스템 테스트의 기초


유스케이스 지향 프로젝트 구조

 특히 완전히 새로운 것을 구현하는 경우 일반적으로 먼저 프로토타입과 '제한된 버전'을 생산하고자 합니다.
 고객의 관점에서 가장 중요한 사용 사례를 하나 또는 두 개 선택하고 선택한 사용 사례만 수행할 수 있는 소프트웨어의 첫 번째 버전을 분석, 설계, 프로그래밍, 테스트 및 제공해야 합니다.(프로토타입)
 가장 중요한 사용 사례에 먼저 집중하면 시스템의 가장 중요한 부분에 대해 고객으로부터 피드백을 받습니다.
 이제 아키텍처 및 기술적 결정이 이러한 가장 중요한 사용 사례에서 설정한 요구 사항을 충족하는지 테스트할 수 있습니다.

profile
정확한 정보를 전달할려고 노력합니다.

0개의 댓글