'분류 전체보기'에 해당되는 글 304건

  1. 2008.08.21 객체지향 분석과 설계
  2. 2008.08.21 문서화
  3. 2008.08.21 CASE
  4. 2008.08.21 소프트웨어 시험전략
  5. 2008.08.21 S/W 시험
  6. 2008.08.21 DB 설계
  7. 2008.08.21 파일설계
  8. 2008.08.21 입력과 출력 설계
  9. 2008.08.21 코드체계
  10. 2008.08.21 프로세스 명세서
22 객체 지향 분석과 설계(Object-oriented Systems Analysys and Design)
객체 지향 이란?
SIMULA라는 시뮬레이션 언어에서 근원
∙Booch
Major : abstraction, encapsulation, modularity, and hierachy
Minor : typing, concurrency, and persistency
∙Cardelli
Inheritance and polymorphism
∙Coad
Class and objects, inheritance, and communication with messages
∙Khoshanfian
Abstract data type, inheritance, and object identity
∙Rumbaugh
Identity, classification, polymorphism, and inheritance
객체 지향 설계
추상화(Abstraction)
정보 은폐(Information hiding)
모듈화(Modulality)
1 객체 지향 개념(The Object Oriented Idea)
객체 지향 프로그래밍 특징
(1) 객체(Object)
(2) 클래스(Classes)
(3) 메시지(Messages)
(4) 캡슐화(Encapsulation)
(5) 상속(Inheritance)
(6) 다형성(Polimolphism)
1.1 Objects(객체)
객체란?
∙어떤 실세계의 일이나 사건의 컴퓨터 표현
∙시스템의 하나의 물리적인 개체(entity)로서 어떤 행위를 할 수 있는 한 단위
∙시스템을 구성하는 실체이며, 한 개체의 상태변화를 표현하는 기본단위
객체 식별
1) 시스템 분석자료로부터 명사 또는 명사절을 추출하여 별도의 표를 작성
2) 동의어 등과 명령적인 절차명을 정리
3) 다음 사항중 하나에 속하는지를 판단하여 객체를 식별.
- 외부 실체(external entity)
- 사물(thing)
- 조직(organization units)
- 상황이나 사건(occurences or events)
- 장소(places)
- 역할(roles)
- 객체구조(structures)
4) 수행절차나 연산, 행위같은 명령을 객체로 식별하지 않았는지를 점검.
∙ 속성(Attribute) : 객체를 정의 또는 설명해주는 것
∙ 메소드(Method) : 객체 내에 포함된 하나 이상의 속성 값을 변경시키는 것
1.2 클래스(Classes)
유사한 객체들의 집합
각 객체 : 클래스의 실체(instance)라고 한다
객체는 클래스를 설정함으로써 생성될 수 있다
실체는 클래스에 create나 new 등의 메시지 전달로 생성
1.3 메시지(Messages)
객체의 행위(Behavior)를 표현
1.4  캡슐화(Encapsulation)
∙추상화된 객체의 구현을 은닉하는 것
∙시스템의 한 콤포넌트의 내부 구현이 다른 콤포넌트에 의존하지 않는 것
∙추상화는 객체의 외부 인터페이스에 초점을 맞추지만 캡슐화는 객체 내부의 구현을 client에게 보이지 않게 하는 것
∙프로그래밍 언어에 따라 구현하는 강도가 다르다
∙동작을 일으키는 구현에 중점을 둔다
1.5 상속(Inheritance)
상속이란?
하나의 클래스가 다른 클래스로부터 애트리뷰트나 메소드를 물려받는 것
∙단일상속
∙다중상속
1.6 다형성(Polymorphism)
파생된 클래스와 관련되면서 또 다른 행위를 요구하는 것
2 객체 지향 분석(Object-Oriented Analysys)
(1) 클래스/객체 계층 ; 클래스와 객체를 설명하는 분석과 설계 단계
(2) 구  조   계  층  ; 1:n의 결합이나 상속과 같은 클래스와 객체들의 여러가지 구조를 포함시키는 단계
(3) 속  성   계  층  ; 메시지와 행위를 기술하는 단계
(4) 서 비 스  계 층  ; 클래스의 속성을 자세히 기술하는 단계
(5) 주  제   계  층  ; 실행 단위 또는 팀으로 설계를 분할하는 단계
2.1. 클래스와 객체의 분석(Analyzing Classes and Objects)
분석하는 동안에 찾을 수 있는 객체
. 유형의 사물
. 임무
. 사건들이나 결과
. 특별한 시간
. 서로 영향을 주는 것
클래스 판단 기준
1. 객체를 기억할 필요가 있다. 
2. 객체의 어떤 행동들을 필요를 역설한다.
3. 한 객체는 여러 개의 속성을 갖게 된다. 
4. 기본 클래스가 아니라면 하나의 클래스는 한 개 이상의 객체를 갖게 된다.
5. 속성들은 클래스에 속한 각각의 객체를 위한 의미 있는 값을 항상 가진다. 
6. 서비스들은 클래스에 속한 모든 객체들에 대하여 항상 같은 방법으로 제공된다. 
7. 객체는 해결기술이 아니라 문제발생으로부터 파생되어진 요구를 실행시키는 것. 
8. 객체는 시스템내의 다른 객체에서 파생될 수 있는 중복된 속성이나 서비스일 수 없다.
2.2. 분석 구조(Analyzing Structure)
(1) Gen-Spec 구조 :
(2) Whole-Part 구조 :
 
