'UP!/Software Engineering'에 해당되는 글 28건

  1. 2008.08.21 DB 설계
  2. 2008.08.21 파일설계
  3. 2008.08.21 입력과 출력 설계
  4. 2008.08.21 코드체계
  5. 2008.08.21 프로세스 명세서
  6. 2008.08.21 구조적 설계
  7. 2008.08.21 자료사전
  8. 2008.08.21 개체관계도
  9. 2008.08.21 자료 흐름도
  10. 2008.08.21 시스템 분석

DB 설계

UP!/Software Engineering 2008. 8. 21. 13:58
16 장  데이터베이스 설계
1  데이터베이스 설계의 기본적인 개념
단순히 파일을 데이터베이스화
⇒ 효율 저하
⇒ 쓸모 없이 번잡
 
2  데이터베이스 설계의 장단점
(1) 데이터베이스의 장점
① 중복을 최소화하여 불일치를 제거한다.
② 데이터의 물리적, 논리적 독립성을 유지한다.
③ 데이터를 공유(share)할 수 있다.
④ 정보를 표준화(standardization)하여 저장한다.
⑤ 데이터의 보안(security)을 보장한다.
⑥ 무결성(integrity)이 유지된다.
⑦ 상충되는 요구를 조절한다.
 
(2) 데이터베이스의 단점
① 컴퓨터의 부담(overhead)이 크다.
② 데이터의 복구가 어렵다.
③ 전산비용이 증가하며 복잡하다.
파일환경과 데이터베이스 환경의 상이한 점
대상범위
보전성
유연성
성능
 
3  데이터베이스 설계과정
    논리 설계의 수순
    대상범위의 결정
    장래에 대한 고려
데이터베이스 설계과정
․논리 데이터베이스 설계
․물리 데이터베이스 설계
 
(1) 논리 데이터베이스 설계
① 대상범위의 결정
② 데이터 요소의 식별
③ 데이터 요소간의 관련과 식별
④ 기업의 운용규칙과 데이터 관련의 식별
 
(2) 물리 데이터베이스 설계
① 데이터 요소를 어느 정도 물리적으로 집약했는지 분석
② 중요한 거래내용이 데이터베이스를 얼마나 이용하는가의 사양규정
③ 파일 구조와 응답시간의 각종 대체 안에 관한 비용계산
④ 필요로 하는 모든 파일기술과 제어 블록의 생성
 
3.1  논리 설계의 수순
- 확장 가능성 고려하여
- 회사 전 기능에 분리된 형태로 수행
- 회사 전체 범위 포함 회피
 
3.2  대상범위의 결정
∙정보 처리계획 조사
∙관련하는 각 기능의 관계자와 면담
∙면담결과를 기초로 범위 작성
∙해당기능과 다른 기능과의 관계 명확화
∙어플리케이션과 데이터 공유범위 결정
∙공유하는 전 기능을 범위에 포함하도록 결정
 
3.3  장래에 대한 고려
∙업무에 관한 변경
∙운영 방침의 변경
 
4  데이터 모델                                                           
(1) 관계형 모델(relational model)
     관계형 모델 : 튜플(tuple)들로 구성된 테이블(table)로 표현
     튜플 : 사물을 표현할 때 데이터 항목을 나타내는 속성과 레코드와 같은 개념



<테이블>
(2) 망형 모델(network model)
- 개체들의 관계를 나타내는 포인터(pointer)와 링크(link)로 구성
- 실세계와 가장 근접한 형태의 모델
- 그래프 형태로 모델링
데이터 구조도의 구성
∙개체들을 나타내는 직사각형
∙그들간의 연관성을 나타내는 화살표
∙화살표의 이름인 레이블
        
(3) 계층형 모델(hierarchical model)
∙데이터와 데이터간의 관계를 각각의 개체와 연결
∙트리(tree)형태로 표현
∙부모 개체와 자식 개체가 명확하게 구별
∙레이블 기술 불필요
5  데이터에 관한 정보
논리 설계의 배경에 있는 기초 이론
기업의 업무형태 불변
데이터 불안정
정보는 업무의 변경에 따라 변경 필요
기본 데이터 불변
6  정보의 수집
논리 설계를 위해 필요한 정보란?
(1) 업무의 기본 기능과 그것에 관련된 데이터 군을 기술하는 것
(2) 언제, 어떤 방법으로 기본 기능을 수행하는가를 결정하는 운용정책을 식별하는 것
(3) 추가되어야 할 데이터 요소를 식별하는 것
 
7 기본 기능과 그것에 관련된 데이터의 식별
실무 담당자와 면담 ⇒ 명확하게 이해하기 위함
인터뷰하는 직무 결정 ⇒ 인터뷰를 받는 기능 소속 인물을 선정
 
(1) 실무 담당자와의 면담
∙각 직무에 관해서 수행되어야 할 일의 내용
∙각 일을 수행하는 데 관련된 데이터
∙언제, 어떻게 일을 수행할 것인가를 결정하는 데 관련한 규칙
면담의 수순
∙실무 담당자가 매일 실시하고 있는 기능을 기술
∙면담을 받는 사람의 중요한 행동, 의사결정, 인터페이스를 기술
∙흐름도 형식으로 문서화
∙업무 명세서(document), 파일 등 참조자료 일람표 작성
∙인터페이스에 관해 논의
 
(2) 관련자와의 면담
기업 운영방침 및 규칙
업무 장래 계획
관리
문서
 
(3) 최고 경영자와의 면담
․업무의 기본 구성요소와 그것과의 관련이 있는 방법
․기업 내 환경(조직, 지점배치 등)
․기업 외 환경(대리점 관리, 시장의 수와 종류 등)
․업무 계획에서 현재 사용하고 있는 정보와 필요로 하는 정보
․현행업무에 영향을 미칠 가능성이 있는 예측 가능한 변화
 
(4) 중간 관리자와의 면담
․실무자 또는 실무 부서간의 업무분산 및 협조사항
․일상의 실무에 관한 규칙과 방침
․예측되는 변화가 실무에 미치는 영향
․실무를 평가하거나 관리하는 데 추가할 필요가 있는 정보
 
8  논리 설계를 구성하는 요소의 식별
논리 설계의 주요 구성요소

속성
관계
 
8.1  키
레코드들을 순서적으로 배열
대상물을 식별하고 제어하는 데 사용
․고유한 키는 목적대상을 식별할 수 있는 데이터 요소의 것(주민등록번호, 주문번호, 고객번호 등)
․고유하지 않은 키는 복수개의 키를 조합한 것으로서 어떤 상태를 식별하는 것과 같은 요소의 집합체
(상품번호와 창고식별기호에 따라 식별)
 
8.2  속 성
데이터의 가장 작은 논리적 단위
개체에 대한 식별자
개체에 관한 의미의 서술적 정보
8.3  관 계
복수의 데이터 요소간의 종속관계를 표현하는 것
(1) 키와 키의 관계
키들간의 한정된 또는 한정되지 않은 종속관계를 기술한 것
(2) 키와 속성과의 관계
키에 따라서 직접 식별된 데이터 요소를 기술한 것
(3) 속성과 속성과의 관계
키와 속성간의 한정되지 않은 종속관계
 
9  데이터 요소의 식별
데이터 요소 독립 추출
∙중복 가능성 감소
∙데이터 요소 사용용도 파악
자료 사전에 등재
9.1  일과 데이터와의 관계식별
자료흐름도 분석
일과 데이터의 관계를 정의
기본적인 정적 기능과 그 기능에 데이터 사용용도 표현
일의 정의
․일은 업무단위이다.
․일은 모두 공통의 목표를 지향하는 것이다.
․일은 일련의 순서가 부여된 순번으로 구성된다.
․일은 적어도 한 개의 공통 데이터를 이용하며, 자료흐름도를 참조하여 앞의 정의에 맞는 규칙에 따라서 확장한다.
․일은 회사의 일부분에서 수행된다
․일의 각 수순에서는 같은 데이터를 이용해야 한다
․일의 각 처리 수순은 반드시 실시되지 않으면 안된다
     
