PowerPoint 프레젠테이션

Download Report

Transcript PowerPoint 프레젠테이션

정보처리 산업기사 시스템 분석 및 설계
강사 : 김 진성
굿모닝 컴퓨터 학원
Contents
 시스템 개요
 코드 설계
 입출력 설계
 파일 설계
 프로세스 및 프로그램 설계
 시스템 평가와 문서화
 IPT 기법
 구조적 분석과 설계
 객체지향 분석과 설계
굿모닝 컴퓨터 학원
시스템 개요
 시스템 ?
02
– 소프트웨, 하드웨어, 운영체제, 파일 시스템 등과 같이 여러 가지 물적, 인적,
자원의 요소가 유기적으로 결합된 집합체.
– 구성요소
03,02,01,00
입력
 시스템 개발 단계
처리
출력
제어
02,01
– 계획단계 : 예비조사, 기초 조사, 자료수집, 타당성 검토
02
– 분석단계 : 무엇을 할 것인가, 어떻게 해야 하는지 방법 결정(분석가)
• 분석가 : 창조성, 시간 배정과 계획 능력, 컴퓨터 관련 지식 풍부, 문제해결 능력
– 설계단계 : 개략 설계, 상세설계
– 구현단계 : 코딩, 컴파일, 수정등의 작업
– 시험단계 : 검사(하향식, 상향식, 절충식, 빅뱅 테스트)
– 유지보수 단계 : 오류수정 및 기능 개선
굿모닝 컴퓨터 학원
3
코드 설계
 코드 ?
– 데이터의 수집이나 분류, 집계 등을 용이하게 하기 위해 붙여진 기호나 부
호.(2진 코드)
– 코드 기능
02,01,00
• 식별 기능 : 각각의 자료를 구분
• 분류 기능 : 동일한 특성을 가진 자료를 집단으로 묶음
• 배열 기능 : 일정 기준에 따라 자료를 배치
– 코드의 종류
02,01
• 순서코드(Sequence Code) : 일정 기준에 따라 순서대로 코드 부여
• 블록코드(Block) : 집단을 대상으로 한 코드 부여(영업부: 01~15)
• 그룹 분류식 코드 : 집단 분류 코드 (대,중,소 분류법)
• 휴효 숫자식 코드 : 무게,부피,면적(가로23inch,세로 18inch:23-18)
• 10진 코드(Dicimal) : 도서 분류(철학:100, 공학:600)
• 연상식 코드(Mnemonic) : 기호코드(컬러TV35인치 : TV-C-35)
• 약자식 코드: 단위의 약자(킬로그램:kg, 센티미터:츠)
굿모닝 컴퓨터 학원
4
코드 설계
 체크법
– 오류의 종류
02,01
• Transcription Error(사본 오류) : 코드 잘못 입력
• Transposition Error(전위오류): 코드 자리 바꿈 입력
• Double Transposition Error(이중 전위 오류): 두 번 자리 바꿈
• Random Error(무작위 오류) : 사본 과 전위 오류의 많은 발생
– 오류 검사 방법
• 프로그램 : 한계검사(Limit), 메아리(Echo), 논리,형식,합계 검사등
• 체크 디지트 체트(Check Digit Check) : 오류 검출용 코드 한 자리를 덧붙
여 코드 오류 검사(주민등록, 은행 통장번호등 숫자코드만 가능)
 코드 설계
02,01
– 코드 설계 순서 : 코드 대상 결정, 목적 설정, 코드화 대상 확인,사용범위 결정,
사용 기간 결정, 코드화 대상 특성 분석, 코드화 방식 결정, 코드 문서화.
– 코드 설계시 유의사항 : 공통성, 체계성, 확장성
굿모닝 컴퓨터 학원
5
입출력 설계
 입력 설계
– 입력 설계 순서
• 입력할 항목의 정보 확인-> 입력할 기본 방식 결정 -> 입력할 항목의 구체
적인 내용 결정
• 발생 -> 수집 -> 매체 -> 투입 -> 내용에 관한 설계
– 입력 매체
• 키보드, 위치 지정 입력 도구(마우스, 트랙 볼, 조이스틱, 라이트 펜,디지타
이저), 터치 스트린, 수서용(OMR, OCR), 음성 입력 시스템
– 집중 입력 방식 : 터미널에서 자료를 받아 전산실에서 일괄적으로 입력.
02,01
 출력 설계
– 출력 설계 순서
01
• 출력 내용 -> 출력
매체 -> 출력 분배 -> 출력 이용
02,01
– 출력 매체
• 프린터, 화면,C0M(Computer Output Microfilm)
굿모닝 컴퓨터 학원
6
파일 설계
 파일의 구성
