본문 바로가기
경영정보시스템

[경영정보시스템] 24. 정보시스템 개발 방법

by Jennieee's 2021. 12. 3.

1. 시스템 모델링과 설계 방법론

시스템 모델링과 설계에 가장 자주 사용되는 방법론: 구조적 방법론(Structured methodologies), 객체지향방법론(Object-oriented development)

 

가. 구조적 방법론

구조적: 기법이 단계적 (step-by-step, progressive)

프로세스 중심: 데이터를 처리하는 프로세스 또는 활동들에 집중 , 프로세스로부터 데이터를 분리

 

1) 데이터흐름도(Data flow diagram):

- 프로세스(processes)와 프로세스 간 데이터 흐름(data flow)을 표현하기 위한 주요한 도구

- 정보 흐름에 대한 논리적 도식 모델을 제공

- 프로세스를 몇 개의 상세 프로세스로 나누기 위해 상위 수준과 하위 수준

- 다이어그램이 사용될 수 있음

이 시스템은 신청 가능성 확인(1.0), 학생 등록(2.0), 등록 확인(3.0) 등 3개의 프로세스가 있다. 각 데이터 흐름의 명칭은 화살표 옆에 표기되어 있다. 이 시스템에는 학생이라는 외부 개체 하나가 있으며, 학생 마스터 파일과 과목 파일 등 2개의 데이터 저장소가 있다

2) 데이터사전:

데이터 흐름도와 데이터 저장소의 콘텐츠를 정의

 

3) 프로세스 명세서:

데이터 흐름도의 가장 하위 수준에 있는 각 프로세스의 변환내용과 논리를 기술한 것

 

4) 구조도:

설계의 각 수준, 다른 수준과의 관계, 그리고 전체 설계 구조에서의 위치 등을 보여주는 하향식(top-down) 차트

 

나. 객체지향 개발 방법론

- 시스템 분석과 설계의 기본 단위로서 객체를 사용

객체(Object): 객체는 데이터와 그 데이터를 조작하기 위한 특정 프로세스를 결합시킨다

객체에 캡슐화된(encapsulated) 데이터는 그 객체와 관련된 연산(operation), 또는 메소드(method)에 의해서만 접근과 수정이 가능

 

- 클래스와 상속의 개념에 기초한 객체지향 모델링

객체는 한 클래스에 속하며 그 클래스의 속성을 갖는다.

객체들의 클래스는 좀 더 일반적인 클래스의 구조와 속성을 상속 받을 수 있음

이 그림은 클래스들이 상위 클래스의 공통된 속성들을 어떻게 상속받는지 보여 준다.

 

- 객체지향 개발은 전통적인 구조적 개발보다 더 반복적이고 점증적

  • 시스템 분석: 시스템과 사용자 간의 상호작용을 분석하여 필요한 객체들을 파악
  • 설계 단계: 객체들이 행태와 객체들간의 상호 작용을 결정; 클래스, 하위 클래스, 계층 구성
  • 구현: 일부 클래스는 기본 클래스 라이브러리를 재활용

 

- 객체들을 재활용할 수 있으므로 객체지향 개발은 개발 시간과 비용을 절감할 수 있다

 

다. 컴퓨터 지원 소프트웨어 공학(Computer-aided software engineering (CASE))

개발을 자동화하고 반복적인 작업을 줄여주는 소프트웨어 도구로 다음 기능을 제공

(1) 차트와 다이어그램을 자동으로 생성하는 그래픽 기능

(2) 화면과 리포트 생성기

(3) 분석과 검사 도구

(4) 데이터 사전

(5) 코드 및 문서 생성

  • 수정과 변화를 자동화하고 프로토타입 기능을 제공함으로써 반복적 설계를 지원 CASE 도구들을 효과적으로 사용하려면 조직의 원칙이 필요

2. 시스템 개발 방법

1) 전통적인 시스템 생명주기

- 가장 오래된 정보시스템 개발 방법

- 시스템을 개발하기 위한 단계적 접근 방법

  • 시스템 개발을 몇 개의 정형화된 단계들로 구분
  • 폭포수(waterfall) 접근 방법: 단계의 작업이 끝나야 다음 단계의 작업이 시작

- 정보시스템 전문가와 최종 사용자의 역할을 명확히 구분

- 정형화된 명세서와 문서 작업을 강조

- 거대하고 복잡한 시스템을 개발할 여전히 사용