2.3. 속성 분석(Analyzing Attribute)
클래스 속성의 명칭은 설계도상에서 클래스 상자의 가운데 부분에 쓰여진다.
2.4. 실체 관계(Instance Connection)
클래스들 사이가 아닌 객체들 사이에서 실체관계에 대한 설명이 항상 이루어진다.
2.5. 예비 명세서 모형(Preliminary Specification Temlate)
속성의 소개를 위해  분석 명세서가 필요하다.
2.6. 서비스 분석(Analyzing Service)
- 서비스 :
방법(methods) 또는 절차(procedures)
많은 면에서 객체의 일 부분
객체상태분석, 서비스 명세서 그리고 메시지 명세서 등의 세 가지로 구성
(1) 객체 상태 분석(Object State Analysis)
- 객체의 행동을 바꾸는 속성을 조사.
 . 각 속성을 조사
 . 어떤 상황하에서 다른 행위를 하게 되면 “상태” 속성을 추가.
(2) 서비스 명세서(Service Specification)
- 서비스는 객체생성, 저장, 검색, 결합, 취득, 객체 삭제 등을 포함
- 단순한 서비스들
- 복잡한 서비스들 :
(3) 메시지 명세서(Message Specification)
- 한 객체의 행위가 어떻게 다른 객체의 행동을 유발할 수 있는가를 서술
- 다른객체의 행동을 유발시키기 위한 목적으로 한 객체에 의해 만들어짐
- 서로 다른객체에 있는 별개의 절차에 한개의 절차가 종속되어져 있는 것을 기술
- 서비스들 사이 연결을 위해 하나만 존재, 제어흐름과 데이터 흐름 모두를 필요로 함
- 메시지는 보내는 서비스와 받는 서비스로 구분
2.7. 명세서 모형 구축(Assembling the Specification Template)
- 규정해야 할 필요가 있는 어떤 중요한 객체를 상세하게
2.8. 주제 분석(Analysing Subjects)
- 복잡한 명세서를 논리적 작업단위로 분할하는 단계
- 많은 클래스와 관련된 큰 프로젝트에서만 필요
- 주제는 객체지향 도표에 특별한 주제의 배경을 기술하는 넓은 그림자로 표시
- 주제명칭은 주제상자의 한 부분에 기술
- 일반적으로 주제는 ‘Owner’ 클래스에서 나타난다
2.9. 객체 지향 설계(Object-Oriented Design)
명세서를 완성시킬 분석 도구를 도입
- 객체 지향 설계 작업의 구성 요소
∙문제요소
∙인간과의 교류요소
∙데이타 관리요소
∙작업관리 요소

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

시스템구현  (0) 2008.08.21
[CMMI] CMMI Project Status  (0) 2008.08.21
문서화  (0) 2008.08.21
CASE  (0) 2008.08.21
소프트웨어 시험전략  (0) 2008.08.21
Posted by 으랏차
,

문서화

UP!/Software Engineering 2008. 8. 21. 14:00
21. 문 서 화
소프트웨어 구성
∙프로그램
∙데이터
∙문서
1 시스템 설계의 순서


시스템 설계의 개요
∙ 현상 분석 :
∙ 기본 설계 :
∙ 상세 설계 :