10  일과 데이터와의 관계 분석
일과 데이터의 관계
논리 설계에 관한 기본 구성요소
키와 속성을 식별
키로 생각되는 속성
․대다수의 일에 사용되고 있다.
․다른 대다수의 데이터 요소 내에서 사용되고 있다.
․각 독립된 데이터 요소 내에서 사용되고 있는 경우 사용빈도가 낮다.
한 개의 키에 종속하는 속성이 있는 것
․비교적 소수의 일에 사용되고 있다.
․극히 소수의 데이터 요소 내에서 사용되고 있다.
․각 데이터 요소 내에서 사용되고 있는 경우에도 사용빈도가 높다.
복수의 키에 따라 참조되는 속성
․평균적인 수의 일에 사용되고 있다.
․평균적인 수의 데이터 요소 안에서 사용되고 있다.
․각 데이터 요소 안에서 사용되고 있는 경우의 사용빈도도 평균적이다.
 
11  관계의 집약
분석의 첫 단계는 각 데이터간의 관계를 속성으로 집약
일과 데이터 관계를 도표에 집약 ⇒ 도수 분포표
 
11.1  분 류
∙키
∙한 개의 키에 따라서 참조되는 속성
∙복수의 키에 따라서 참조되는 속성
현재 잔액
11.2  키의 할당
12  DBMS의 분석
12.1  능력과 제약사항
․데이터 구조의 형태(계층형, 망형, 관계형 등)
․접근방법의 형태(direct, sequential, indexed 등)
․데이터 보호의 수준(자료요소, 그룹 데이터, 파일, 어플리케이션, 단말)
․복구의 정도
․데이터에 관한 복수의 견적이 허락된 정도
12.2  성능과 비용
성능 :
파일 구조와 파일접근방법에 관련
비용 :
응답시간, 복구의 제약사항, 재편성 요구 및 유연성과 관련
데이터 보호, 운영체제의 제약사항 및 파일 구조 고려
데이터 신뢰성에 관련된 비용
12.3  사용자의 수행능력 요구
(1) 사용자의 거래 처리
     ․응답시간의 한계(기대 응답시간, 최소 응답시간)
     ․데이터베이스 요구(데이터가 요구, 생성되는 순서)
(2) 환경
     ․데이터베이스를 동시에 접근할 수 있는 응용 프로그램의 수
     ․운용방법(on-line, remote job entry, batch 등)
(3) 이용가능성
(4) 데이터 보호
     ․데이터를 개방하는 범위
     ․데이터에 관련된 위험요소
(5) 응용 프로그램의 능력
12.4  논리 설계와 변경
논리 설계는 세 단계에서 특정 DBMS로 대체된다.
(1) 키와 그들의 관계를 저장할 경우의 주기억 구조를 선택
(2) 키저장 구조에 속성(attribute)을 할당
(3) 각각의 저장 구조에 대해서 자료접근(access)방법을 선택
12.5  저장 구조의 선택
도입하는 DBMS에 따라
제공된 능력의 범위에 따라
12.6  속성의 할당
(1) 키와 그들의 관계 표현
(2) 저장 구조 선택 ⇒ 속성 할당
12.7  파일접근방법의 선택
(1) 파일접근의 형태, 접근빈도 및 횟수, 응답시간, 허용된 복구시간 등이 사용자의 요구에 맞는지를 검토한다.
(2) 파일의 서비스와 사용현황, 백업과 복구, 운영방식 등 파일의 환경에 관한 사항을 검토한다.
12.8  비용과 성능의 측정
(1) 각 주요한 거래를 처리하는 비용
     ․CPU 시간
     ․DBMS에 대한 접근횟수
    ․물리적인 입출력 횟수
    ․메시지 및 큐(대기행렬) 처리
    ․송신시간
(2) 각 어플리케이션을 처리하는 비용
    ․저장공간
    ․LOG 장치
    ․운영체제와 DBMS 비용

'UP! > Software Engineering' 카테고리의 다른 글

소프트웨어 시험전략  (0) 2008.08.21
S/W 시험  (0) 2008.08.21
파일설계  (0) 2008.08.21
입력과 출력 설계  (0) 2008.08.21
코드체계  (0) 2008.08.21
Posted by 으랏차
,
15 파일 설계
파일이란?
  - 어떤 목적을 위하여 데이터를 조직적이고 체계적으로 모아둔 것
  - 연관된 레코드의 조직적인 집합체
1  파일의 속성
1.1 파일 처리
 (1) 레코드의 조회
 (2) 레코드의 갱신
 (3) 레코드의 추가
 (4) 레코드의 삭제
1.2 레코드 형식
 (1) 고정길이 레코드(fixed length record)
 (2) 가변길이 레코드(variable length record)
 (3) 임의길이 레코드(undefined length record)
<그림>
1.3 파일 설계의 전제
안정성
기밀번호
경제성
정확성
응답속도
1.4 파일매체
(1) 파일매체 : 자기 디스크, 자기 드럼, 자기 테이프, 디스켓, CD-ROM
(2) 기능검토
  ① 액세스 형태
  ② 처리방식
  ③ 데이터의 양
  ④ 작동의 용이성
(3) 종합검토
  ① 업무량, 비용 등을 고려하여 파일 매체를 선정
  ② 파일의 매체종류와 매체의 수를 산출
  ③ 소용되는 장치 대수를 산출
1.5 파일 설계의 순서
(1) 파일의 명칭, 파일의 목적, 종류, 적용업무를 확정
(2) 배열순서, 항목 명, 문자구분, 항목의 길이와 소수점 이하 자릿수, 레코드 전체길이, 블록길이 등 파일항목을 검토
(3) 파일편성의 유형, 구조, 용량을 결정하기 위해 트랜잭션 수와 마스터 파일 레코드 수, 갱신 처리비율, 레코드의 증가량 등을 검토
(4) 처리방법, 처리시간, 정보량, 조작용이성을 조사하여 파일매체 결정
(5) 파일매체를 선택한 후 파일의 편성방법을 결정
2. 파일의 종류
매체에 의한 분류
내용에 의한 분류
2.1  매체에 의한 분류
(1) 자기 테이프 파일(magnetic tape file)
(2) 자기 디스크 파일(magnetic disk file)
(3) 자기 드럼 파일(magnetic drum file)
(4) 카드 파일(card file)
(5) 기타 파일
2.2  내용에 의한 분류
(1) 데이터 파일
     ∙원시 데이터 파일(source data file) ∙ 히스토리 파일(history file)
     ∙마스터 파일(master file)            ∙집계 파일(summary file)
     ∙트랜잭션 파일(transaction file)       ∙트레일러 파일(trailer file)
(2) 프로그램 파일
     ∙제어 프로그램 파일(control program file)
     ․처리 프로그램 파일(process program file)
(3) 작업 파일
     ․작업 파일(working file)            ․중간 임시 파일(temporary file)
     ․입력 데이터 파일(input data file)    ․체크 포인트 파일(check point file)
     ․출력 데이터 파일(output data file)
2.3  파일편성에 의한 분류
(1) 순차편성파일
(2) 직접 파일
(3) 색인 순편성 파일
(4) 가상기억 접근방식(VSAM: Virtual Storage Access Method)
(5) 분할된 파일
(6) 파일 파일
(7) 인덱스 파일
(8) 다중링 파일
(9) RDB 

