Ⅲ. 정보시스템 개발방법론

Download Report

Transcript Ⅲ. 정보시스템 개발방법론

시스템 분석 및 설계
시스템 분석 및 설계
목차
Ⅰ. 시스템의 정의
Ⅱ. 시스템 개발주기
Ⅲ. 정보시스템 개발방법론
Ⅰ. 시스템의 정의
시스템이란?
특정목적을 달성하기 위하여 상호작용하는
구성요소들의 집합
요소
요소
상호작용
요소
Ⅰ. 시스템의 정의
전체 시스템
Sub-시스템
Sub-시스템
Sub-시스템
대규모의 시스템은 Sub-시스템으로 분할됨
Ⅱ. 시스템 개발주기
 시스템 개발주기(System Development Life Cycle : SDLC)
 시스템 개발과정을 일련의 단계로 구분하고, 단계별 과업과 최종산물을 명시
 SDLC는 정보시스템 개발의 체계적 접근방법
계획
문제정의와 타당성 조사
프로젝트 계획의 작성
시스템 분석
현행 시스템에 대한 분석
정보수집을 통한 신규 시스템에 대한 요구사항 정의
시스템 설계
분석내용을 바탕으로 한 시스템의 설계실시
사용자 요구사항의 실현에 적합한 정보기술의 선택
시스템 구축
설계내용을 바탕으로 한 코딩 및 테스트 실시
사용자의 교육 및 훈련실시
유지보수
오류수정 및 시스템 개선
사용자의 새로운 요구사항을 처리
Ⅱ. 시스템 개발주기
SDLC의 주요모델 – 폭포수 모델
폭포수 모델의 개념
요구분석, 설계, 구현, 통합 및 시험의 각 단계를 순차적으로 수행하여 최종 단계의
산출물이 완성된 소프트웨어 제품이 되도록 하는 고전적인 프로세스 모델
폭포수 모델의 특징
-
전단계가 완료된 후 다음 단계가 시작
각 단계별 산출물들은 엄격한 검증 작업을 거침(Phase testing)
Phase testing을 거친 산출물들은 정식의 변경 절차에 의해서만 변경
개발과정에 있어서 철저한 문서화가 이루어짐
폭포수 모델의 장단점
장점 : 프로젝트 진행 관리가 용이
단점 : 대부분의 실제 프로젝트들에서는 엄격한 순차적인 진행이 어려움
이전 단계를 수행 완료하여야만 후속 단계의 수행이 가능
User feedback의 반영이 어려움
Ⅱ. 시스템 개발주기
SDLC의 주요모델 – 폭포수 모델
Ⅱ. 시스템 개발주기
SDLC의 주요모델 – 프로토타이핑
모델
프로토타이핑 모델의 개념
사용자의 기본적인 요구사항에 따른 모형시스템을 신속히 개발하여 제공한 후
사용자들의 의견을 바탕으로 시스템을 개선하고 보완해가는 프로세스 모델
프로토타이핑 모델의 특징
- 사용자 중심의 프로세스 모델
- 상대적으로 빠른 개발속도와 형식에 얽매이지 않는 SDLC 프로세스 모델
프로토타이핑 모델의 장단점
장점 : 사용자 요구사항의 정확한 반영이 가능
조기 오류발견 및 변경이 용이
단점 : 시스템의 문서화 과정이 축소될 위험성 내제 -> 향후 유지보수의 어려움
사용자의 요구사항 변화가 잦을수록 개발속도 지연우려
Ⅱ. 시스템 개발주기
SDLC의 주요모델 – 프로토타이핑
모델
사용자 요구사항 분석
초기 프로토타입 개발
사용자에 의한 테스트
수정 / 보완을 위한 피드백
사용자가 만족할
때까지 반복수행
프로토타입의 수정 / 보완
Ⅱ. 시스템 개발주기
SDLC의 주요모델 – 나선형 모델
나선형 모델의 개념
폭포수 모델과 원형 패러다임의 장점에 새로운 요소인 위험분석(risk analysis)을
추가하여 만든 SDLC 프로세스 모델
나선형 모델의 특징
- 시스템을 개발하면서 생기는 위험을 관리하고 최소화
- 나선을 돌면서 점진적으로 완벽한 시스템 개발
나선형 모델의 장단점
장점 : 실패 및 오류에 대한 위험부담 적음
고비용, 장기 프로젝트의 수행에 적합(ex> 초고속 정보통신망 구축)
단점 : 복잡한 모델의 형태로 인하여 프로젝트 관리의 어려움 초래
많은 고객을 대상으로 하는 상업용 시스템의 개발에는 적합하지 않음
Ⅱ. 시스템 개발주기
SDLC의 주요모델 – 나선형 모델
초기 요구분석 및
프로젝트계획수립
계획수립
위험분석
초기 위험분석
고객반응에따른
위험분석
고객의 평가에
따른 계획
지속할 것인가에
대한 의사결정
초기 프로토타입
고객의 평가
고객평가
개발
개발된 시스템
Ⅲ. 정보시스템 개발방법론
정보시스템 개발 방법론의 필요성
대규모 정보시스템 구축 프로젝트의 수행에 용이
프로젝트의 효과적인 관리가 가능
프로젝트의 경험 축적
정보시스템 개발의 생산성 향상
Ⅲ. 정보시스템 개발방법론
구조적 방법론
- 코드가 계층적인 형식,제한된 구조로 작성된 순서대로 순차적으로 실행
- 알고리즘을 기술하는데 순차(sequencing),선택(selection),반복(iteration)구조
- 단일입구,단일출구의 처리구조
- 철저한 모듈화로 추상화와 정보은닉을 이루어 프로그램 구조를 읽기 쉽게 단순화
구조적 방법론의 기본원리
추상화 : 세부사항을 모두 기술하지 않고도 추상화, 또는 개념화시켜 표현
정보은닉 : 각 모듈은 독립적이며 한 모듈의 변경이 다른 모듈에 영향을 미치지 않음
구조화 : 계층적 구조를 통해 상위 모듈이 하위 모듈을 활용하도록 함
단계적 상세화 : 하향식진행을 하면서 점차적으로 내용을 구체화
모듈화 : 하나의 시스템을 하위모듈로 구분하고 개별적으로 설계
Ⅲ. 정보시스템 개발방법론
구조적 방법론
구조적 분석의 주요기법
- 자료 흐름도(DFD; Data Flow Diagram)
: Data가 각 프로세스를 따라 흐르면서 변환되는 과정을 나타내는 다이어그램
- 자료사전(DD; Data Dictionary)
: 자료 사전은 DFD에 표현된 자료 저장소를 구체적으로 명시하기 위한 것
DFD와 DD는 상호 보완적
(DD가 없는 DFD는 확실성을 상실, DFD가 없는 DD는 무의미)
- 소단위 명세서
: DFD의 최하위 단계에서 어떤 일이 처리되는지의 로직을 개략적으로 기술
구조적 언어, 의사결정트리, N-S차트 등이 사용
Ⅲ. 정보시스템 개발방법론
구조적 방법론
경영진
판매분석
주문서 파일
주문기록
주문내역
고객
주문
1
주문
접수
4
보고서
작성
부가가치세
계산서
상품별 증감
2
상품
발송
발송지시
청구서
국세청
재고 파일
구매요청
공급선
발송내역
3
대금
결제
외상매출내역
<자료흐름도>
고객 파일
Ⅲ. 정보시스템 개발방법론
구조적 방법론
주문명세 :
주문번호
주문일자
고객번호
{반복항목}
제품번호
품명
수량
가격
주문총액
주문명세 = 주문번호 + 주문일자 + 고객번호
+ 1{제품번호 + 품명 + 수량 + 가격}20
+ 주문총액
<자료사전>
Ⅲ. 정보시스템 개발방법론
구조적 방법론
승인된 각각의 주문에 대하여 :
IF 주문형태 = ‘특수’ THEN
승인된 주문을 특수 주문 파일에 기록
ELSE (주문형태 = ‘일반’)
주문총액 계산
IF 사전 입금액 < 주문총액 THEN
IF 대변잔액 < 주문총액 THEN
주문을 주문대기 파일에 기록
ELSE (대변잔액 ≥ 주문총액)
주문을 주문 파일에 기록
ELSE (사전 입금액 ≥ 주문총액)
주문을 주문 파일에 기록
<구조적 언어>
Ⅲ. 정보시스템 개발방법론
구조적 방법론
당좌예금잔고
당좌대월횟수
≤2
≥1000
⊙
⊙
>2
⊙
⊙
⊙
⊙
≤2
<1000
⊙
>2
일반예금잔고
결과
⊙
≥500
승인
⊙
<500
승인
⊙
≥500
⊙
<500
⊙
≥500
⊙
⊙
⊙
<500
조건부 승인
거절
조건부 승인
거절
≥500
거절
<500
거절
<의사결정트리>
Ⅲ. 정보시스템 개발방법론
객체지향 방법론
현실세계에서 객체(Entity)를 속성과 메쏘드를 결합시킨 형태로 표현하는 개념으로
객체간의 메시지 통신을 통해 시스템을 구현하는 개발방법
객체지향 방법론의 기본원리
- Object, Message
- 캡슐화, 정보은닉
- Class, Instance
- 상속(Inheritiance)
- 다형성(Polymotphism)
- 추상화
Ⅲ. 정보시스템 개발방법론
객체지향 방법론
Object와 Message
- Object : 현실세계에 존재하는 사물을 표현(Attibute + Method)
- Message : 객체간의 통신에 사용되며, 외부객체에 의해 Method를 구현하여
객체의 Attribute에 접근
캡슐화, 정보은닉
- 캡슐화 : 객체의 데이터와 함수를 모듈화하고 블랙박스화 하여 정보은닉을 구현
- 정보은닉 : 데이터의 임의변경 통제를 위하여 Method를 통해서만
접근이 가능하도록 제어
Ⅲ. 정보시스템 개발방법론
객체지향 방법론
Class, Instance
- Class : 같은 종류 및 특성을 가진 객체를 모아 공통의 특성으로 분류 / 탬플릿화
- Instance : Class에서 파생된 하나의 실제 객체
상속(Inheritance)
- Class간의 계층구조를 통하여 공통 특성을 상위Class에게 물려받는 것
다형성(Polymorphism)
- 어느 한 연산이 여러 Class에서 각기 다른 형태로 적용 가능
추상화
- 객체의 가장 중요한 부분에 중점을 두어 일반화하는 과정
Ⅲ. 정보시스템 개발방법론
구조적 방법론 vs 객체지향 방법론
구조적 방법론
정보공학 방법론
객체지향 방법론
프로세스 모델링 중심
데이터모델링중심
데이터와 프로세스를
함께 모델링
모듈화가 관건
엔터티 식별이 관건
객체의 식별이 관건
일부 모듈의 재사용
데이터의 재사용
거의 모든 재사용
프로그래밍 기법
기업의 전략측면중시
기업의 전략측면포함
비정형적 접근방법
구조적인 연계
모든 단계가 연결
소규모 프로젝트 중심
대규모 프로젝트 중심
모든 프로젝트에 적합
프로그래머 중심
분석가 중심
협동
호스트 중심, 3GL
CASE TOOL
다양한 개발툴
Ⅲ. 정보시스템 개발방법론
구조적 방법론 vs 객체지향 방법론
정보공학 방법론
구조적 방법론
Data
Process
Data + Process
객체지향 방법론