2 문서류 작성 순서
시스템설계의 순서 ⇔ 문서류 작성처리 순서
문서류를 차례로 작성 ⇔ 시스템 설계 구체화 의미
 
3 문서류 작성 순서의 설명
 1) 기능 블럭도표를 작성
 2) 조사 노트 작성
 3) 기재하지 않은 전표나 장표의 표본(Sample)과, 정상적으로 기재한 전표, 장표의 표본을 수집
 4) 현상 분석에 입각하여 새로운 시스템이 무엇을 하면 좋을지를 생각
 5) 컴퓨터를 사용해서 어떤 형태의 출력을 어떤 주기로 제공할 것인가를 검토.
 6) 결정된 출력을 기준으로, 출력 작성에 필요한 항목이 입력으로부터 들어오는가, 파일로부터 들어오는가 등을 분석
 7) 설계를 효과적으로 수행하기 위하여 입력 설명서, 파일 설명서, 기본 도표를 작성하여 새로운 시스템의 요구 조건을 명백히 한다.
 8) 전산화를 위해 필요한 코드 확정
 9) 위의 4)~7)의 검토에 의해 나타난 시스템의 요구 조건을 구체적으로 시스템을 설계
10) 프로그래밍 설명서 작성
 
4 현상 분석과 문서화
1 MACRO 업무기능분석
1) 일반적인 업무활동
                                                                               일반적인 업무활동

2) MACRO 업무 분석의 의의
① 기업 전체의 업무 기능을 나타낼 수 있고, 조사의 지연이나 재조사를 막을 수 있다.
② 기능 블록은 조사 대상 단위가 된다.
③ 업무 기능의 간섭이 명확하게 되어 부 시스템 단위의 기계화의 방향을 보다 올바르게 유도한다.
④ 시스템 관리를 위한 새로운 수법 도입 시 검토용이
⑤ 이 분석에 의해 표현된 기능 블록은 각각 기계화의 가능성, 구분성 또는 기계화 필수 부분 등의 판정 단위로 된다.
3) 기능 블록 도표의 작성 방법
① 면접 조사
② 참고 자료 조사
③ 기술 방법 결정

2  MICRO 업무 기능 분석
① 조사단위의 설정과 조사계획의 수립
② 조사 장부의 작성
    - 조사범위, 조사계획 , 조사장부
③ 기능 설명서의 작성
3 문서 작성
1 기능 설명서의 기술 방법
- 흐름도의 기술
- 입력의 기술
- 출력의 기술
- 파일 사용의 기술
- 함수, 기능의 기술
2 전표와 장표의 표본 수집
표본은 기입하지 않은 것과 표본의 업무에 정통한 사람이 정상적으로 기입한 전표와 장표를 모두 수집한다.
3 논리표의 작성
(1) 논리도표
(2) 결정 테이블
  
4 기본설계
1) 귀납적 접근방법
2) 연역적 접근방법
3) 창조적 접근방법
 
5 전산화의 검토
현행업무의 필요성을 검토하여 판정하는 단계
1 전산화의 검토표
2 논리 도표를 사용한 전산화 검토
 
6 문서 작성의 기본 항목
1) 입출력(I/O)파일의 관련 분석
2) 입력 설명서
3) 파일 설명서
4) 출력 설명서
5) 기타 설계 명세서
① 코드 설계 명세서
② 시스템 개념도 : 8장 참조
③ 자료 흐름도(DFD) 또는 개체 관계도(ERD) : 8장과 9장 참조
④ 자료사전
⑤ 프로세스 명세서
⑥ 프로그램 설계 기준 명세서

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

[CMMI] CMMI Project Status  (0) 2008.08.21
객체지향 분석과 설계  (0) 2008.08.21
CASE  (0) 2008.08.21
소프트웨어 시험전략  (0) 2008.08.21
S/W 시험  (0) 2008.08.21
Posted by 으랏차
,

CASE

UP!/Software Engineering 2008. 8. 21. 13:59
20 CASE
CASE(Computer Aided Software Engineering)란
- 소프트웨어 수명주기 전 단계에서 사용되는 개발도구와 방법론을 이용하여 시스템 개발자들이 수작업으로 진행하고 있는 분석,
  설계, 구현, 유지보수 과정을 자동화하거나 개발을 지원하도록 하는 시스템을 의미