'UP! > Software Engineering' 카테고리의 다른 글

S/W 시험  (0) 2008.08.21
DB 설계  (0) 2008.08.21
입력과 출력 설계  (0) 2008.08.21
코드체계  (0) 2008.08.21
프로세스 명세서  (0) 2008.08.21
Posted by 으랏차
,
14  입력과 출력설계
1 입력설계의 목적
- 문서양식과 화면에서
효율성
정확성
용이성
일치성
간소성
매력적인 특성
 
2 입력 장비
키 입력 장치(키보드)
광학 문자판독기(OCR)
카드 입력장치
자기 잉크 문자판독기(MICR)
라이트펜(Light-pen)
음성입력(Microphone)
화면입력(Digital-Video-camera)
 
3 입력 설계의 순서
3.1 양식 설계 방법
1) 입력하기 쉬운 형태로 만들어라
2) 입력순서는 왼쪽에서 오른쪽으로, 위에서 아래로 진행
3) 일곱 단계의 형태
① 제목
② 구분코드
③ 작업정보(Informations 또는 Comments)
④ 내역
⑤ 확인, 결재란
⑥ 합계란
⑦ 표식란
- 선 제목
- 테두리 제목
- 점검 표식( ∨ 표시란 )
- 테이블표 표식
 
3.2 입력설계의 요점
◆ 합의된 양식설계
◆ 정확한 입력설계
◆ 사람의 관심을 집중시키는 양식설계
- 양식은 흩어져 보이지 않도록, 구조적이고 논리적으로 기재되게
- 선의 길이를 적당하게
- 주의를 집중시키기 위해서 정보가 기대되는 순서대로
- 굵고 가는 선으로 분류
- 다른 글자체나 글자크기를 이용
 
4 화면 설계
4.1 화면설계를 위한 지침
1) 단순하게 설계, 한 화면에서 많은 데이터를 입력받지 않도록
2) 입력하기 편리한 순서로 필드 배치
3) 많이 쓰이는 필드를 상위에 위치
4) 의미있는 명령을 사용
5) 사용자가 이해할 수 있는 메시지 작성
6) 입력받을 위치에 커서 표시
 
4.2 화면설계에 포함시킬 내용
 1) 목차    
 2) 몸체                 
 3) 주의사항과 안내문
 4) 윈도우즈의 사용 
 5) 양식 일치  
 6) 화면 전환  
 7) 스크롤(Scrolling) 
 8) 상세 정보 요구
 9) 화면상의 대화
10) 다양한 도형활용
11) 역상과 깜박임
12) 다양한 글자체와 글자크기
13) 속성
14) GUI(Graphical User Interface)환경의 설계도입
15) 보색 사용
속성의 내용
① 보호(Protection)
② 밝기(Intensity)
③ Shift And Extended Attributes
④ 편집문자사용
⑤ 화면제어코드 사용
⑥ 아이콘(Icon) 사용
    · 형상은 즉시 인식할 수 있게
    · 표준 아이콘 이용
    · 의미있는 아이콘 사용
 
GUI환경의 설계도입
· 사각형 : 입력 영역 표시 윤곽에 이용
· 체크상자(check box) : 복수의 선택 값을 미리 제공
· 선택버튼(Option Button) : 목록 제공하고 하나를 선택
· 목록 상자(List Box) : 선택할 수 있는 옵션을 화면에 표시
· 드롭다운(drop-down) 목록 상자 : 선택 완료되면 이 상자는 사라진다.
· 명령버튼(commend button) : 해당 활동 수행
 
4.3 화면 서비스 유형
유용한 기능
1) 도움말 기능
2) 작업종료 기능
3) 출력기능
4) 일시 정지 후, 작업계속 기능
5) 전 화면 또는 후 화면으로의 진행기능
6) 개인 학습을 위한 데모 기능

'UP! > Software Engineering' 카테고리의 다른 글

DB 설계  (0) 2008.08.21
파일설계  (0) 2008.08.21
코드체계  (0) 2008.08.21
프로세스 명세서  (0) 2008.08.21
구조적 설계  (0) 2008.08.21
Posted by 으랏차
,
13 코드 체계
1 코드의 정의와 필요성
1.1 코드의 정의
- 정보처리 대상 개체를 문자, 숫자의 집합으로 표현하는 것
- 자료저장 면적 축소, 식별용이, 기억용이 목적으로 사용
1) 판별하기 편리한 대체부호
2) 명사를 과학적으로 부호화, 간략화한 것
3) 서류 내용 표현을 위한 계통적 약속부호
4) 데이터를 기계적, 효과적 처리하도록 구성한 특정부호

1.2 코드의 필요성
- 업무처리상의 필요성
- 기계상의 필요성
   업무처리상의 필요성                    기계상의 필요성
   1) 배열 기능                                  1) 데이터를 구분하는 코드
   2) 분류 기능                                  2) 작업을 구분하는 코드
   3) 처리의 효율성                            3) 체크 코드              
   4) 식별 기능
   5) 간소화  기능
   6) 기계처리의 용이성
   7) 적은 자릿수
   8) 표의성
   9) 분류의 편의성
   10) 확장성
   11) 고유성, 유일성
1.3 코드의 기능
          1) 분류기능
          2) 유형화기능(Group화 기능)
          3) 식별(표현)기능
 ① 작업 기능
              ② 관리 기능
1.4 코드의 채택 기준
   1) 분류의 대상영역에 따른 고려사항
   2) 사용자에 따른 고려사항
   3) 분류 담당자에 따른 고려사항
2 코드의 설계상의 유의점
   1) 일관성  5) 항구성
   2) 간결   6) 기억용이
   3) 공통성  7) 각 PART는 동격적, 대립적
   4) 융통성  8) 원칙적으로 숫자 사용     
3 코드 설계의 순서
   1) 분류항목 열거(항목선정)
   2) 대 분류, 중 분류, 소 분류로 계통도 작성(코드 목적 결정 : 식별, 배열, 분류집계)
   3) 개개의 명칭을 일람표로 기입(사용범위 결정)
   4) 코드화 항목의 데이터 건수, 증가를 예견, 일람표에 코드 표기(확장성)
   5) 코드 자릿수 결정.
   6) 코드 관련업무와 사용범위(사내, 국가표준 등) 결정.
   7) 사용 기간 결정.
   8) 체크 디지트 사용 여부 결정.

4 코드의 종류
   1) 순차 코드 (Sequential code)
   2) 구분 코드 (Block code)
   3) 십진 분류 코드 (Decimal code)
   4) 그룹 코드 (Group classification code)
   5) 연상기호 코드 (Mnemonic code)
   6) 약자 코드 (Letter type code)
   7) 표의 숫자 코드 (Significant digit code)
   8) 특정 행 분류 코드 (Final digit code)
   9) 암호 코드 (Cryptic code)
   10) 바 코드 (Bar code)
   
5 코드의 오류 발견법
   오류의 종류
   코드 입력시의 오류 방지
   체크-디지트 산출방법

5.1 오류의 종류(coding에서 발생하는 오류의 종류)
   1) 사본(Transcription : 옮겨 적을 때)오류
   2) 전위(Transposition : 위치가 뒤바뀐) 오류 : 좌
   3) 이중 전위(Double Transposition : 중복된 위치 뒤바뀜) 오류 :
   4) 랜덤(Random) 오류 : 1,2,3 한중 2종 이상이 발생하여 생긴 오류
5.2 코드 입력시의 오류 방지
   1) 교육 훈련
   2) 코드책자 발행
   3) 고무인 사용
   4) 사전 인쇄
   5) 컴퓨터에 의한 코드부여
