40
객체지향 설계와 패턴 객체지향 설계와 패턴 Lecture #2: 프로젝트 계획 Lecture #2: 프로젝트 계획 Eun Man Choi [email protected]

객체지향설계와패턴 Lecture#2:Lecture #2: 프로젝트계획ocw.dongguk.edu/contents/2013/201302411920/pdf201302411920.pdf · 객체지향설계와패턴 Lecture#2:Lecture

  • Upload
    others

  • View
    9

  • Download
    0

Embed Size (px)

Citation preview

객체지향 설계와 패턴객체지향 설계와 패턴

Lecture #2: 프로젝트 계획Lecture #2: 프로젝트 계획

Eun Man [email protected]

교육 목표

시스템 분석과 설계

계획 작업의 단계와 순서 이해계획 작업의 단계와 순서 이해목표 설정과 타당성 분석규모 산정일정 계획조직 구성

2

2.1 시스템 분석 설계란?

시스템 분석정보 시스템이 무엇을 하여야 하는지 자세히 이해하고 명세로 나타내는일일

시스템 설계정보 시스템이 어떻게 구현되어야 하는지 자세히 나타내는 일

3

분석과 설계가 중요한 이유

고객이 설명한 요구 분석하여 이해한 요구 설계한 요구

4

IT 프로젝트 실패 사례

맥도널드의 이노베이트 프로젝트글로벌 ERP 애플리케이션 개발120여개 국의 3만여 매장 연결120여개 국의 3만여 매장 연결

영국의 국가 보건 서비스 IT 현대화 프로젝트영국의 국가 보건 서비스 IT 현대화 프로젝트100억 달러의 투입여러 업체에 맡겨 인터페이스 문제의 서비스 중단의료 서비스 중단

덴버 공항의 자동 수화물 처리덴버 공항의 자동 수화물 처리짐 카트와 시스템의 동기화 문제

한국 통신의 고객 통합 시스템한국 통신의 고객 통합 시스템외주 관리 및 통합의 문제

5

시스템 분석가

시스템 분석가(system analyst)비즈니스 니즈를 만족 시키기 위하여 분석과 설계 기술을 사용하는 전문가가

6

시스템 분석설계의 목표

멋진 시스템 보다는 기관의 가치 창출

7

2.2 시스템 개발 과정

작업 초점주요 작업과 기술결과물

8

계획

왜 정보 시스템을 구축하여야 하는지 이해

프로젝트 팀이 앞으로 어떻게 할 것인지 결정타당성 분석 – 기술적, 경제적, 조직적 타당성작업 계획 수립작업 계획 수립팀 조직 수립프로젝트 관리 계획

프로젝트 계획서

9

분석

질문누가 사용?시스템이 무엇을 해야 하나?시스템이 무엇을 해야 하나?언제 사용?

작업분석 전략 수립 – SWOT 분석요구 수집요구 수집문서화

10

설계

시스템을 어떻게 구축할 것인가?

시 템의 동작을 결정시스템의 동작을 결정UI, 입력 양식, 보고서프로그램프로 램데이터베이스, 파일

설계 전략 수립설계 전략 수립

아키텍처 설계아키텍처 설계

데이터 설계

프로그램 설계

11

구현

구축 또는 패키지 구입으로 설계를 현실화

작업 단계시스템 구축과 테스트시스템 설치, 전환시스템 설치, 전환지원 계획

12

2.3 시스템 개발 방법론

모델모델실세계를 특정한 관점으로 표현한 것예) 지도, 흐름도, 자료흐름도, 엔티티 관계도, 구조도, 사용 사례 다이어

램 클래 다이어 램그램, 클래스 다이어그램…..

도구설계, 구현, 유지보수, 테스트 등 소프트웨어 생산에 도움을 주는 툴설계, 구현, 유지보수, 테스트 등 소프트웨어 생산에 도움을 주는 툴

기술작업 단계에 사용하는 기술예 젝 관리 기술 인터뷰 기술 데이터 델링 적 분석예) 프로젝트 관리 기술, 인터뷰 기술, 데이터 모델링, 구조적 분석, …

13