– 필드(Fiedl) -> 레코드(Record)
– 레코드의 구성
• 논리레코드 : 프로그램에서 입출력 단위
• 물리레코드 : 컴퓨터가 한번에 입출력하는 단위(=블록)
• 블록화(Blocking) : 물리레코드안의 논리레코드 수.
 파일의 분류
02
– 마스터 파일 : 원장에 해당되는 파일로 트랜젝션 파일에 의해 갱신
– 트랜잭션 파일 : 변경할 정보나 조회 정보로 마스터 파일의 기록 갱신
– 기록파일 : 마스터 파일에 문제 발생 시 재편성 및 복구
– 요약파일 : 여러 파일의 내용을 요약
– 트레일러 파일 : 원본 파일에 정보를 덧붙여 놓은 이중 구성의 파일
굿모닝 컴퓨터 학원
7
파일 설계
 편성에 따른 분류
– 순차편성(Sequential Organization)
• 논리적으로 순서에 따라 레코드를 기록하는 편성법으로 일괄 처리 및 기억
공간의 활용율이 높지만, 처리및 검색 속도 저하.
– 색인 순차편성(Indexed Sequential Organization)
• 순서 처리와 임의 처리가 모두 가능하여 효율성이 높지만, 기억공간 낭비,
오버플로 발생.(구성:색인, 기본자료, 오버플로 영역)
– 직접 편성(Random Organization) = 임의 편성
• 특정 항목을 키로 사용하여 빠른 접근이 가능(계약 및 조회 업무)
• 처리할 레코드를 주소 계산에 의해 접근
• 모든 레코드에 대한 평균 접근 시간 내에 검색 가능
• 키변환을 위한 계산 과정 때문에 시간 지연 발생
– 리스트 편성(List Organization)
data
data
리스트 편성 예
• 자료 보관 시 데이터 부분과 다음 자료의 주소 보관 부분(포인터) 구성
굿모닝 컴퓨터 학원
8
파일 설계
 파일 설계 순서
02
– 파일 작성 목적 확인 : 파일 명칭, 작성 목적, 파일 종류, 적용 업무
– 파일 항목 검토 : 정보량, 항목 명칭, 항목 수, 문자 구분, 레코드
– 파일 특성 조사 : 처리 형태, 발생건수, 처리 방법, 처리 시간
– 파일 매체 검토 : 액세스 형태 검토,정보량 검토, 액세스 시간 검토
– 파일 편성법 검토 : 가장 잘 맞는 파일 편성을 최종적으로 결정
• 파일 항목 검토->파일 특성조사->파일 매체 검토->편성법 검토
굿모닝 컴퓨터 학원
9
프로세스 및 프로그램 설계
 프로세스 설계 ?
– 입력 정보와 파일 정보를 토대로 필요한 출력 정보를 얻기 위한 중간 과정으로
처리의 흐름을 나타내는 작업.
– 프로세스 설계도
• 블록 도표, 시스템 순서도, 프로세스 순서도, 프로그램 순서도
– 프로세스 설계 절차
• 기본 사항 확인 -> 처리 방식 설계 -> 작업 설계
 프로세스 표준 패턴
02,01
–
병합(Merge) : 두 개 이상의 파일을 순서대로 정렬하여 하나의 파일로 만듬
–
갱신(Update) : 마스터 파일을 트랜잭션 파일로 변경하는 작업
–
분류(Sort) : 정렬되지 않은 자료를 오름차순, 내림차순으로 정렬하는 작업
–
대조(Matching) : 두 개의 파일을 대조하여 순서 및 내용 검사 작업
–
추출(Extract) : 조건에 맞는 것을 파일 내에서 찾아내는 작업
–
분배(Distribution) : 조건에 맞는 자료와 맞지 않는 자료 분리 작업
–
변환(Conversion): 인간의 작업과 컴퓨터 작업을 상호 변환
굿모닝 컴퓨터 학원
10
프로세스 및 프로그램 설계
 프로세스 설계 시 유의 사항?
01
– 프로세스 전개 사항을 통일
– 프로그래머의 코딩 능력 고려
– 하드웨어 기기 구성 및 처리 능력 고려
– 조작은 간결히, 오퍼레이터의 개입은 적게
– 일의 순서, 처리 사이클을 분명히
– 오류를 위한 체크 시스템 고려
– 정확성과 신뢰성 고려
굿모닝 컴퓨터 학원
11
시스템 평가와 문서화
 시스템 평가 척도