5.3 체크-디지트 산출법
1) 가중치 : 코드번호의 각각의 코드자리에 일정한 수를 곱한다.
 예) 코드번호 2  7  7  5  6  1
                   × × × × × ×
         가중치 7  6  5  4  3  2
         ----------------------------------
                  14+42+35+20+18+2 = 131 ------> sum
         위에서 7, 6, 5, 4, 3, 2를 가중치라 한다.

2) 조정치 : 각 자리에 가중치를 곱한 결과를 합산하고, 합계를 어떤 수치로 나눈다.
    이때 이 수치를 조정 치라고 한다.
 예) 131 / 10 = 13    나머지  1
      131 / 11 = 11    나머지 10
      이 경우 10, 11을 조정 치라고 한다.
          
3) 체크-디지트 : 조정 치로 부터 “나머지”를 뺀 수치를 말한다.
   예) 10 - 1 = 9,  11 - 10 = 1
          이 경우 9, 1을 체크-디지트라 한다.
      일반적으로 조정 치와 체크-디지트 사이에는 아래와 같은 관계가 있다.
      (체크-디지트 + sum ) / 조정치 ==> 나머지 없음
      즉,   ( 9 + 131 ) / 10 ==> 나머지 없음
                          ( 1 + 131 ) / 11 ==> 나머지 없음.

6 프로그램에 의한 코드의 검사
   1) 공란 검사(blank check)
   2) 체크-디지트 검사(check-digit check)
   3) 형식 검사(mode check)
   4) 범위 검사(range check)
   5) 일련번호 검사(sequential check)
   6) 대조 검사(match check)

'UP! > Software Engineering' 카테고리의 다른 글

파일설계  (0) 2008.08.21
입력과 출력 설계  (0) 2008.08.21
프로세스 명세서  (0) 2008.08.21
구조적 설계  (0) 2008.08.21
자료사전  (0) 2008.08.21
Posted by 으랏차
,
12 프로세스 명세서
12.1  프로세스 명세서의 작성목적
프로세스 명세서란?
- 일명 소규모 명세서(mini-spec)
- 기본 프로세스
- 세부 프로세스 설명
- 결정 논리(decision making logic) 설명
- 입력 데이터를 출력 데이터로 변환시키는 과정을 설명
- 최하위 단계마다 하나의 프로세스 명세서가 존재한다.
 
프로세스 명세서 작성 목적
(1) 프로세스의 애매 모호함을 줄인다
(2) 업무 인계인수의 경우 내용 파악 용이
(3) 변경이나 유지보수가 용이
(4) 표준화로 효율적인 작업 수행
(5) 담당자가 쉽게 확인할 수 있도록
 
문서화의 종류
․현행 시스템의 조사 분석 문서화
․시스템의 설계내용을 정리한 문서화
․각종 시스템 개발에 관련된 문서화
․시스템 운용조작에 관련된 문서화
 
12.2  명세서가 필요하지 않은 프로세스들의 항목
- read, write 등과 같은 물리적인 입출력
- 간단한 데이터 유효화 표현
- 이미 사용된 코드 사용
 
12.3 프로세스 명세서의 형식                                                  
프로세스 명세서에 포함되는 정보
(1) 프로세스 번호
(2) 프로세스 이름
(3) 프로젝트 이름
(4) 작성일자
(5) 작성자
(6) 상위 프로세스 번호와 명칭
(7) 프로세스 목적

12.4  구조적 언어
명사와 동사만 사용한 명령어로 구성
(1) 구조정리에 따른 기본 구조
   ․순차 처리 구조
  처리1; 처리2
   ․IF THEN ELSE 구조
  IF (A=B) THEN 처리3 ELSE 처리4;
   ․DO WHILE 구조
  WHILE (C=D) DO 처리5;
 
(2) 의사코드 표현
 처리 A
 IF (조건 Z) THEN
 처리 B
  DO WHILE (조건 Y)
   IF (조건 V) THEN
          처리 E
   ELSE
   END-IF
  END-DO
  IF (조건 X) THEN
   처리 C
  ELSE
  END-IF
  DO WHILE (조건 W)
   처리 D
  END-DO
 ELSE
  :
 END-IF
12.5  의사결정 테이블
(1) 연간 3000만원 이상 거래실적, 신용상태 양호하면 우대
(2) 연간 3000만원 이상의 거래실적, 10년 이상 계속된 거래처 우대
(3) 연간 3000만원 미만 거래실적, 신용상태 양호, 10년 이상 거래처 우대

 
12.6  의사결정표


12.7  의사결정 트리
의사 결정표보다 이해하기 쉽고 친숙

'UP! > Software Engineering' 카테고리의 다른 글

입력과 출력 설계  (0) 2008.08.21
코드체계  (0) 2008.08.21
구조적 설계  (0) 2008.08.21
자료사전  (0) 2008.08.21
개체관계도  (0) 2008.08.21
Posted by 으랏차
,
11. 구조적 설계
1. 구조적(構造的) 설계(設計)
구조적 설계란?
프로그램의 내부구조를 설계하기 위한 하나의 방법론
- 연속(sequence)
- 선택(selection)
- 반복(repetition)      으로 구성
구조적 설계의 필요성
- 이해·개발 쉽게
- 개발자와 완성예정일 등을 예측
- 프로젝트 진척상황 관리 쉽게
- 모듈별 시스템 시험 ⇒ 오류발견·수정 쉽게
- 유지·보수 쉽게
- 예상비용 산정 쉽게
 
모듈단위 구조로의 분할
- 프로그램 작성이 쉽다
- 유지보수 및 수정, 변경작업이 쉽다
- 시스템 수명이 길어진다
- 생산성이 향상

프로그램 개발
1) 외부적인 양식 설계
2) Process Flowchart작성
3) 입력과 출력의 형식 작성
4) 처리 조건 설정
5) Coding
6) Test
7) 적용
모듈의 전개과정
  
                 
 
2. 종래의 모듈설계와 구조적 설계의 차이
모듈이란?
어떤 특정기능의 결과를 얻는 명령들의 집합
· 몇 개의 명령어로 구성되어 어떤 목적의 결과를 얻는 것.
· 별개의 명령어 집단으로 명확히 구분된 것.
· 하나의 입구와 출구를 가진 서브루틴이나 서브프로그램
구조적 설계에서의 모듈화 목표
· What : 무엇을 모듈화 할 것인가 ?
· Why : 무엇 때문에 모듈화 하는가 ?
· How : 어떻게 모듈화 할 것인가 ?
모듈 분할의 지침
모듈의 기본적인 성질
 · 기능 : What
 · 논리 수순 : How
 · 인터페이스
 · 크기가 작을수록 좋다
             
 
3. 구조적 설계의 지침
구조적 설계란
· 계층 구조적인 모듈의 세분화
· 독립된 모듈로 분할하는 것
· 이해하기 쉽게 하는 것

프로그램의 내부구조 설계 요령
◉ 독립된 프로그램단위로의 분할
◉ 모듈구조로의 설계
◉ 모듈구조의 평가

4. 모듈 결합도와 응집도                                                
모듈 결합도
· 자료 결합도(Date coupling)  결합도가 약함(좋은 결합)  
· 구조 결합도(Stamp coupling)                           
· 제어 결합도(Control coupling)                                                   
· 외부 결합도(External coupling)                                                  
· 공통 결합도(Common coupling)                                                  
· 내용 결합도(Content coupling)            결합도가 강함(나쁜 결합)