개발 방법론

구조적 방법론 정보공학 방법론 객체지향 방법론객체지향 단

계획 단계 타당성 분석 정보 전략 분석프로젝트 문제 분석과

개념 정립계획 단계 타당성 분석 정보 전략 분석사용사례 분석

개념 정립

분석 단계 구조적 분석 비즈니스 영역 분석 요구 분석 및 모델링 발전 단계분석 단계 구조적 분석 비즈니스 영역 분석 요구 분석 및 모델링 발전 단계

설계 단계 구조적 설계비즈니스 시스템 설

시스템 설계와 객체

설계발전 단계

계 설계

구현 단계구조적 프로그래

구축

전환객체지향 프로그래밍 구축 단계

밍 전환

사용 단계 유지보수 생산 재사용, 유지보수 전환 단계

14

2.4 프로젝트란?

비즈니스 가치를 창조하는 시스템을 만드는 처음부터 마지막까지의작업 집합

착수 단계비즈니스 가치를 찾고비즈니스 가치를 찾고타당성을 분석

15

계획 단계의 작업 과정

Step 1: 비즈니스 목표의 설정

Step 2: 시스템 개발 요청 정의

Step 3: 타당성 분석Step 3: 타당성 분석

Step 4: 프로젝트 개발 일정과 비용 산정p 젝 개발 일정과 비용 산정

Step 5: 계획서 작성

16

2.5 비즈니스 목표 설정

전략적 계획(Strategic Planning)장기적인 큰 그림

맵로드맵

현재 상황을 잘 인식하고 미래에 대한 분명한 비전이 필요현재 상황을 잘 인식하고 미래에 대한 분명한 비전이 필요

SWOT 분석

강점(Strength)

● 웹 디자인 인력의 우수

● 분석가의 이직률 낮음

약점(Weakness)

● 노후 시스템

● 예산 동결● 분석가의 이직률 낮음

● 네트워크 시스템의 성능

● 예산 동결

● 문서화 부재

기회(Opportunity) 위험(Threat)

● 최초의 새로운 소프트웨어

● B2B 잠재 성장력

● 웹 경쟁력 가속화

● 경쟁사의 공격적 마케팅

17

경영 목표

미션 선언문예: 3년 후 매출 성장 30%

18

2.6 프로젝트 선정

시스템을 구축하여 얻을 비즈니스 가치를 발견했을 때 시작IT 부서, 경영 조직, 사용자

프로젝트 스폰서마케팅, 회계 부서의 경영진마케팅, 회계 부서의 경영진비즈니스 필요성의 제기

프로젝트의 필요성프로젝트의 필요성시스템 개발을 요청하는 여섯 가지 요인

19

시스템 개발 요청

시스템 구충의 필요성과 시스템이 제공할 것으로 예상하는 가치를 정리한 문서

요소 설명 예요소 설명 예

프로젝트 스폰서 프로젝트를 착수시키며 프로젝트의

주된 계약자로 되어 있는 경영 관리

재정 부서의 관리자, 마케팅 담당 상무, IT 관리자,

CIO, CEO

비즈니스 필요성 시스템을 가동시키는 경영과 관련

이유

매출 증대, 시장 점유율 확대, 정보 제공 확대, 제품

결함 억제,

구매 조달 절차 슬림화

비즈니스 요구 시스템이 제공할 비즈니스 능력 정보를 온라인으로 접근, 고객의 정보를 취합, 제품

탐색 기능색 기능

관리 보고를 작성, 온라인 사용자 지원

비즈니스 가치 기관을 위하여 시스템이 생산하는

가치

매출 3% 증대, 시장 점유율 1% 증대, 구매 비용 낮

추어 비용 절감 시스템 교체로 비용 절감가치 추어 비용 절감, 시스템 교체로 비용 절감

제한 사항 시스템 구현과 관련된 이슈로 프로

젝트 선정에 대한 결정

제한 시한, 크리스머스 시즌 전 필요한 시스템

극비 보안 수준의 자료

20

젝 선정에 대한 결정 극비 보안 수준의 자료

2.7 타당성 분석

