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