모듈 응집도
· 기능적 응집도(Functional cohesion)     응집도가 강함(우량)
· 순차적 응집도(Sequential cohesion)
· 통신적 응집도(Communicatioal cohesion)
· 절차적응집도(Procedual cohesion)
· 시간적 응집도(Temporal cohesion)
· 논리적 응집도(Logical cohesion)
· 우연적 응집도(Coincidental cohesion)       응집도가 약함(불량)
 
5. 모듈의 설계에 관한 다른 지침
(1) 결정 수준(Decision Level)
(2) Black-Box화
(3) 1 모듈 1 기능의 원칙
(4) 조건 판정 경우(Test case)를 작게
 
6. 모듈화의 수순
- 자료구조중심형 설계
- 자료흐름중심형 설계
- 기능구조중심형 설계
 
7. 자료 구조 중심 모듈 분할방법
모듈 분할 순서
① : 주어진 문제를 3~10개의 기능으로 분할 ⇒ 데이터 흐름에 따라 나열
② : 데이터 흐름을 분석 ⇒ 흐름, 주된 데이터, 출력데이터 파악
③ : 입력데이터의 추상화
④ : 입력, 변환, 출력기능을 계층구조로 표현
⑤ : 각 모듈에 ①부터 ④까지 적용하고 하위 모듈을 분할
⑥ : 하위모듈의 세분화 한계 설정
⑦ : 모듈 구조 평가

자료구조중심형 모듈 분할방법
1) Flow-chart
2) 파일 형식
3) 프로그램 조건
프로그램 조건
① : 조건을 분석 ⇒ 필요 기능 파악
② : 프로그램 조건에 대한 구조 작성 ⇒ 처리기능 식별
③ : ②에서 구분한 입력, 처리, 출력기능을 계층구조도로 표시
④ : 기본구조도의 기능을 세분화 ⇒ 종속모듈 정의
⑤ : 모듈 구조를 평가 ⇒ 재 배열, 재 구조화
⑥ : 세분화 진행 한계 설정
 
8. 기능 구조 중심 모듈 분할방법
 · 어떻게(How)가 아니라 무엇(What)을 단위로 세분화
 · 기능을 파악하여 하향식 분할
 · 제어기능을 중심으로 분할
 · 여러 제어기능 중에 큰 제어기능 중심
 · 세밀하게 기능분할
 · 모듈로서 존재하는 상태의 단위를 찾아낸다.

모듈의 종류
주요기능으로 분류
① 주 제어 모듈
② 부 제어 모듈
③ 처리 모듈
④ 입,출력 모듈
⑤ 예외처리 모듈

모듈분할의 수순
㉮ : 주 모듈의 기능을 분해
 
                          
 
㉯ : 프로세스처리의 최대 제어기능은 종료하는 제어다
㉰ : 제어기능의 하위에 종속하는 처리기능을 찾는다
㉱ : 이 처리기능에 포함되는 제어기능을 찾는다.
㉲ : 이 제어기능의 하위에 종속하는 처리기능을 찾는다.
㉳ : 제어기능이 없을 때까지 분할
㉴ : 단일기능으로 분할
㉵ : 가능한 수준까지 분할
㉶ : 공통적으로 사용할 수 있는 내부 서브루틴 파악
㉷ : 기능을 집약
㉸ : 각 모듈에 대해 이해하기 쉬운 이름 부여
㉹ : 초기, 종료처리에서도 같은 방법으로 기능의 세분화를 진행

'UP! > Software Engineering' 카테고리의 다른 글

코드체계  (0) 2008.08.21
프로세스 명세서  (0) 2008.08.21
자료사전  (0) 2008.08.21
개체관계도  (0) 2008.08.21
자료 흐름도  (0) 2008.08.21
Posted by 으랏차
,
10. 자료 사전
자료 사전은,
- 자료 요소, 자료 요소들의 집합, 자료의 흐름, 자료 저장소의 의미와 그들간의 관계, 관계값, 범위, 단위들을 구체적으로 명시하는 것
- 파일 혹은 데이터베이스에 있는 자료에 대한 자료 또는 각 자료 항목에 주어진 이름과 길이
  그리고 서술과 같은 데이터를 포함하는 참조를 위한 작업
자료 사전을 작성하는 목적은,
- 조직 속에 있는 다른 사람들에게 특정한 자료 용어가 무엇을 의미하는지를 알려주기 위하여,
  용어의 정의를 조정하고 취합하고 문서로 명확히 하는 것
 
1. 자료 사전의 이해
자료 사전의 기능
(1) 문서화 기능
(2) 중복 정의 방지, 일관성 유지
(3) 자료흐름도를 완전, 정확하게 이해
(4) 파일에 저장될 자료 내용을 결정
 
자료 사전에 포함되는 내용
(1) 자료에 관한 정보.
(2) 절차적인 논리.
(3) 설계 내역.
(4) 자료 관계.
(5) 프로젝트 요구와 양도 가능한 최종 시스템.
(6) 프로젝트 관리 정보.

2. 자료 사전에서 사용하는 기호
① = is composed of
② + and         
③ ( ) optional   
④ ¹{}∩  iteration 
⑤ [ ]  selection     
⑥ |  seperator       
⑦ @  key field      
⑧ *  comment     
⑨ ** no comment  

3. 자료 저장소에 대한 자료 사전
자료 저장소에 대한 설명
- 자료 구조를 설명하는 것
- 자료 구조는 앞에서 설명한 기호를 사용하여 표현

4. 자료 흐름에 대한 자료 사전
자료 흐름에 포함되는 정보
① 정보의 의미를 함축하는 명칭과 일반적인 서술
② 자료 흐름 출처와 목적지 표기
③ 자료 흐름의 수량과 유형
④ 자료 구조의 이룸
⑤ 자세한 설명을 위한 영역시스템 분석과 설계 10장

'UP! > Software Engineering' 카테고리의 다른 글

프로세스 명세서  (0) 2008.08.21
구조적 설계  (0) 2008.08.21
개체관계도  (0) 2008.08.21
자료 흐름도  (0) 2008.08.21
시스템 분석  (0) 2008.08.21
Posted by 으랏차
,
9. 개체 관계도
9.1 개체의 개요
개체관계도란?
∙업무 영역과 관계 있는 모든 개체들의 관계를 보여주는 것
∙개별적 개체와 관계는 표현하지 않고, 개체와 관계 집합 표현
개체란?
∙정보를 표시하는 개념 또는 사람, 사물, 장소, 사건
∙1개 이상의 속성
∙서로 다른 키
∙직사각형으로 표시
개체의 종류
(1) 물리적 개체 : 사람, 장소, 사물
(2) 개념적인 개체 : 시장, 계획, 판매
(3) 상황적인 개체 : 납품, 검사
개체가 될 수 없는 것
(1) 계산 값
(2) 개체 설명 또는 개체를 가리키는 것
(3) 처리 절차
(4) 개체의 속성을 나타내는 보고서
개체를 찾는 요령
(1) 인터뷰나 질문
(2) 패러다임 적용과 집단화
(3) 원천과 종점 파악

