Functional Specification 기능정의서
- 시스템이나 소프트웨어의 기능적 요구사항을 명확히 정의한 문서
추상적인 표현 | 직설적인 표현 | 기능적인 표현 |
---|---|---|
출발하기 | 대상의 속도를 3으로 | PathFollower.speed = 3 |
멈추기 | 대상의 속도를 0으로 | PathFollower.speed = 0 |
목적지에 도착하면 | 대상이 특정위치에 있는 물체와 닿았을때 | OnTriggerEnter(){} |
미션을 클리어 하면 | 총알이 표적에 닿으면 기록한다 3번 닿으면 미션 클리어 |
OnTriggerEnter(){hit++;} if(hit>=3){} |
키보드를 눌렀을 때 | 키보드의 스페이스바를 눌렀을 때 | Input.GetKeyDown(Keycode.SPACE) |
시간이 지나면 | 시간을 기록한다 기록된 값이 50을 넘겼을때 |
time+=Time.DeltaTime; if(time>50){} |
대상을 처다보고 있으면 | VR카메라가 바라보고있는 벡터 VR카메라로 부터 대상의 벡터 정규화 하여 단위벡터로 변환 두 단위벡터 사이의 각도 계산 각도가 20도 이하면 |
Vector3 vec1 = Camera.transform.forward Vector3 vec2 = Camera.transform.position - target.transform.position Vector3 vec1_normal = vec1.normalized; Vector3 vec2_normal = vec2.mormalied; float angle = Vector3.Angle(vec1_normal, vec2_normal); if(angle <= 20){} |
- 추상적인 표현은 기능에 대해 명확히 이해하지 못한 상태에서 하고싶은 일을 기록
- 직설적인 표현은 하고싶은 일을 달성하기 위해서 직접적으로 어떤 행동을 해야 하는지 기록
- 기능적인 표현은 해당 행동을 하기 위해 어떤 절차가 필요한지 기록
기능정의서의 필요
- 기능정의가 명확히 되어야 내가 어떤 기능이 준비되었고, 어떤 기능을 만들 수 없는지를 파악할 수 있습니다.
- 전체 공정이 어느정도 진행되었는지를 파악할 수 있습니다.