- 소프트웨어 개발자동화를 지원하는 도구
- 정보 시스템 개발조직의 표준화 지원
- 소프트웨어 공학과정에서 필요로 하는 모든 도구들
 
1  CASE의 출현배경
 1. 소프트웨어의 위기
 2. 신기료 증후군(shoe-maker's syndrome)
 3. 시스템 복잡도 증가 및 의사소통의 어려움 증가
2  CASE의 기능
(1) 체계적인 시스템 기술(記術)능력
(2) 분석기능
(3) 소프트웨어 수명주기 통합․지원
(4) 정보저장 기능
(5) 시스템 구조(system architecture)를 표현하는 기능
 
3  CASE의 분류
3.1  생명주기에 따른 분류
 (1) 상위 CASE:
      ① 기능:
          기능 모형, 분해도, 자료흐름도, 개체관계도, 액션 다이어그램, 프로세스 명세서, 화면 설계, 보고서작성, 자료구조도 등을 작성
      ② CASE 상품예:
          SA, XL, Silverrun, OpenSelect, ER-Win, S-Designer, Bachman, PC-Prism, ISP, Excelerator 등
 (2) 하위 CASE:
      ① 기능:
          데이터베이스의 스키마 생성, 코드생성, 스키마 생성이나 코딩, 문서작성
      ② CASE 상품예:
          Telon, Corvision, Esprit, Yesman, SQL/Windows, Power Builder 등
 (3) 통합 CASE:
      ① 기능: 개발 단계의 전 공정 지원
      ② CASE 상품예: System Architect, Teamwork, ADW, IEF(Information Engineering Facility), PRIDE, Foundation,
                             CASE*Dictionary CASE*Designer, CASE* Generator, Promod, VAXset/DECdesign 등
 
통합 CASE가 가져야할 기능
① 공통된 자료 관리나 공통된 도구접근방법
② 객체 관리 시스템 구축
③ 인터페이스는 일관성 있게 제공
④ 도구들을 제어하는 기법, 기교 구비
 
3.2  기능에 따른 분류
① 개발일정과 자원을 관리하는 프로젝트 관리용
② 실제로 산출물을 생산하는 개발지원용
③ 정보자원의 통합 및 변경사항을 지원하는 정보저장소 (repository) 관리용
④ 프로젝트 관리 및 개발지원을 통합한 체계의 방법론 지원용
 
(1) 프로젝트 관리기능
① 업무 시스템 계획도구(business system planning tool):
② 프로젝트 관리도구(project management tool):
    ․프로젝트 계획도구
    ․요구사항 추적도구
    ․매트릭스와 관리도구
 
(2) 개발지원 도구
① 분석 및 설계도구
② 프로그래밍 도구
③ 지원도구
 
(3) 정보저장소 도구(database or repository)
① 개방된 정보저장소로서 다른 정보저장소와 데이터를 주고받아야 한다.
② 객체나 프로젝트간의 변경 관리기능을 가져야 한다.
③ 보안 관리기능을 가져야 한다.
④ 필요한 때, 필요한 형태의 유틸리티를 사용자가 개발, 사용할 수 있어 야 한다.
(4) 통합환경이나 방법론 지원도구
① 프레임워크 도구: CASE 도구들의 통합 처리능력 제공
 
3.3  지원범위에 따른 분류
① CASE Tool
② CASE Tool Kit
③ CASE Workbench
④ CASE Methodology Companion
 
3.4  통합 정도에 따른 분류
① 단위(stand-alone) CASE
② 통합(file-based integration) CASE
 
3.5  시스템 유형별 분류
① 메인 프레임 기준의 CASE
② UNIX 기준의 CASE
③ PC 기준의 CASE
 
3.6  규모와 가격으로 분류
① 대규모 CASE
② 소형 CASE
 
4  CASE 활용의 장단점
(1) 장점
∙빠르고 정확하게
∙일관성 유지
∙개발 생산성과 효율성 제고
① 그래픽을 이용한 다이어그램 작성도구 사용
② 국제표준화기구에서 정보저장소(repository)간의 데이터 전송 표준화를 추구
③ 소프트웨어 품질 향상, 수정 및 변경요구에 신속 대처 가능
④ 자동화된 코드생성에 의해 개발기간 단축
⑤ 문서화가 쉽다
⑥ 업무의 특성에 따라 단위 CASE를 사용하여 부분별 생산 성 향상을 기할 수 있다.
 
(2) 단점
① CASE마다 다른 점들이 있으므로 통합하는 데 어려움이 있다.
② CASE를 과신하는 경우, 도구에만 의존하여 오류발견이 늦을 수 있다.
③ 여러 CASE의 기능을 파악하고 있는 전문인력 확보하기가 어렵다.
④ 사용자 및 담당자의 교육에 많은 시간이 소요되어 개발부담이 가중된다.
 
5  전 망
(1) CASE TOOL의 보편화:
(2) 일반사용자 컴퓨팅:
(3) 지능형 CASE:
(4) 통합 CASE:
 
6  Nolan의 기술발전 6단계
① 조직 내의 시스템 개발환경의 평가작업
② 비전(vision)의 제시
③ 경영진의 지원약속 및 인식확립
④ 개발환경의 선택
 
7  CASE 툴의 선정기준
(1) 개발방법론 지원
(2) 사용자 인터페이스
(3) 데이터 관리기능
(4) 호환성
(5) 통합성

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

객체지향 분석과 설계  (0) 2008.08.21
문서화  (0) 2008.08.21
소프트웨어 시험전략  (0) 2008.08.21
S/W 시험  (0) 2008.08.21
DB 설계  (0) 2008.08.21
Posted by 으랏차
,
19 소프트웨어 시험 전략
1. 시스템 통합 시험
시스템 통합시험이란
모듈별 테스트가 끝난 후 이 모듈들을 통합시켜 놓았을 때, 원하는 결과가 나오는가를 확인하여 그 통합순서를 확정하여 프로그램구조로 바꾸는 것이다.
시스템 통합시험의 목적
조기에 골격 코드 작성 가능토록
골격코드의 접속관계 확인
간단한 테스트 사례 표현
통합시험 방법
비 단계적통합
단계적 통합
하향식 통합방법
상향식 통합방법
 
1.1 하향식 통합
오류가 초기에 발견되어야만 하는 경우에 좋은 방법
깊이우선(depth-first) 방법 : A,B,E,F,H,C,G,D 순서
넓이우선(breath-first) 방법 : A,B,C,D,E,F,G,H 순서


                                                                   하향식 통합시험
 
1.2 상향식 통합
프로그램구조의 하위수준인 모듈부터 한 단계씩 위로 통합하는 방법
(1) 1단계 통합시험
기능의 정확성
요구사항 수행 정도
범위이내의 값
특정값
범위이외의 값
(2) 2단계 통합시험
사용 편의성
작업 방법
사용 언어
사용 규칙 준수
사용 파일
작업 환경
(3) 3단계 통합시험
오류 검출
문제점에 대한 정의
해결방안 모색
 
2 개발된 소프트웨어의 통합시 중점 점검사항
 (1) 정확성(accuracy)
 (2) 의사 교환성(communicativeness)
 (3) 완전성(completness)
 (4) 일관성(consistency)
 (5) 오류 허용성(error telerance) 
 (6) 모듈성(modularity)
 (7) 응답시간 적합성(response  time adequacy)
 (8) 구조적 단순성(structural simplicity)
 (9) 시험 적합성(test adequacy) 
(10) 추적 가능성(traceability)
(11) 시험도구 설비성(instrumentation)

시험 도구의 분류
Miller의 분류
정적 분석기(static analyzer)
코드 감사(code auditor)
단언 처리기(assertion processor)
시험 파일 생성기(test file generator)
시험 자료 생성기(test data generator)
시험 검증기(test verifier)
시험 장치(test harness)
결과 비교기(output comparator)
Dunn이 추가한 사항
기호 실행(symbolic execution) 시스템
환경 시뮬레이터(environment simulators)
자료 흐름 분석기(data flow analyzers)
 
3 시스템 수준 테스트
시스템 수준 테스트란
전체로서의 시스템을 테스트하는 것
시스템 수준 테스트의 종류
1. 시스템 수준 수용 테스트(System Test)
2. 기능 테스트(Functional Test)
3. 유용성 테스트(Usability Test)
4. 과부하 테스트(Stress Test)
5. 성능 테스트(Performance Test)
6. 신뢰성 테스트(Reliability Test)
7. 복구성 테스트(Recovery Test)
8. 안전성 테스트(Security Test)
9. 회귀 테스트(Regression Test)
 
4 사용자 수용 테스트
사용자의 요구를 만족하는가를 검증하는 시험
사용자 참여
테스트의 명확한 목표설정 및 계획을 수립
시스템 수준 테스트나 통상적 운영자료의 일부분을 테스트 사례로 사용
실제 사용되는 데이터 활용
운영가능 여부를 판단하는 최종 절차
시스템의 기능을 상세히 검증하기 위한 테스트
시스템을 이관하기 위한 공식적인 형식절차
정해진 기간 안에 이루어져야하는 테스트

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

문서화  (0) 2008.08.21
CASE  (0) 2008.08.21
S/W 시험  (0) 2008.08.21
DB 설계  (0) 2008.08.21
파일설계  (0) 2008.08.21
Posted by 으랏차
,
18 소프트웨어 시험(테스팅)
1 시험의 정의
-IEEE- 소프트웨어의 시험은 정의되어진 요구사항의 만족도 및 예상결과와 실제 결과와의 차이점을 검사하기 위하여 수동 혹은 자동으로 시스템을 수행 혹은 평가하는 과정이다.
-Glen Myers- 소프트웨어의 시험은 오류를 찾아내고자 하는 목적으로 프로그램 혹은 시스템을 수행하는 과정이며, 오류의 조기발견과 수정, 진행과정의 평가 및 결과에 대한 확인이다. 또한 소프트웨어 개발주기의 각 단계에서 시험 요구사항이 정의되고, 오류를 많이 발견할 수 있을 때 시험은 성공적이라 할 수 있다. 좋은 시험사례는 아직 발견되지 않은 오류를 찾아내는 확률이 높고, 성공적인 시험은 아직까지 발견되지 않은 오류를 발견해내는 것이다. 또한 시험 그 자체도 계획수립, 설계, 및 시험이 필요하다. 
-Roger S. Pressman- 시험은 결함이 없다는 것을 보여줄 수는 없고, 단지 소프트웨어 결함이 나타나는 것만을 보여준다.  
-이 주헌- 소프트웨어의 시험은 개발된 원시코드의 품질을 평가하는 것이 아니라 노출되지 않은 숨어있는 결함을 찾기위해 소프트웨어를 작동시키는 일련의 행위와 절차를 말한다.
 
2 시험의 사례
인력, 시간, 비용을 최소화하면서 결함발견 확률을 높일 수 있는 시험 가능한 사례
1) 블랙박스 시험(Black Box Test) :
부정확하거나 빠진 기능이 없이 완벽하게 작동하는지를 시험
입력, 출력은 정확한지를 검사하는 시험
자료 구조 결함, 성능결함, 시작과 종결상의 결함, 인터페이스 결함에 대하여 실시
시스템 측면만을 시험
목적코드를 수행시켜가면서 시험
2) 화이트박스 시험(White Box Test) :
특수한 조건이나 반복작업과 같은 세부적인 절차에 대한 시험
한정된 수의 중요한 논리적인 경로만 시험
완벽한 시험 곤란
프로그램의 모든 경로가 단 한번이라도 수행되도록 시험 설계
 