1. 기술적 타당성: 개발할 수 있는가?응용 분야에 익숙한가? 미숙할수록 많은 위험기술에 익숙한가? 미숙할수록 많은 위험기술에 익숙한가? 미숙할수록 많은 위험프로젝트 크기. 클수록 많은 위험호환성: 현재 가동되는 시스템과 연동, 통합 시도가 많을수록 위험이 큼

2. 경제적 타당성: 개발하여야 하는가?개발 비용연간 운영비용연간 운영비용연간 이익(비용 절감과 매출)정성적 비용과 이익

3. 조직측면의 타당성: 우리가 개발할 수 있는가? 참여할 수 있는가?프로젝트 관리자고위 경영층고위 경영층사용자기타 관련자비 니 와 전략적 정렬시킬 수 있 가비즈니스와 전략적으로 정렬시킬 수 있는가?

21

경제적 타당성 분석

22

비용과 수익 요소

23

비용과 수익의 분석 사례

비용 단위:천원1. 개발 비용(일회성) 1,632,295

수익 단위:천원1. 매해 5억의 수입, 6%씩의 증가

서버 2대 250,000 프린터 100,000소프트웨어 34 825

2. 고객 불만 전화 감소 70,000/년창고 비용 절감 68,000/년

소프트웨어 34,825서버 소프트웨어 10,945개발 인건비 1,236,525개발 인건비 , ,

2. 운영비(반복) 185,000하드웨어 50,000소프트웨어 20,000운영 인건비 115 000운영 인건비 115,000

24

비용 수익 분석표

25

현재 가치로 환산한 비용 수익 분석

26

조직 측면의 타당성

시스템 완성 후 사용자에게 얼마나 잘 받아들여질 것인가?조직에서 진행 중인 운영에 얼마나 잘 융합될 수 있는가?

27

2.8 규모 산정

프로젝트 관리에 영향을 많이 주는 요소중의 하나

프로젝트 삼각 시소

28

산업계 표준을 이용하는 간간한 방법계획 단계에 걸린 기간으로 프로젝트 기간 예측계획 단계에 걸린 기간으로 프로젝트 기간 예측

산업계 평균 소요 기간 통계 이용산업계 평균 소요 기간 통계 이용

29

기능 점수 방법

설계가 충분히 이루어지지 않은 상태에서 정확한 규모(LOC) 예측은어려움소프트웨어가 갖는 기능(입력 출력 질의 인터페이스 등)을 점수로소프트웨어가 갖는 기능(입력, 출력, 질의, 인터페이스 등)을 점수로환산하여 예측

30

Step 1: 기능 파악과 점수 계산

프로그램 요소 파악자료 입력 화면과 같은 입력, 보고서와 같은 출력, 데이터베이스 질의, 파일 프로그램 인터페이스일, 프로그램 인터페이스

요소복잡도

요소총 개수 하 중 상 총점

입력 6 3 x 3 2 x 4 1 x 6 23입력 6 3 x 3 2 x 4 1 x 6 23

출력 19 4 x 4 10 x 5 5 x 7 101

질의 10 7 x 3 0 x 4 3 x 6 39

파일 15 0 x 7 15 x 10 0 x 15 150

프로그램 인터페이스 3 1 x 5 0 x 7 2 x 10 25

보정 전 기능점수(TUFP) 33831

보정 전 기능점수(TUFP) 338

Step 1.1: 복잡도를 고려한 보정

프로젝트 문제의 복잡도가 다름

특 성 영향도 특 성 영향도특 성 영향도 특 성 영향도

데이터 통신 3 성능

과중한 사용 환경 분산 기능 2과중한 사용 환경 분산 기능 2

트랜젝션 비율 온라인 데이터 입력 2

사용자 효율 온라인 변경사용자 효율 온라인 변경

복잡한 처리 재사용성

설치 용이성 운용 용이설치 용이성 운용 용이

다중 사이트 확장성

총 처리 복잡도(TPC) 7

보정된 프로젝트 복잡도(APC) = 0.65 + (0.01 × 7) = 0.72

총 처리 복잡도(TPC) 7

