▣ 요구사항명세_정형, 비정형, Z명세, VDM, Z, Petri-net, FSM, Decison Table, ER모델링, 관계형, 상태위주 표기법
- 요구사항 명세는 분석된 요구사항을 바탕으로 모델을 작성하고 문서화하는 것을 의미
- 기능 요구사항을 빠짐없이 기술
- 비기능 요구사항을 필요한 것만 기술
- 구체적인 명세를 위해 소단위 명세서(Mini-Spec)가 사용될 수 있음
구분 | 정형 명세 기법 | 비정형 명세 기법 |
기법 | 수학적 원리 기반, 모델 기반 | 상태/기능/객체 중심 |
작성기법 | 수학적 기호, 정형화된 표기법 | 일반 명사, 동사 등의 자연어를 기반으로 서술 또는 다이어그램으로 작성 |
특징 | - 요구사항을 정확하고 간결하게 표현 가능 - 요구사항에 대한 결과가 작성자에 관계없이 일관성이 있으므로 완전성 검증이 가능함 - 표기법이 어려워 사용자가 이해하기 어려움 |
- 자연어의 사용으로 인해 요구사항에 대한 결과가 작성자에 따라 다를 수 있어 일관성이 떨어지고, 해석이 달라질 수 있음 - 내용의 이해가 쉬어 의사소통이 용이함 |
종류 | VDM, Z, Petri-net, CSP 등 | FSM, Decision Table, ER 모델링, State Chart(SADT) 등 |
Z | • 집합론(Set Theory), 논리, 모델기반 명세기법 • 논리를 기반으로 한 Calculus 적 표현을 사용하여 여러 특성을 VDM보다 함축적으로 표현 • 모든 특성을 스키마안에 순서대로 기술하며 모듈화와 재사용성이 우수함 • Z스키마 구조 - 스키마 이름, 스키마 시그니쳐, 스키마 술어 • 모듈간의 재사용성이 우수 • 스키마간의 연산이 가능 ![]() ![]() |
VDM | Vienna Development Method • 시스템의 비기능적인 요구사항을 제외한 기능적인 요구사항에만 한정되며 이와 관련한 기능 요구 명세와 검증 설계에 관해 적절한 표기법인 검증 방법을 제공함 ![]() ![]() |
Petri Net | 그래프에 의한 표기법을 제공하며, 병렬 처리를 기술할 때 유한상태기계의 한계성을 극복하도록 고안![]() ![]() |
Decision Table (판단표) |
• 문제를 분석할 경우에 생각할 수 있는 복잡한 모든 조건과 각 조건에 대하여 취해야 할 행동을 열거한 표. 업무 기계화를 시작할 때, 업무 분석 기술 방법으로서 사용되는 것으로 조건과 그 결과를 가로 세로로 표에 명기하여 상호 관계를 표로 표시함으로써 처리 법칙을 에러 없이 기술 하도록 하는 것 ![]() |
Event Table (사건표) |
• 여러 사건이 상이한 조건하에서 발생되었을 때 취해야 할 행위를 기술 |
Transition Table (전이표) | • 시스템내의 상태변화를 기술하는데 사용됨![]() |
finite state machine (유한상태기계) |
FSM • 컴퓨터 프로그램과 전자논리회로를 설계하는데에 쓰이는 수학적 모델 • 유한한 개수의 상태로 구성된 하나의 기계를 의미 • 일종의 Flow chart 로서 조금 다른 점은 닫혀있다는 것 즉 모든 게임은 단발로 끝나는게 아니라 영원히 도는 프로그램임 ![]() |
2011년 36번
정답 : 4번
Z명세
• 집합론(Set Theory), 논리, 모델기반 명세기법
• 논리를 기반으로 한 Calculus 적 표현을 사용하여 여러 특성을 VDM보다 함축적으로 표현
• 모든 특성을 스키마안에 순서대로 기술하며 모듈화와 재사용성이 우수함
• Z스키마 구조 - 스키마 이름, 스키마 시그니쳐, 스키마 술어
• 모듈간의 재사용성이 우수
• 스키마간의 연산이 가능
2011년 46번
정답 : 2번
정형명세 방법은 대수학적인 방법과 상태모형 기반 방법이 있음
대수학적인 방법은 Lotos임
대수학적 방법 | 연산과 연산의 관계에 의해 명세를 표현함 Lotos, OBJ, Larch |
상태(모형)기반 방법 | 집합과 수열 등의 표현을 이용해 시스템의 상태를 표현함 CSP, Petri-Net, Z, VDM, B |
2017년 41번
정답 : 1번
recurrence relation(점화 관계)는 일반적으로 재귀적 호출관계를 표현할 때 사용함
'소프트웨어공학' 카테고리의 다른 글
COCOMO (Constructive Cost Model)_KDSI, Organic, Semi-Detached, Embedded (0) | 2021.12.12 |
---|---|
객체지향 방법론_CBD, UP(Unified Process), 컴포넌트, COM, 개발방법론, SRM (0) | 2021.12.12 |
AOP_관점 지향 프로그래밍, Advice, Target, Joinpoint, Pointcut, Weaving, Spring 스프링 (0) | 2021.11.15 |
Java_소스코드_자료구조형 클래스의 상속구조, list, map, set, collection (0) | 2021.11.03 |
운영관리_ITIL V3 lifecycle phase, lifecycle process, ITIL v4 (0) | 2021.11.03 |