02,01
– 기능 평가 : 사용자가 요구하는 기능을 얼마나 잘 수행하는지 검토
– 성능 평가 : CPU 처리 속도, 메모리 용량, 입출력 속도 등을 검토
– 신뢰성 평가 : 시스템 전체 가동률, 구성요소의 신뢰도, 시스템의 안정성 검토
 시스템 평가 목적
02
– 기능, 성능, 신뢰성 검토
– 효율성, 타당성 검토
 시스템 장애
– 기계 고장 : CPU, 주변장치, 전원이상 등
– 정보 장애 : 정보 파괴, 정보 오류, 정보 도난 및 재해로 인한 장애
– 장애 해결채
• 예방 대책 : 보수(미리 방지), 소프트웨어 대책(인가), 운용 대책
• 복구 대책 : 하드웨어 대책, 소프트웨어 대책, 운용에 의한 대책
굿모닝 컴퓨터 학원
12
시스템 평가와 문서화
 프로젝트 비용산정
02,01,00
– 비용 산정 시 고려사항
• 프로젝트 요소 : 문제 복잡도, 시스템 크기, 시스템 신뢰도
• 자원 요소 : 인적 자원, 시스템 자원, 재사용 가능 자원(CBD)
• 생산성 요소 : 개발자 능력, 개발 기간/비용, 개발 방법론
– 비용 산정법
• 하향식
– 전체 시스템 차원에서 비용 산정 후 각 서브 모델 비용 산정
– 형상 관리, 품질 보증, 시스템 통합 , 컴퓨터 자원의 비용에 초점
– 종류 : 전문가 감정, 델파이식 산정
• 상향식
– 각 모듈 개발 비용 산정 후 전체 비용 산정
– 종류 : 원시 코드 라인수(LOC)
• 수학적 산정
– 개발비 산정의 자동화를 목표
– 종류: COCOMO 모델,Putnam 생명주기 예측 모델,기능점수 모델.
굿모닝 컴퓨터 학원
13
시스템 평가와 문서화
 프로젝트 비용산정
02,01,00
– COCOMO 모델
• 소프트웨어 규모 뿐만 아니라 소프트웨어 복잡도, 응용분야에 따라 비용산
정 방정식을 적용하여 다르게 비용을 적용하는 모델.
• 프로젝트 개발 유형
– 유기형(Organic) 모드(application) : (5만 라인 이하)
– 준 분리형(Semi-detached) 모드 : 개발 지원 도구 (30만 이하)
– 내재형(Embedded) 모드 : 시스템 S/W 적용(30만 이상)
• COCOMO 모델의 종류
– Basic COCOMO : 소프트웨어 개발 노력 과 비용 등을 산정
– Intermediate COCOMO : Basic COCOMO 모형에 노력 승수 포함
– Detailed COCOMO : 보다 더 정확히 비용을 산정.
– Putnam 측정 모델
• 대형 프로젝트에 대한 노력 분포를 나타내는 동적 다중 변수 모델.
• SLIM : Putnam 모델을 기초로 만든 자동 비용 측정 도구
– 기능점수(Function Point : FP) 모델
• S/W 규모, 복자도, 나이도 등을 하나의 수치로 산정하는 모델
굿모닝 컴퓨터 학원
14
시스템 평가와 문서화
 문서화
02,01,00
– 소프트웨어 개발 및 유지보수 과정에서 발생한 각종 문서 등의 산출물
을 체계적으로 관리하기 것.
– 문서화의 목적
• 유지보수 용이성
• 시스템 개발 중 추가 변경에 따른 혼란 방지
• 표준화를 통한 효율적인 작업
• 시스템 사용자에게 운용의 편의성 제공
• 원활한 의사 소통
굿모닝 컴퓨터 학원
15
IPT 기법
 소프트웨어 공학 ?
– 소프트웨어의 개발, 운영, 유지보수, 그리고 폐기에 대한 체계적인 접근방안.
 소프트웨어 위기
02,01,00
– 배경 : H/W에 비해 S/W 발전 속도가 느림, 수요에 비해 생산성이 못 미침, 개
발 인력 부족 및 개발 기술 미비, 기존 S/W 유지보수 어려움, 고 인건비.
– 원인 : S/W 특성 이해 부족, 관리 소홀, 품질이나 유지보수 고려 하지 않음.
– 문제점: 개발 예산 초과 , 생산성 저조, 품질 미흡
– 해결방안 : 생산성을 높이고 공학적인 접근방식으로 고 품질의 S/W 개발.
굿모닝 컴퓨터 학원
16
IPT 기법
 소프트웨어 생명주기 ?