3 시험의 변화
과거
소프트웨어 개발주기 마지막 단계에서 프로그램을 시험하는 것으로 인식
개발단계마다 시험하지 않고, 마지막 단계에서 집중적인 시험 ⇒ 개발 지연 원인
현재
디버깅은 프로그래머의 영역
계획에 따라 검증, 확인하는 작업
사용자나 시험자가 수행시키면서 결함 발견
여러 가지 시험 데이터와 사례들을 만들어 시행

4 시험의 특성
완벽하고 철저한 시험은 불가능
기능을 전부 시험하기 위한 경우의 수는 너무 많다
시험을 위한 모든 데이터 작성 곤란
시험을 하는 목적 ⇒ 오류를 사전에 방지하기 위한 것
실행 중에 나타날 오류를 미리 정정
 
5 시험의 단계별 순서
1) 요구 분석 및 계획 단계
① 신 시스템의 현재 시스템 대체 가능성 검토, 대체안과 일정계획 작성
② 마스터 파일 구조, 데이터 베이스 구축 기술 검사
③ 시험 방법 결정, 시험 도구 선정
④ 시험 기준을 설정
2) 설계 단계
① 시험 기기 구성을 결정
② 시험 계획 수립. 즉, 시험의 체제, 방법, 항목, 환경, 일정 계획을 결정
③ 시험 도구를 설계
④ 설계의 실행 가능성 검토
⑤ 시험 시행 문제점 검토
3) 코딩 단계
① 모듈, 모듈간, 프로그램간의 결합시험 위한 사양 설계
② 시스템 시험을 위해 고려해야할 사항을 설계
기능, 성능, 형상, 구조적 코딩, 표준화 형태, 문서화 기준을 설계
③ 디버그 시스템이나 디버그 도구 같은 시험도구 작성
④ 시험계획서와 시스템 설계 내용의 일치 확인
 · 기능
 · 프로그램간의 인터페이스
 · 성능 처리능력
 · 프로그램 구조 유연성
 · 시험 항목의 누락
 · 실시 문제점