- 많은 비용과 시간이 소요되며 유연성이 부족

 

2) 프로토타이핑

- 신속하고 저렴하게 실험시스템을 만들어 사용자의 평가를 받아보는 방식

- 시제품(Prototype): 작동하지만 정보시스템의 예비 버전, 시제품은 최종 시스템을 만들기 위한 템플릿으로

사용될 있음

 

- 프로토타이핑 단계

사용자의 요구사항 파악

초기 시제품 개발

시제품 사용

시제품 수정 개선

 

- 프로토타이핑의 장점

요구사항이나 설계 해결책에 불확실성이 있을 유용

종종 최종 사용자 인터페이스 설계를 위해 사용

사용자의 요구사항을 충족시키는 시스템을 개발할 가능성이 높음

 

- 프로토타이핑의 단점

시스템 개발의 필수 단계를 간과할 우려가 있음

대용량의 데이터나 많은 수의 사용자를 쉽게 수용하지 못하는 경우가 있음

철저한 검사와 문서화 단계 간과할 있음

 

3) 최종 사용자 개발

- 최종 사용자가 기술 전문가의 도움을 거의 받지 않고 간단한 정보 시스템을 개발할 있다.

- 완성 응용 프로그램을 제작하는 필요한 시간과 단계가 줄어든다.

 

- 다음과 같은 도구를 포함한다.

사용자 친화적 쿼리 언어 보고

PC 소프트웨어 도구

 

- 장점

프로젝트의 신속한 완료

높은 수준의 사용자 참여와 만족도

 

- 단점

프로세스 집약적 응용프로그램에 적합하지 않음

부적절한 관리 통제, 검사, 문서화

데이터 통제권 상실

- 최종 사용자 개발 관리

- 최종 사용자 정보시스템 프로젝트의 투자 타당성 검토 필요

- 하드웨어, 소프트웨어, 그리고 품질에 대한 표준설정

 

4) 응용 소프트웨어 패키지

- 시간과 비용 절약

- 고객화(customization) 기능 제공: 조직의 독특한 요구사항을 만족시키기 위해 소프트웨어 패키지의

전체적인 통합성은 유지하면서 일부 기능만을 수정

- 패키지 평가기준은 다음을 포함: 패키지에 의해 제공되는 기능들, 유연성, 사용자 편의성, 하드웨어와

소프트웨어 자원, 데이터베이스 요구 사항, 설치 유지보수에 드는 노력, 문서, 공급업체의 수준, 그리고

비용

- 제안요청서(Request for Proposal (RFP)) : 패키지 소프트웨어 납품업체에게 제공되는 상세 질문 리스트

여러 소프트웨어 패키지를 평가할 사용

 

5) 아웃소싱

- 여러 유형

 

- 클라우드(Cloud) 사스( SaaS) 제공업체

계약한 기업들은 서비스 제공자가 제공하는 소프트웨어와 컴퓨터

하드웨어를 사용

 

- 외부업체

설계와 소프트웨어 개발을 위해 고용

국내 아웃소싱 : 고객사가 가지고 있지 못한 기술, 자원, 그리고 자산을 아웃소싱 기업이보유하고

있다는 사실 때문에 주로 추진

 

- 해외 아웃소싱

 

- 비용 중심적 경향

- 장점: IT 니즈에 대한 유연성 제공

 

- 단점

숨겨진 비용

업체 파악 선정 비용

새로운 업체로의 전환 비용

 

- 비즈니스 프로세스를 3자에게 공개

 

6) 신속애플리케이션개발 (Rapid application development (RAD))

- 매우 짧은 시간 내에 작동 시스템(workable systems) 만드는 프로세스

- 다음과 같은 기술 활용

비주얼 프로그래밍 등의 도구 활용

시스템 핵심 요소의 반복적 프로토타이핑

프로그램 코드 생성의 자동화

최종 사용자와 정보 시스템 개발자 사이의 긴밀한 팀워크

 

7) 모바일 애플리케이션 개발

- 모바일 웹사이트

- 모바일

- 네이티브

 

- 다음을 고려하여 개발

작은 스크린과 키보드

멀티터치 동작

자원 절약 (memory, processing)

 

- 대응적 설계 : 사용자의 컴퓨팅 디바이스에 따라 자동적으로 레이아웃을 변경하도록 웹사이트를

프로그래밍

반응형

댓글0