Download presentation
Presentation is loading. Please wait.
Published byMoris Baldwin Modified 5년 전
1
프로그래밍 설계 0. 설계의 종류 1) Data Base 설계 2) 파일 설계 3) 입출력 화면 설계 4) 보고서 설계
5) 코드 설계 6) 프로그래밍 설계 7) System Architecture 설계(H/W,N/W,보안) 프로그램 User Interface Data system
2
1. 프로그램 1) 정보 시스템의 구성 정보시스템 Software 프로그램 (정보 시스템의 구성요소) 모듈 코드 업무절차
H/W S/W Software 통신 DB 프로그램 (정보 시스템의 구성요소) 모듈 코드
3
2) 프로그램의 구성 Presentation Logic (Process) Data -Interface 설계 (입출력 화면/보고서) -프로그래밍 설계 - data base 설계 - file 설계 - Code 설계
4
시스템 구현 순서 시스템구조도 모듈명세서 N-S 차트 프로그램구현
5
시스템구조도 시스템구조도의 예
6
시스템구조도 단국목재 구매부서의 시스템구조도
7
구조적 설계 및 도구 모듈 명세서(Module Specification)
모듈 내부 처리 논리를 구체적으로 정의하는 서술형 도구 구조적 분석과 구조적 설계의 모델링 도구 구조적 분석 구조적 설계 그래픽 모 델 데이터 흐름도 정보의 처리 흐름을 정의 사용자 관점에서 작성 처리기를 수평적으로 연결 외관상 네트워크 구조를 형성 구조도 시스템의 구조를 정의 개발자 관점에서 작성 모듈을 수직적으로 연결 피라미드형의 계층 구조 서술형 미니 명세서 데이터 흐름도의 보조 도구 최하위 처리기만 작성 데이터의 가공 절차를 기술 구조적 언어를 많이 사용 모듈 명세서 구조도와 함께 중요한 도구 모든 모듈을 대상으로 작성 구현에 필요한 모든 정보기술 의사 코드가 많이 사용
8
구조적 설계 및 도구 모듈 명세서의 구성 정의해야 할 사항 프로그래밍에 필요한 정보를 충분하고 정확하게 기술
다른 모듈과의 인터페이스에 관한 사항 내부 수행 논리에 대한 정보 정의해야 할 사항 인터페이스 모듈의 개요 모듈의 이름 모듈의 기능에 대한 간결한 설명 사용하는 프로그래밍 언어 다른 모듈과 인터페이스 정보 입력 매개변수 이름과 속성 출력 매개변수 이름과 속성 상위 모듈 리스트 하위 모듈의 리스트나 라이브러리 모듈
9
구조적 설계 및 도구 정의해야 할 사항 모듈의 내부 구조 정보 처리 방법 처리하는 세부적인 활동과 그 절차
수행 논리 모듈의 내부 구조 내부 이름과 속성 사용하는 파일의 이름과 입출력 목적 테이블의 이름, 전체크기, 구성항목과 속성 정보 처리 방법 처리하는 세부적인 활동과 그 절차 각 단계에서 사용하는 알고리즘 오류의 처리 방법 온라인 입출력 모듈의 경우, 화면 설계 모듈 명세서의 작성 지침 모듈의 정보는 크게 인터페이스 정보와 내부 수행 논리 정보로 구성 인터페이스 정보 : 다른 모듈과의 관계를 표현 내부 수행 논리정보 : 모듈의 기능을 수행하는 내부처리 논리
10
구조적 설계 및 도구 구 조 도 모듈 명세서 모듈 명세서 모듈 이름 : 월급 계산 모듈 기능 : 매월 정규직 사원의
다른 모듈과의 인터페이스에 필요한 정보만 기술 모듈의 내부활동에 대한 정보는 기술하지 않음 모듈이 “무엇을 수행하는가”를 중점적으로 기술 모듈은 “어떻게 수행하는가”는 기술하지 않음 모듈의 전반적인 기능을 짧은 시간에 기술할 때 프로젝트 일정이 촉박할 때 알고리즘이 단순하여 상위 계층에 위치한 모듈을 정의할 때 직원 번호 월 급 지급액 모듈 이름 : 월급 계산 모듈 기능 : 매월 정규직 사원의 실질 급여 계산 입력 변수 : 직원 번호, 9(7) 출력 변수 : 월급 지급액, 9(10) 호출 모듈 : 직원 레코드 읽음 급여 총액 계산 공제액 계산 피호출 모듈 : 급여 관리 월급 계산 직원 번호 공제액 직원 레코드 급여 총액 직원 레코드 읽음 급여 총액 계산 공 제 액 계산 구 조 도 모듈 명세서
11
NS차트
12
N-S (Nassi-Shneiderman) 도표
-연속 (sequence), 선택 (selection), 반복 (iteration)의 세 가지 기본 요소로 프로그램 로직을 표현. 1) 연속 (Sequence) 모듈A 모듈A 모듈B 모듈B 모듈C (N-S도표) 모듈C (flow chart) 2) 선택 (Selection) - If-Then-Else - Do Case Y 조건충족? N Y N 모듈A 조건 충족? 모듈B 모듈A 모듈B (1) If-Then-Else - (C language) if (number<50) calculate_sum(); else calculate_average();
13
(2) Case Case? Case? a b 기타 c a 기타 b c 모듈 A 모듈 B 모듈 C 에러 메시지 모듈A 모듈B 모듈C 에러 메시지 - (C language) switch(ch) { case ‘a’: module_A(); break; case ‘b’: module_B(); case ‘c’: module_C(); default: printf (“ error-invalid character!\n”) }
14
모듈A 모듈B 모듈A 모듈B 모듈A 모듈A 모듈B 모듈B
3) 반복 -Do While: entry condition loop -Do Until: exit condition loop (1) Do While - (C language) while(count <=number) { module_A(); module_B(); } N Do While (조건) 조건 충족? 모듈A Y 모듈B 모듈A 모듈B (2) Do Until - (C language) do { module_A(); module_B(); } while(count =number) 모듈A 모듈A 모듈B 모듈B Do Until (조건) 조건 충족? Y N
15
고객번호 입력 및 검색 제품번호 입력 제품 레코드 검색 제품번호 입력 주문 레코드 생성 고객 레코드 갱신
4) 예제: 고객 주문처리 프로그램 - 고객번호를 입력하여 고객 검색 - 신용한도 체크 - 주문 제품 입력 (제품번호가 ‘zzz’일 때까지 반복적으로 입력.) - 재고 체크. 고객번호 입력 및 검색 발견? Y N 신용한도 충분? N Y 제품번호 입력 Do While 제품번호 <> ‘zzz’ 에러 메시지 제품 레코드 검색 발견? Y N 에러 메시지 재고충분? N Y 에러 메시지 주문품목레코드생성 백오더 처리 제품 레코드 갱신 제품번호 입력 주문 레코드 생성 고객 레코드 갱신
16
1.숫자 하나를 입력 받아서 절대값이 5 보다 크면 입력숫자를 절대값으로 출력한다.
START Num,result num YES Num>0 START num, result NO PRINT result READ num Num=num*-1 Num>0 TRUE FALSE Num=num+-1 Num>5 Num>5 yes True FALSE result=num STOP STOP result
17
START result STOP av= m* ti
2.입력자료로 사원의 이름과 구분코드와 작업시간이 들어온다. 이때 구분코드가 1이면 시간당 2000원 ,2이면 시간당 2500원 ,3이면 시간당 3000원 ,4이면 시간당 4000원 으로 계산하여 임금을 출력하는 순서도를 작성하시오. START Name, code Ti , m. av Name, code ,Ti Code==1 NO Code==2 NO Code==3 Code==4 NO YES YES YES m=2000 m=2500 m=3000 m=4000 av= m* ti result STOP
18
F F T T F T F START Name , code, Ti , m ,av READ name , code, Ti
=2000 m =2500 T F m =3000 Code==4 T F m =4000 av = m * Ti PRINT av STOP
19
START n, a 0, b n n>=1&& n<=9 a<=9 STOP b a*n n*a=b a a+1
READ n n>=1&& n<=9 n>=1 && n<=9 F T NO While (a<=9) YES b= a*n a<=9 YES STOP PRINT n , “*”,a, ”=”.b NO a=a+1 b a*n STOP n*a=b a a+1
20
4. 10개의 숫자를 입력 받아서 홀수의 개수와 짝수의 개수를 출력한다.
4. 10개의 숫자를 입력 받아서 홀수의 개수와 짝수의 개수를 출력한다. START num,count 0, even 0, odd 0 num count count+1 NO Count<10 even, odd YES num%2==1 NO even even+1 STOP YES odd odd+1
21
10개의 숫자를 입력 받아서 홀수의 개수와 짝수의 개수를 출력한다.
START num, count=0, Even=0, Odd=0 while (count<10) READ num count=count+1 Num%2==1 T F even=even+1 odd=odd+1 PRINT odd, even STOP
22
5. 1부터 100까지 합을 구하여 출력한다. START num 0, Sum 0 START sum=0,num=1
while (num<100) num<100 NO num=num+1 sum= sum + num YES PRINT sum num num+1 STOP sum sum+num sum STOP
23
while (count ==10) READ num count= count+1
6. 10개의 숫자를 입력 받아서 가장 큰 수를 출력한다. STRAT START num, a 0, count 0 Num, a=0 , count=0 while (count ==10) READ num num count= count+1 count count+1 num>a T F YES num>a a num a=num NO PRINT a count==10 NO STOP YES a STOP
24
Sum=0, num , average=0 ,count=0
8. 10개의 숫자를 입력 받아서 합과 평균을 구하여 출력한다. STRAT sum 0,num, average 0, count 0 START Sum=0, num , average=0 ,count=0 num while (count==100) READ num count count+1 count=count+1 sum= sum+ num sum num+sum average=sum/10 PRINT sum, average NO count==10 STOP YES average sum/10 average, sum STOP
Similar presentations