⑤ 시험 실시 계획을 세운다.
 · Simulator 사용여부 결정, 사용방법 습득
 · 각종장치의 사용방법 습득
 · 시험 데이터 작성
4) 시험단계
① 모듈 시험
데이터 인터페이스, 자료구조상의 오류, 논리경로, 데이터 범위
② 결합 시험
모듈, 프로그램, 부 시스템, 시스템, 결합 단계마다 기능 시험
결합시험의 특징
(ㄱ) 하향식 결합시험
(ㄴ) 상향식 결합시험
(ㄷ) 샌드위치 결합시험
(ㄹ) Big Bang 결합시험
③ 시스템 시험
전체적인 시나리오를 구성하여 기능들의 연관관계를 시험
(ㄱ) 기능 시험                      (ㅁ) 과부하 시험
(ㄴ) 유용성 시험                    (ㅂ) 복구성 시험
(ㄷ) 성능  시험                     (ㅅ) 안정성 시험
(ㄹ) 신뢰성 시험                    (ㅇ) 설치용이성 시험
5) 유지보수 단계
① 회귀 시험
유지보수 단계, 문제해결, 새 기능 추가할 때, 변경된 부분과 대조하여 시스템을 다시 시험하는 것
 
6 검토, 검사 및 검증
6.1 검토 및 검사
검토(Review)란?
제품의 특정 부분을 다른 개발요원과 함께 조사하는 비 정형적 방법
수명주기 전 과정에서 수시 실행
검사(Inspection)란?
제품 품질을 평가 ⇒ 개선키 위한 조사
외부 설계 검사
내부 설계 검사
상세 설계 검사
코딩 검사
시험 계획 검사
1) 외부 및 내부 설계 검사 단계에서 조사해야할 사항
① 완전성 : 요구 기능, 성능 포함 여부
② 일관성 : 용어 정의 및 사용의 표준화
③ 정확성 : 입,출력 및 알고리즘의 정확
④ 확장성 : 기능, 데이터 량의 증가에 적응
2) 상세 설계 검사 및 코드 검사 단계에서 조사해야 할 사항
① 부 프로그램과의 접속 관계
② 판단 논리
③ 계산식
④ 입출력
⑤ 주석
⑥ 자료흐름, 기억장소 사용 

