Software Engineering

Download Report

Transcript Software Engineering

상세 설계

소프트웨어 상세 설계



구조적 기법 설계는 소프트웨어의 구조 설계에
초점
상세 설계(detailed design)의 임무는 소프트웨어
구조의 설계에서 유도된 모듈 또는 오퍼레이션들에
대한 알고리즘 설계
알고리즘 설계는 모듈 또는 오퍼레이션의 내부
구조를 설계하는 것이기 때문에 특정 프로그래밍
언어를 사용하지 않음.
 그래픽 표기 방법
순서도(flowchart), N-S 도표
 가상 코드 표기 방법
 프로그램 설계 언어(PDL)

순서도(Flowchart)
그래픽 요소로 알고리즘의 제어 흐름을 표시하는
그래픽 도구
간단하여 배우기 쉽다.
기본 요소는 직사각형, 다이아몬드 및 화살표






직사각형은 처리를 표시
다이아몬드는 조건 분기를 표시
화살표는 제어 흐름을 표시
처리 1
Yes
조건
처리 1
처리 2
No
처리 2
¼ ø¼ -Àû ±¸Á¶
if then els e ±¸Á¶
상황1
Yes
처리 1
조건
No
Yes
순환
처리
No
상황2
Yes
처리 2
W hileÇü ¼ øȯ ±
순환
처리
No
상황n
Yes
처리 n
No
조건
Yes
C as e Á¶°Ç ±¸Á¶
No
R epeatÇü ¼ øȯ ±¸
순서도(Flowchart)



장점은 간단하고 표현력이 높다
구조적으로 작성하면 읽기 쉽고 이해도가 높은
프로그램 구조 생성 가능
구조적이 되지 못하고 복잡한 프로그램 구조를
생성할 수 있다.


무제한으로 goto 문을 사용할 수 있다.
순서도는 간단한 모듈의 내부 구조를
나타내는데 적합하나 복잡한 시스템 구조
설명에는 부적합
N-S 도표


N-S 도표는 순서도의 비구조적인 단점을
극복하고자 Nassi와 Shneiderman이 제안, Chapin이
발전시킨 그래픽 표기법
순서적 구조, 조건 분기 구조, 순환 구조 등
기본적인 요소에 대한 표시 방법 제공
처리 1
조건
True
순서적
구조
처리 2
then 부분
False
else 부분
조건 분
기 구조
처리 3
case 조건
순환 조건
while형
순환 구조
repeat형
순환 구조
순환 조건
1
2
3
4
case 조
건 구조
N-S 도표




프로그램의 기본 제어 구조를 서로 다른 도표로
표시하여 쉽게 읽고 이해할 수 있다.
프로그램의 구조를 구조적으로 작성하여야만
임의로 goto 문을 작성할 수 없고 N-S 도표가
제공하는 요소들만 사용할 수 있다.
순환(recursion) 제어 구조를 쉽게 표시할 수 있다.
프로그램 설계 언어(PDL).




PDL(Program Design Language)을 가상
코드(pseudocode)라고도 한다.
고급 프로그램 언어의 제어 구조와 자연 언어를
통합하여 사용
PDL "프로그램"은 순서도 혹은 N-S 도표로 변환
가능
PDL의 예


PDL/Ada, PDL/C
자체적 PDL 설계 시, 다음을 만족하여야 한다.





키워드 및 제어 구조는 미리 정의
처리에 대한 설명은 자연어
데이터 타입에 대한 정의를 내릴 수 있는 기능
사용될 고급 언어로 정의할 수 있는 모든 타입을
설명
모듈 정의 기능을 제공하여야 하며 모듈간에 서로
호출이 가능해야