밍경송의 E.B

<2> Project Planning of Software Engineering 1 본문

CSE/소프트웨어공학

<2> Project Planning of Software Engineering 1

m_gyxxmi 2023. 10. 16. 01:42

이 글은 시험이 약 12시간 남은 학부생이 중간고사 암기를 위해 적은 글입니다...........내용은 지현박 교수님의 강의자료를 참고하였음을 밝힙니다.

 

 

 

✔️ Project Planning 이란?

: 작업을 여러 부분으로 나누어 팀 구성원에게 할당 + 발생할 수 있는 문제를 예상 + 해당 문제에 대한 잠정적 해결 방안 준비 의 작업

 

 

✔️ When?

: 프로젝트를 시작할 때 - 프로젝트가 어떻게 진행될 것인가를 팀과 고객이 소통할 때 

  프로젝트 진행 중 - 프로젝트의 진행 상황을 평가할 때

 

✔️ Planning stage

  • 제안 단계 : SW 시스템을 개발/.공급하는 계약을 얻기 위해 입찰할 때 (-> 목적 : 고객에게 시스템의 가격을 책정하는 데에 사용될 정보를 제공하는 것)
  • 프로젝트 시작 단계 동안: 누가 어떤 일을 할 것인지 나누기 + 자원을 어떻게 할당할 것인지
  • 프로젝트 내내 주기적으로 : 개발하는 동안 얻은 경험 + 정보로 계획을 수정

 

 

 

* SW pricing ; 개발 비용과 고객에게 청구되는 가격과의 관계는 단순하지 않음 !,, 많은 사항을 폭넓게 고려해야 함

 

✔️Factors affecting SW pricing

시장 기회 개발 조직은 SW 시장의 새로운 영역으로의 진입을 위해 가격 ↓책정. -> 나중에 더 많은 이윤에 대한 기회 제공.
계약 조건 개발자들이 보유한 소스 코드에 대한 소유권을 다른 프로젝트에 재사용하는 것을 허용하고 싶다? -> 가치를 반영하여 가격 ↓
요구사항 변동성 요구사항 변경 에상 -> 계약 수주를 위해  가격 ↓
but 수주 이후 -> 요구사항 변경에 대해 높은 가격 부과 
재정 건전성 재정적 문제를 가진 기업 = 가격 ↓책정 . 
현금 유동성이 이윤보다 중요함 (계약 따내기)
비용 추정의 불확실성  자신의 비용 추정에 대해 확신X 조직 -> 정상적인 이윤보다 가격 ↑

 

 

 

✔️Plan-driven development(

계획 주도 혹은 계획 기반 개발) 란?: 개발 프로세스가 상세하게 계획된 SW 공학 접근법=> 여기서 계획은 수행될 작업들 + 담당할 사람들 + 개발 일정 + 작업 산출물을 기록하는 것=> 또 계획은 PM(관리자)은 프로젝트 의사 결정을 지원하고 진행 상황을 측정하는 수단.

 

 

 

✔️ Plan-driven development의 장/단점

장점 - 포기의 계획 수립은 조직의 이슈들을 고려할 수 있게 함.

        - 프로젝트가 시작 전에 잠재적인 문제/ 종속성 발견 가능.

 

단점 - SW가 개발되고 사용되는 환경에 대한 변화 -> 많은 초기의 결정 수정 불가피.

 

 


 

 

⭐ Project plans

 

 

✔️ Project plan supplements

품질 계획 프로젝트에서 사용될 품질 절차 + 표준 서술
검증 계획 시스템 검증을 위해 사용될 접근법 + 자원 + 일정
형상 관리 계획 사용되는 형상 관리 절차/구조 서술
유지보수 계획 유지보수 요.사 + 비용 + 노력 예측
인력 개발 계획 팀 구성원의 기술 + 경험 개발 방법 기술

 

 

✔️ The planning process 

프로젝트 기간 동안 더 많은 정보를 얻음 -> 요.사 + 일정 + 리스크 변경의 반영을 위해 정기적으로 계획 갱신 필요

비즈니스 목표 변경 -> 계획도 변경(계획 재수립의 가능성 있음)

 

"계획 변경은 필연적이다"

 


✔️Project scheduling(프로세스 일정 관리)란?

-프로젝트의 내용을 분리된 작업들로 구성하는 방법 + 각각의 작업이 실행되는 시기와 방법을 결정하는 프로세스

-각각의 작업을 완료하는데 필요한 시간(서버에 필요한 디스크 공간, HW 확보 시간)+ 노력 추정 / 인원 예상 / 예산 자원 고려

 

 

✔️ Project scheduling activities -> 플젝 관리자의 경험과 상식에 의존

: 프로젝트에 관련된 전체 업무 -> 분리된 작업으로 나누기 -> 각 잡업에 대한 시간/자원 추정

 

*작업 병행적으로 구성 --> 인력 최적 활용 + 작업들 간의 종속성 최소화

 


✔️ 마일스톤 

: 테스트를 위한 시스템 인계와 같이 진행상황을 평가할 수 있는 일종의 지점 (작업 중간의 산출물)

 

✔️산출물(Deliverables)

: 고객에게 전달되는 작업 산출물. Ex)시스템 요구사항 문서 (최종 산출물)

 

 

 


✔️Project scheduling process 

 

 

✔️Scheduling problem

  • 문제의 난이도와 솔루션 개발 비용 추정의 어려움
  • 생산성은 인력에 비례하지 않음
  • 뒤늦은 인력 투입은 커뮤니케이션 오버헤드 초래
  • 예상치 못한 일이 발생. 항상 비상 상황에 대비해야!

 

✔️Schedule representation

: 프로젝트 일정을 표현하기 위해 그래픽 표기법 사용 (프로젝트를 작업으로 분류한 것을 보여줌. *작업은 1-2주)

 

1) Bar chart(간트 차트) : 달력 기반으로 일정을 보여줌

 

2) Activity chart : 작업 종속성과 임게 경로를 보여줌

*임계 경로 -> 액티비티 그래프에서 가장 긴 경로를 고려함으로써 프로젝트를 완료하는 데 필요한 최소 시간 추정 가능

 

if A 프로젝트에서, T1 : 10 days / T2 : days / T3 : 5 days( T1이 종료된 후 시작)  으로 작업이 분류됐다면,

 

: t1 -> t3   (가장 긴 경로) -> 최소 15일이 소요된다는 걸 파악 가능

  t2

 

 

'CSE > 소프트웨어공학' 카테고리의 다른 글

<5> Architecture design  (0) 2023.10.16
<4> Requirements Engineering  (0) 2023.10.16
<3> Software Processes  (0) 2023.10.16
<2> Project Planning of Software Engineering 1  (0) 2023.10.16
<1> Introduction of Software Engineering  (0) 2023.10.16