3) 시험계획 의 작성 과정
① 검증해야할 요구사항을 식별
② 검증활동을 위한 검증 순서를 결정
③ 검증에 대한 요구사항과 관련된 소프트웨어 식별
④ 검증에 대한 요구사항과 관련된 소프트웨어 집단화
⑤ 테스트 순서도 작성
⑥ 테스트를 위해 필요한 자원 조사
⑦ 테스트 일정계획 작성
 
6.2 검정(verification)과 검증(validation)
1) 검정(verification)
생산품이 이전 단계에서 수립된 요구들을 수행하는가를 결정하는 과정
프로그램의 정확도, 항목, 프로세스, 서비스, 문서들이 요구에 맞는지 조사하고 문서화하는 행위
① 주기 검정(life-cycle verification)
② 형식 검정(formal verification)
2) 검증(validation)
소프트웨어 개발과정의 끝 부분에서 소프트웨어를 평가하는 과정
데이터가 미리 명시된 제약조건을 만족하는지를 증명하는 것

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

CASE  (0) 2008.08.21
소프트웨어 시험전략  (0) 2008.08.21
DB 설계  (0) 2008.08.21
파일설계  (0) 2008.08.21
입력과 출력 설계  (0) 2008.08.21
Posted by 으랏차
,

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 으랏차
,