개체의 명명과 정의
(1)개체의 명명 기준
-명사 또는 명사절, 단수형으로 표시
-개체가 실제 업무에 사용되는 이름과 동의어
(2)개체의 정의 절차
-개체의 이름 선정
-간단 명료한 정의
-실 업무의 예 사용
-정의 대신 예 사용금지
-예를 들 때 대문자 사용
-개체 정의 경우, 자기 자신의 일부 사용금지
개체의 유형
(1)기본 개체
(2)종속 개체
(3)연관 개체
개체의 속성
(1)속성의 종류
①물리적 속성
②위치적 속성
③정량적 속성
(2)속성의 정의 절차
① 속성의 이름을 명명
② 개체와 속성을 설명하는 양식을 이용하여 정의, 키의 종류와 유형도 같이 정의한다.
개체의 관계
∙두 개체 사이에 포함된 의미 있는 관련 표현
∙동사 또는 동사절로 표현
∙관계는 개체 사이를 직선으로 연결
(1) 개체관계의 종류
① 관계 수
② 선택 수
(2) 개체관계의 정의 절차
① 개체 사이를 굵은 선으로 연결
② 연결된 선을 기준으로 개체들의 관계를 동사절로 표현
③ 항상 시계 방향으로 읽는다
④ 최소와 최대 연결 수를 나타내는 숫자나 기호 표시
9.2 개체관계도 작성요령
개체 관계도의 기호
(1) 개체
(2) 속성
(3) 관계

개체 관계도의 표현
(1) 개체유형 설명 도표
(2) 외부 Entity
(3) 업무 기능
(4) 장기 목표


(1)키의 종류
①후보 키
②복합 키
③제 1 키
④대체 키
⑤외부 키
(2)키의 식별 방법
개체의 속성을 조사 ⇒ 유일한 식별 속성들의 조합 결정
(3)제1키 선정
제1키는 시간이 지나도 안정적, 키의 길이를 충분하게
(4)키를 제외한 속성
개체를 기술하거나 설명, 유일하게 정의는 못하는 속성
(5)키 이주
이주하는 키가 키를 받는 개체를 유일하게 식별할 필요가 있을 때 그러한 관계를 식별 관계라고 부른다
9.3 모형화
1 모형화의 필요성
모형화란? 바람직한 최종 산출물을 표시하는 것, 문자 형식에 대응한 도형 또는 물리적인 표시
필요성
- 오류 발견, 설계 상의 문제를 구축 전에 확인
- 정교하게 프로젝트를 세분화
- 품질 향상과 예측이 가능
- 보완 또는 유지 보수비용 감소
2 모형화 방법
∙ 방법(how)과 목표(what)를 분리
∙ 목표, 상황과 우선순위 설정
∙ 정규화 시행
3 정규형
(1)제 1 정규형
-반복되는 집단 제거
-원래의 개체에 “자”인 새로운 개체 만듦
-업무 규칙에 근거, 새로운 개체의 키를 결정
-2개의 개체 사이의 관계를 이름짓고 관계 수를 결정
(2)제 2정규형
-반복되는 그룹을 제거
-복합 키 전체에 대하여 종속적이 아닌 속성을 제거
-제 2정규형으로 분해
(3)제 3정규형
-반복되는 집단 제거
-복합키의 전체에 대해 종속적이 아닌 속성들을 제거
-기타 키가 아닌 속성들과 종속적인 속성들을 제거한다.
-제 3정규형으로 분해
(4) 선택수
- 개체 사이에 관계가 없는 경우를 허락하는 업무 규칙이 존재할 때 사용
- 물리 데이터베이스  설계를 위한 기초로서 자료 모형을 쓰는 데 유용
- 시스템 편집 규칙을 결정하는 데도 사용

'UP! > Software Engineering' 카테고리의 다른 글

구조적 설계  (0) 2008.08.21
자료사전  (0) 2008.08.21
자료 흐름도  (0) 2008.08.21
시스템 분석  (0) 2008.08.21
타당성 검토  (0) 2008.08.21
Posted by 으랏차
,
8 자료 흐름도
모형을 사용하는 3가지 이유
1) 중요 특징 부각, 중요하지 않은 특징 생략
2) 위험부담 최소화, 사용자 요구사항의 빠른 수렴
3) 이해 확인, 문서화
모형 특성
∙ 간략한 문자로 상세한 표현이 가능한 도형 중심
∙ 시스템을 하향식이고 분할된 형태로 표현
∙ 최소한의 중복성
∙ 시스템의 처리 결과 예측
∙ 명확한 표현 가능

1. 자료흐름도(DFD : Data Flow Diagram)
자료흐름도 작성 5단계
1) 자료 흐름 유형 확정
2) 자료 흐름 경계 표시
3) DFD를 프로그램 구조로 사상
4) 제어 계층을 분해시켜서 정의
5) 결과 구조는 설계측정들과 경험적 학습법을 사용해서 정제
4 가지 기본도형
                            
         
                                 
자료흐름도 작성시 고려 사항
① 프로세스, 흐름, 저장소 와 단말의 이름은 의미를 포함할 것
② 프로세스에는 일관성 있게, 어떤 수행의 순서를 알 수 있도록 부여할 것
③ 복잡한 자료흐름도는 피할 것
④ 논리적으로 정확하고 이해하기 쉽게 그려질 때까지 여러 번 수정 및 반복하여 그릴 것

자료흐름도의 장,단점
(1) 장점
· 시스템 모형과 세부기능에 대한 모형을 묘사할 수 있다.
· 그림으로 표현 ⇒ 시스템 운영, 관계자료의 흐름을 요약, 파악 ⇒ 이해하기 쉽다
· 복잡한 시스템을 개발할 경우, 총체적, 세부적 구조의 문서로 사용
(2) 단점
· 순서도와 혼동되면 혼란을 일으킬 수 있다.
AJ.A· 요구사항을 기술하는 데 불충분
· 자료사전이나 프로세스 명세서 같은 설명문 추가 필요
· 단말내용, 작업방법 변경이 불가능
· 단말사이에 존재하는 어떤 관련성도 이 흐름도에서 찾아 볼 수 없다.
· 데이터가 어떻게 흘러 다니는지는 알 수 있지만 제어나 순서에 관한 정보는 알 수 없다.
자료흐름도 작성시 고려 사항
① 프로세스, 흐름, 저장소 와 단말의 이름은 의미를 포함할 것
② 프로세스에는 일관성 있게, 어떤 수행의 순서를 알 수 있도록 부여할 것
③ 복잡한 자료흐름도는 피할 것
④ 논리적으로 정확하고 이해하기 쉽게 그려질 때까지 여러 번 수정 및 반복하여 그릴 것

자료흐름도의 장,단점
(1) 장점
· 시스템 모형과 세부기능에 대한 모형을 묘사할 수 있다.
· 그림으로 표현 ⇒ 시스템 운영, 관계자료의 흐름을 요약, 파악 ⇒ 이해하기 쉽다
· 복잡한 시스템을 개발할 경우, 총체적, 세부적 구조의 문서로 사용
(2) 단점
· 순서도와 혼동되면 혼란을 일으킬 수 있다.
· 요구사항을 기술하는 데 불충분
· 자료사전이나 프로세스 명세서 같은 설명문 추가 필요
· 단말내용, 작업방법 변경이 불가능
· 단말사이에 존재하는 어떤 관련성도 이 흐름도에서 찾아 볼 수 없다.
· 데이터가 어떻게 흘러 다니는지는 알 수 있지만 제어나 순서에 관한 정보는 알 수 없다.
 
2. FLOW CHART
미리 정의된 기호와 그들을 서로 연결하는 선을 사용하여 그린 도표
기호는 1962년 국제 표준화 기구 (ISO)에서 정한 것을 표준으로 사용
(1) 장점
· 설계표현을 위해 가장 많이 사용
· 처리과정을 자세히 설명할 수 있다
(2) 단점
· 전체 시스템 구성을 설명해 줄 수 없다.
· 구조적 프로그램 작성을 방해
· 지엽적(枝葉的)인 문제에 집착하도록 하는 경향
· 포함된 루프나 포함된 조건으로부터 탈출하는 경우 비효율성 야기
· 제어흐름 모호, 오류발생의 가능성 증가, 이해 유지 나쁨
· 기능적인 영역에 위배되는 화살표 사용
 
                  
 