보정된 총 기능 점수(TAFP) = 0.72(APC) × 338(TUFP) = 243 32

Step 1.2: 규모 파악기능 점수를 LOC로 환산기능 점수를 LOC로 환산

통계 평균값을 이용언 어

기능점수 당

라인 수

기능점수 243COBOL: 26,730 줄Visual Basic: 7 290 줄

C 130

COBOL 110Visual Basic: 7,290 줄Excel, Access: 2,430 ~ 9,720 줄

COBOL 110

Java 55

C++ 50

Turbo Pascal 50

Visual Basic 30

PowerBuilder 15

HTML 15

Package(Access, Exc

33

g ( ,

el)10∼14

Step 2: 노력 예측

COCOMO 모델노력(인원-월) = 1.4 × 천 줄의 코드예 COBOL 243 110 26 730 줄예: COBOL: 243 × 110 = 26,730 줄

1.4 × 26.73 = 37.42 인원-월(Man-month)

Step 3: 소요 기간 예측COCOMO 모델

소요 일정(개월) = 3.0 × 인원-월 1/3

예: 3 0 × 37 42 1/3 10 개월예: 3.0 × 37.42 1/3 = 10 개월

34

2.9 일정 계획작업 파악작업 파악

작업번호 작업 이름 기간(일) 선행작업 상태

1 요구 정의 10.5

1.1 인터뷰 6 완료

1.1.1 인터뷰 양식 디자인 1 완료

1.1.2 인터뷰 일정 예약 1 1.1.1 완료

1.1.3 인터뷰 수행 4 1.1.2 완료

1 2 현재 보고서 리뷰 2 51.2 현재 보고서 리뷰 2.5

1.2.1 보고서 취합 0.5 완료

1.2.2 보고서 리뷰 2 1.2.1 완료

1.3 요구 분석 결과 정리 2 1.2.2

2 설계 11

2.1 설계 목표 설정 2

2.2 시스템 구조 설계 5 2.1

2.2.1 모듈 분할 및 정의 3 진행

2 2 2 모듈 인터페이스 설계 1 2 2 1 계획

35

2.2.2 모듈 인터페이스 설계 1 2.2.1 계획

2.2.3 시스템 구조 정리 2 2.2.2 계획

간트 차트 작성

프로젝트의 작업 계획을 그래프 형태로 표시MS-Project

36

2.10 조직 구성

프로젝트에 필요한 평균 인원 수 결정예) 40 Man-month : 4명이 10개월

Mythical Man-month늦은 프로젝트에 더 많은 인원을 투입해도 빨리 끝나지 않음늦은 프로젝트에 더 많은 인원을 투입해도 빨리 끝나지 않음의사 경로가 너무 많게 됨

보고 구조를 단순하게보고 구조를 단순하게8명 ~ 10명의 작은 팀을 유지

37

동기 부여

피할 사항 이유

마감에 맞추지 못할 것임을 체감하였을 때 열심히 하비현실적 일정

마감에 맞추지 못할 것임을 체감하였을 때 열심히 하

는 사람은 거의 없음

좋은 열심을 무시함 일하는 것에 대하여 칭찬받으면 열심히 일한다좋은 열심을 무시함 일하는 것에 대하여 칭찬받으면 열심히 일한다.

형편없는 제품 만들기질 낮은 프로젝트를 위하여 일하는 것을 자랑스러워

형편없는 제품 만들기할 사람은 없음

참여자 모두에게 같은 보상모두 같은 보상을 준다면 비범한 사람들의 생각에는

불공평함불공평함

중요한 결정을 팀원 의사 묻

지 않 결정

팀 구성원에게 크게 영향을 줄 수 있는 문제는 의사

결정에 참여하게 하여야지 않고 결정 결정에 참여하게 하여야

작업 환경 열악좋은 작업 환경을 제공해야 그렇지 않으면 동기부여

38

작업 환경 열악가 무효화 됨

갈등 해소

갈등을 최소화 하기 위한 팀 조직

팀 소속감 고취Team Building

팀원의 역할을 분명히 정함Boots camp

행동 원칙이나 헌장 정하기

39

Questions?Questions?