02,01,00
– SDLC(Software Development Life Cycle)이란 S/W 개발계획, 개발, 유지보수
및 폐기까지 전과정을 단계별로 표현하는 주기.
– SDLC의 역할
• 프로젝트 비용산정과 개발 계획을 수립할 수 있는 기본 골격 제공
• 용어의 표준화
• 개발 진행 상황을 명확하게 파악
• 충실한 문서화가 가능하여 프로젝트 관리가 용이
– SDLC의 종류
• 폭포수 모델, 프로토타이핑 모델, 나선형 모델, 4세데 모델
굿모닝 컴퓨터 학원
17
IPT 기법
 폭포수 모형(Waterfall Model) ?
03,02,01,00
– Boehm에 의해 개발된 하향식 생명주기 모델
– 가장 오래된 모형으로 S/W 공학에서 널리 사용됨
– 전 단계가 종료되어야 다음 단계로 넘어가는 선형 순차 모델
– 단계별 정의 및 단계별 산출물이 명확
– 전 단계에서 오류가 발생하면 많은 노력이 소요됨
– 개발 과정에서 새로운 요구사항이 발생하면 수용하기 어려움
– 개발 과정 :
타당성 검토
계획
분석
설계
구현
검사
유지보수
굿모닝 컴퓨터 학원
18
IPT 기법
 프로토타이핑 모형(Prototyping Model) ?
02,01,00
– 사용자의 의뢰한 프로젝트에 대해 소프트웨어 일부분을 개발하여 사용자의
요구사항을 분석하기 위한 메커니즘으로 사용.
– 개발자와 사용자간의 의사소통이 용이
– 빠른 시간 내에 소프트웨어 개발이 가능
– 발주자와 개발자 모두에게 공동 참여가 가능
– 프로토타입은 생산성 향상과 품질 향상에 도움
– 최종 결과물 예측이 가능
– 잘못된 프로토타입은 오히려 소프트웨어 공정 과정을 어렵고, 길게 만듬
– 개발 과정
요구사항 수집
설계
프로토타입 개발/개선
구현
인수/설치
굿모닝 컴퓨터 학원
19
IPT 기법
 나선형 모형(Spiral Model) ?
03
– 프로세스가 진행됨에 따라 소프트웨어가 진화하므로 개발자와 고객이 전개
과정에 따른 위험을 이해하고 대응할 수 있다.
– 위험분석 관리가 용이
– 대규모 시스템과 소프트웨어 개발에서 가장 현실적인 접근방법.
– 개발 과정
계획수립
고객평가
굿모닝 컴퓨터 학원
위험분석
개발
20
IPT 기법
 소프트웨어 디버깅
– 소프트웨어 오류의 원인을 찾아 교정하는 작업
 유지보수
02,01,00
– 개발된 소프트웨어에 대한 오류 수정 및 변화된 환경에 기능을 개선하
는 작업
– 유지 보수 종류
• 교정 유지보수 : 하나 또는 그 이상의 오류 진단과 교정
• 완전화 유지보수 : 새로운 기능 및 기존 기능 개선 작업
• 적응 유지보수 : 변화된 환경에 대응한 작업
• 예방적 조치 : 미래의 품질 향상을 위한 작업
– 외계인 코드(Alien Code)
01
• 15년 이상 된 유지보수가 어려운 프로그램
• 개발 방법론이 적용되지않고, 문서화가 빈약한 프로그램
굿모닝 컴퓨터 학원
21
IPT 기법
 IPT 기법 ?
– IPT(Improved Programming Technologies)
– 보다 효율적이 신뢰성이 높은 프로그램을 개발하기 위해 사용되는 각종 기법을
말함.
– S/W 생성산성을 높이고 품질관리 및 표준화를 위한 S/W공학기법.
– 종류 : HPO, Action Diagram,의사결정 테이블/트리, 흐름도,NS차트,PDL
 HIPO
02,01,00
– 프로그램의 논리적 문서화와 설계를 위해 도식적인 방법 제공
– 입력, 처리, 출력 구조를 시각적으로 표현.
– 특징 : 하향식 개발, 문서의 체계화, 시각적, 유지보수 용이, 플로 차트 대체 불가,
기능과 데이터 의존관계 동시 표현.
– 가시적 도표(Visual Table Of Contents) : 시스템 전체 구성을 계층적 구조도표로
표현.
총괄 도표(Overview Diagram) : 입력, 처리, 출력의 관계 표현.상세 도표(Detail
Diagram) : 총괄 도표의 각 기능 구체적 표현.
굿모닝 컴퓨터 학원
22
구조적 분석
 구조적 시스템 분석(Structured System Analysis) 도구