3. 결정 테이블(Decision Table : 판단표)
        Conditions & Actions                  Rules 
        --------------------------------------------------------------             
              조건 표제란                   조건 기입란
              행위 표제란                   행동 기입란
                            <결정 테이블 모형>
 
(1) 장점
· 완결성, 일관성의 체계적 점검 가능
· 복잡한 논리를 한 눈으로 알 수 있게 표현
· 누락과 오류 방지
· 복잡하게 얽힌 분기의 논리 등을 구조화하는데 적합
(2) 단점
· 순서, 반복 또는 시간에 관련된 정보를 나타낼 수 없다.
· 어느 처리를 어떤 순서로 하는가를 한눈으로 알 수 없다.
 
4. N-S 도표(Nassi-Shneiderman Chart)
                 
(1) 장점
· 기능영역이 잘 정의되고 세부적인 논리표현에 적합한 다이어그램 표현기법이다.
· 전역 또는 지역 데이터의 영역이 쉽게 표현된다.
· GO TO문을 사용하여 프로그램이 알기 어렵게 되는 것을 피했다. 따라서 프로그램 모듈의 논리를 구조화하여 표현하고 문서화하는데 편리하다.
· 읽기 쉽고 프로그램 코드로 변환하기가 쉽다.
 
(2) 단점
· 프로그램의 구조가 잘 이해되지 않고 대형 프로그램일 때 자료의 흐름을 표현하기에는 적합하지 않다.
· 제어의 임의의 전달은 불가능하다.
· 처리요소들은 표현하고 있으나 이들간의 인터페이스는 표시하지 못한다.
· 처리설계에만 적용되고 데이터 구조 설계에는 적용할 수 없다.
· 데이터베이스에 기초를 두지 않았다.
· 데이터 모델이나 자료사전과 관련을 맺기가 어렵다.

5. JACKSON DIAGRAM(METHOD)
네 가지 기본형으로 표현
1) 기본 : 더 이상 분해할 수 없는 기본이 되는 단위
2) 순차 : 둘 이상의 요소로 구성, 각각의 요소는 정해진 차례로 1회만 나타난다.
3) 선택 : 둘 이상의 요소로 구성된다는 점은 연접과 같다.
             다만 연접과는 달리 한번에 그중의 어느 하나만이 나타난다.
             선택을 나타내기 위해 。 표를 붙인다.
4) 반복 : 그 속에 포함되어 있는 요소가 몇 번이라도 반복한다.
             반복 표시를 위해 기호의 오른쪽 위에 *를 넣는다.
 
                          
(1) 장점
· 직접적으로 순차, 조건, 반복을 포함한 절차적 구성
· 역추적 상황 완화, 구조 불일치 해결, 소프트웨어 최적화에 사용
· 예비설계 기술보다 세부적인 설계 기술에 근접
(2) 단점
· 중간 파일 이용이 비효율성 증가, 개념상 불필요
· 프로그램 이해 곤란, 유지보수 곤란, 오류 유발
· 논리 또는 파일 시스템 등의 데이터베이스 시스템 설계에는 유용하지 않다.
 
6. HIPO
                   
 
           
(1) 장점
· 전체 또는 상세한 부분까지도 쉽게 알아본다
· 문서화의 표준화로 올바르게 생각 전달
· 구조화 프로그래밍 기법과 결합, 고도의 모듈화 실현 기대
· 기능구조가 계층적으로 도식화, 작업을 위에서 아래로 논리적으로 전개 가능
· 기능, 입력, 출력자료가 나타나 있으므로 자료가 변해 가는 과정을 시각적으로 볼 수 있다
· 작은 프로그램 개발에 좋은 도구
(2) 단점
· 그리기 어렵다.
· 프로그램구조를 구체적으로 표현하는 방법이 없다.
· 처리단계나 입출력항목이 많아지면 표현이 어렵다.
· 데이터구조나 데이터간의 관계를 표현할 수가 없다.
· 시스템 분석가나 설계자 또는 프로그래머를 위한 어떤 지침, 책략, 절차 등이 없다.
 
7. 의사코드(Pseudo-code)
 
  SALE_PRICE = PRICE * ( 1 - DISCOUNT_RATE )
  PROFIT = ( SALE_PRICE  - PURCHASE_PRICE ) * AMOUNT
  IF PROFIT IS GRATER THEN UPPER_LIMIT
  THEN MOVE EXCELLENT_CHARACTER TO ASSESS
   GO TO PRINT_ASSESS
  END-IF
  IF PROFIT IS GRATER THEN OR EQUEL TO LOWER_LIMIT
  THEN MOVE GOOD_CHARACTER TO ASSESS
   GO TO PRINT_ASSESS
  END-IF
  IF PROFIT IS LESS THEN LOWER_LIMIT
  THEN MOVE BAD_CHARACTER TO ASSESS
  END-IF
 PRINT_ASSESS.
  CALL PRINT_RECORD
 
1) 의사코드의 필요성
    플로우 챠트 :
    “어떤 순서로 처리하는가(How) ?” 표현 수단
    “무엇을 하는가(What) ?” 표현 수단으로 부적합
    의사코드 :
    What 과 How 를 동시 표현
    문서화
    생각 도구
    프로그램 설계정보 전달 도구
    자연어와 유사
2) 의사코드의 표현방법
 판매단가 = 정가 * ( 1 - 할인율 )
 이익 = ( 판매단가  - 구입단가 ) * 수량
 IF (이익 > 목표상한)
 THEN 평가 = “매우 우수”
 ELSE IF (이익 >= 목표하한)
  THEN 평가 = “우수”
  ELSE 평가 = “불량”
  END-IF
 END-IF
 인쇄하는 부프로그램 CALL

8. 워니어-오어(Warnier-Orr) 다이어그램
                         
Warnier-Orr 다이어그램
계층적 구조를 표현
제어와 흐름 표현
실행될 함수의 횟수 표현
실행제어 논리는 각주로 표기
선택구조는 (0, 1)을 함수이름 아래에 기술
+(OR), (Exclusive OR) 표기를 한다
◉ 장점
· 새로운 시스템의 설계와 기존의 시스템에 대한 문서로 광범위하게 사용된다.
· 구조화된 프로그램 코드로 옮길 경우 Begin-End 블럭구조 형식을 사용하여 간단하게 해결할 수 있다.
· 데이터 구조에 대한 효과적인 문서를 제공한다.
· 4개의 기본적인 다이어그램 기법으로 구성되어 있기 때문에 사용법이 쉽다.
◉ 단점
· 구조를 확실하게 표현할 수 있지만 세부적인 단계에서는 부피가 커지기 때문에 읽기가 어렵다.
· 제어 논리를 각주로 이용하기 때문에 읽기가 불편하다.
· 데이터베이스에 기초를 둔 것이 아니기 때문에 계층적 구조만을 기술하고 있다.

'UP! > Software Engineering' 카테고리의 다른 글

자료사전  (0) 2008.08.21
개체관계도  (0) 2008.08.21
시스템 분석  (0) 2008.08.21
타당성 검토  (0) 2008.08.21
프로젝트 계획  (0) 2008.08.21
Posted by 으랏차
,
7. 시스템 분석
시스템 접근법(systems approach)
문제점을 찾아내서 원인을 분석하고 대책을 세우는 방법
경영에 컴퓨터를 이용하게 된 이유
 ① 할 수 없었던 일들을 하기 위해
 ② 문제점들을 신속, 정확하게 파악하기 위해
 ③ 창의적이고 전문가적인 일을 하기 위해
 ④ 조직운영의 융통성
컴퓨터를 효율적으로 활용하기 위한 고려사항
 ① 일을 선택할 기준 설정
 ② 컴퓨터의 종류를 용도에 맞게 선택
 ③ 대상 업무 처리에 맞는 컴퓨터 언어 선택
 ④ 요구를 분석하고 새로운 시스템을 설계

1 시스템 요구사항 분석 및 정의
시스템 개발 작업이란?
컴퓨터를 이용하고자 하는 목적에 따라 요구하는 사항을 분석하고 정의하는 것
 
분석이란?
① 문제점 파악하고, 해결하기 위해 문제제기 하는 것
② 문제를 해결하기 위하여 보다 작은 요소로 분해하는 일련의 과정
③ 어떤 행동을 취하기 전에 문제를 연구하여 문제의 속성, 기능, 관련성을 파악하여 비구조적인 문제로부터 구조적인 모형을 추출,
    명세화하는 행위
 
소프트웨어 요구 분석이란?
① 문제의 연구 및 해결책을 찾기 위한 체계적인 접근방식 적용
② 정보의 흐름과 구조를 파악하여 소프트웨어를 개발하기 위한 기본을 제공하는 것
③ 목적하는 소프트웨어가 가져야할 상세한 기능을 하드웨어와 소프트웨어에 맞게 분석
④ 설계 또는 이행상의 제약사항을 결정하기 위해 시스템이 수행해야할 기능들을 정의
 
요구분석의 주요 활동
① 현재의 방법을 분석, 사용자가 원하는 요구 추출
② 소프트웨어가 이러한 요구를 어떻게 해결할 것인가를 기술
 
요구정의란?
 제기된 문제를 해결하기 위한 수단을 찾아내기 위해, 사용자 요구사항을 파악하여 실현 가능한지를 검토한 후
 새로운 시스템이 필요로 하는 명세서를 작성하는 것
 
요구분석 및 정의의 목표를 달성하기 위한 고려사항
 · 시스템 분석방법
 · 현 시스템에 대한 조사절차
 · 신 시스템에 대한 요구명세서 작성

2 시스템 분석방법
시스템 분석
1) 시스템의 기능과 구조를 명확히 한다.
2) 문제의 본질을 세분화하여 근본적인 문제점을 파악
3) 불명확한 문제를 찾아 해결방법과 대체 안을 마련
4) 복수의 해결법을 검토하여 근본적인 해결책 모색

3 시스템 분석 접근방법
   ① 하향식 접근방법(Top-down approach)
   ② 상향식 접근방법(Bottom-up approach)

4 시스템 조사 방법
1) 자료 수집법 : 필요한 자료를 수집하여 정리하는 방법
    수집해야할 필요한 자료
     · 각종 설명서, 해설서
     · 계획서
     · 논문, 문헌
     · 신문, 잡지의 관련기사
     · 관계 법규, 회사 내규 및 직무 명세서
     · 카다로그
     · 보고서, 통계 데이터
     · 조직도표, 시스템 흐름도
     · 조직 방침

2) 현장 관찰법 : 현장 관찰, 실제 경험 방법
   ① 실무자들을 지원하기 위한 관찰
   ② 현업 책임자들을 지원하기 위한 관찰
   ③ 중간 관리자들을 지원하기 위한 관찰
   ④ 최고 경영자들이 활용할 수 있는 정보를 제공하기 위한 관찰
       a 기업의 내적요인들
       b 기업의 외적요인들

전략적인 계획 수립
 . 제품계획
 . 자금소요계획
 . 소요인력계획
 . 자원계획
 . 운송계획
 . 재고계획
 
3) 면담법
  ∙ 면담하는 사람의 견해를 찾아내야 한다.
  ∙ 견해에 추가하여, 면담에 응하는 사람의 배경을 감지하려 시도해야 한다.
  ∙ 목적 또한 중요한 정보는 면담을 통하여 확립할 수 있다.
 
면접의 방법
 ① 개별 면접
 ② 집단 면접
 
면담을 위한 주요 사항
 ① 배경 정보의 이해
 ② 면담 목적의 설정
 ③ 면담할 사람의 결정
 ④ 면담 당사자에 대한 준비
 ⑤ 질문 형식과 구조의 결정
 
1) 질문의 형식과 내용
 ① 개방형 질문
 ② 폐쇄형 질문 : 대답에 제한을 두는 질문
 ③ 증명형 질문
 
2) 면담시 유의사항
 (1) 유도형 질문은 피할 것
 (2) 질문은 간단 명료하게
 (3) 전문적인 전산용어 피할 것
 (4) 논리적 순서에 따라 질문
      ① 귀납적 방식 : 피라미드 모양으로 가시화 할 수 있다.
      ② 연역적 방식 : 개방형 질문, 연역적으로 시작, 폐쇄형 질문을 사용, 폭이 좁은 응답
      ③ 다이아몬드형 : 다양한 질문을 통해 면담에 응하는 사람의 흥미와 주의를 끌 수 있다
 (5) 기록을 하게되면 상대방이 더욱 신중한 답변을 하도록 하는 효과는 있으나
      잘못하면 심문 받는 분위기를 만들게 되므로 주의해야 한다. 기록하는 대신 녹음기를 사용하기도 한다.
      ① 녹음기를 사용(Using a Tape Recorder)하는 방법
      ② 노트에 기록(Notetaking)하는 방법
 
5 설문지의 사용
 ∙광범위한 의견 수렴에 사용
 ∙전체조사, 표본조사로 구분
 
5.1 설문지 작성
방식
  ① 다지선택방식(Multi-choice)과 자유기술방식(Free-answer)
  ② 기명방식과 무기명방식
용도
  ① 수집해야할 정보가 지역적, 시간적으로 멀리 떨어져 있거나
  ② 정보수집 대상이 아주 많은 경우에 주로 사용
  ③ 결과는 통계적인 방법을 사용하여 결론을 유도
  ④ 프로젝트의 계획을 세우기 전, 전체적인 방향, 윤곽 설정을 위해 사용
 
5.2 설문지 작성시의 유의사항
 1) 단어의 선택
     ① 단순한 단어 사용, 막연한 단어보다 전문용어를 비롯한 특수 단어 사용
     ② 질문은 짧게, 저급언어 사용 회피
     ③ 두 가지 뜻을 가진 단어의 사용을 피한다
     ④ 질문의 대상을 명확히 하여 응답자의 수준에 맞는 질문
     ⑤ 질문의 내용이 기술적으로 정확한지 확인
 2) 스케일의 사용
     ① 명목(Norminal) 척도
        <예> : 직업구분 코드, 남녀구분 코드, 지역구분 코드의 사용
     ② 순위(Ordinal) 척도
        <예> : 등수, 도착순서, 일련번호 등
     ③ 등간(Interval) 척도
        <예> : 학점(A,B,C.D), 연령구분(10대, 20대, 30대, 40대 ····), 소득구분 등
     ④ 비율(Ratio)척도
 
 3) 설문지의 형식
     ․충분한 여백 확보
     ․숫자의 범위를 사용
     ․형식을 결정하고, 형식에 일관성을 유지
     ․질문의 순서를 결정
     ․첫 번째 질문에 주제를 담고, 응답자의 관심을 유발시키는 질문
     ․논쟁의 여지가 없는 항목을 앞에 배치
     ․유사한 내용의 질문은 하나의 집단 아이템으로 구축, 연상되는 질문을 차례로 배치

'UP! > Software Engineering' 카테고리의 다른 글

개체관계도  (0) 2008.08.21
자료 흐름도  (0) 2008.08.21
타당성 검토  (0) 2008.08.21
프로젝트 계획  (0) 2008.08.21
개발의 중요문제  (0) 2008.08.21
Posted by 으랏차
,