– 자료흐름도(DFD:Data Flow Diagram), 자료사전(DD:Data
Dictionary), 소단위 명세서(Mini-Spec)를 이용하여 분석.
– 자료 흐름도(DFD)
03,02,01,00
• 시스템을 구성하는 기능들 사이의 데이터 흐름을 기호로 표현
단말이름
처리
– 자료사전(DD:Data Dictionary)
자료흐름
자료 저장소
02,01
• 자료흐름도, 프로세스 명세에서 언급된 모든 자료를 수학적 표
기법으로 정의.
=
+
{}
[|]
굿모닝 컴퓨터 학원
정의, 구성
연결
반복
선택
()
**
; 또는 |
생략가능
주석
대체 사항 나열
23
구조적 설계
 설계의 평가 척도 ?
03,02,01
– 모듈간의 응집도는 높이고 , 결합도는 낮추며, 복잡도는 줄이고 중복
은 피함.
– 응집도(Cohesion) : 모듈 내의 기능적 응집의 정도
우연적
논리적
시간적
절차적
통신적
기능적
높음(좋음)
– 결합도(Coupling) : 모듈간의 상대적인 연관성 정도, 의존도
자료결합도 구조결합도 제어결합도 외부결합도 공통결합도 내용결합도
Data
낮음
굿모닝 컴퓨터 학원
Stamp
Control
External
Common
Content
높음(좋지않음)
24
객체지향 분석 및 설계
 객체지향 ?
03,02,01,00
– 인간은 사물과 그 사물의 행위를 묶어서 생각하는 것처럼, 프로그래
밍에서 데이터와 프로세스(처리 절차)를 하나의 개체로 묶는 개념.
– 객체 지향 용어
• 객체 : 자료(데이터)와 자료를 처리하는 메소드(Method)로 구성
• 개체의 구성 요소 : 자료, 메소드, 메시지
Data
Method
Message
Data
Method
Object A : 객체를 생성하는 템플릿(설계도)
Object B
• 클래스(Class)
클래스명
속성
메소드
굿모닝 컴퓨터 학원
Data가 저장될 장소(변수)
속성을 처리하는 방법
25
객체지향 분석 및 설계
 객체지향 특징
03,02,01,00
도형(그리다)
– 다형성(Polymorphism)
• 같은 메시지에 대해 객체가 서로 다르게 반응.
– 상속성(Inheritance)
– 캡슐화(Encapsulation)
• 정보 은폐
사각형
대학생
• 기존 클래스로 새로운 클래스 정의.
• How 보다 What에 중시
원
대학원생
갭슐화 된
자료
• 장점 : 재사용 용이, 인터페이스 단순, 이식성과 확장성 높음
• 단점 : 연산방법이 복잡
– 추상화(Abstraction)
• 객체의 필수기능만 구현하고 세부적인 내용의 기술은 피함
• 상속을 통해서 세부적인 내용 기술, 클래스의 활용성 높음
굿모닝 컴퓨터 학원
26
객체지향 분석 및 설계
 람바우(Rumbaugh)의 OMT 방법론
02,01
– 객체지향 분석 기법으로 객체 모델, 동적 모델, 기능 모델 기법을 제
시.
– 객체 모델(Object Modeling)
• 객체와 클래스를 집단화, 일반화 관계를 중심으로 표현
• 객체들을 식별하고 객체들간의 관계 정의
• 구성요소 : 객체 다이어그램, 자료사전
– 동적 모델(Dynamic Modeling)
• 시간 변화에 대한 일련의 과정을 기술
• 실시간 시스템에 필수
• 구성요소: 상태 다이어그램, 사건 흐름 다어그램
– 기능 모델링(Function Modeling)
• DFD를 이용하여 프로세스 처리과정 기술
• 구성요소 : 자료흐름도
굿모닝 컴퓨터 학원
27
객체지향 분석 및 설계
 UML(Unified Modeling Language)
03
– 객체 지향 분석과 설계를 위한 모델링 언어
– Booch, Rumbaugh,jacobson의 객체지향 방법론 통합
– 국제 표준화 기구인 OMG에서 표준화 인정.
– 객체 지향 분석 및 설계
• 분석 단계 : 시스템이 무엇(What)을 해야 하는가를 명세
• 설계 단계 : 구현환경에 어떻게(How) 실현할 것인가 명세
– 객체지향 분석 단계의 다이어그램
• Use Case, 개념적 Class, Interaction(순차,협력), State, Activity
Diagram.
– 객체지향 설계 단계의 다이어그램
• 상세 Class, Component Diagram
굿모닝 컴퓨터 학원
28