소프트웨어 개발 방법론 / 비용 산정 기법

2023. 2. 22. 20:32정처기 필기/5과목 - 정보시스템 구축 관리

소프트웨어 개발 방법론

1. 구조적 방법론

- 정형화된 분석 절차에 따라 사용자 요구사항을 파악하여 문서화하는 처리중심의 방법론

- 타당성 검토 --> 계획 --> 요구사항 분석 --> 설계 --> 구현 --> 테스트 --> 유지보수

 

2. 정보공학 방법론

- 정보 시스템의 개발을 위해 계획,분석,설계,구축에 정형화된 기법들을 상호 연관성 있게 통합 및 적용하는 자료중심의 방법론 ---> 대규모 정보 시스템 구축 적합

 

3. 객체지향 방법론

- 현실 세계의 개체(Entity)를 기계의 부품처럼 하나의 객체(Object)로 만들어, 소프트웨어를 개발할 때 기계의 부품을 조립하듯이 객체들을 조립해서 필요한 소프트웨어를 구현하는 방법론

 

* 구성요소

  : 객체, 클래스, 메시지, 메서드 등

* 기본 원칙

  : 캡슐화, 상속성, 다형성, 추상화, 정보은닉

 

4. 컴포넌트 기반 (CBD : Component Based Design) 방법론

- 기존 시스템이나 소프트웨어를 구성하는 컴포넌트를 조합해 새로운 애플리케이션을 만드는 방법론

- 재사용으로 시간과 노력 절감

- 확장성

- 시간 단축으로 생산성 향상

 

5. 애자일 방법론

- 고객의 요구사항 변화에 유연하게 대응할 수 있도록 일정한 주기를 반보하면서 개발 과정을 진행하는 방법론

ex))) XP, 스크럼, 칸반, 크리스탈 등    #X스칸크

 

6. 제품 계열 방법론

- 특정 제품에 적용하고 싶었던 공통 기능을 정의하여 개발하는 방법론

- 임베디드 소프트웨어를 만드는데 적합

영역공학 영역 분석, 영역 설계, 핵심 자산을 구현하는 영역
응용공학 제품 요구 분석, 제품 설계, 제품을 구현하는 영역

비용 산정 기법

1. 소프트웨어 비용 산정의 개요

- 소프트웨어 개발 규모를 소요되는 인원,자원,기간 등으로 확인하여 실행 가능한 계획을 수립하기 위해 필요한 비용을 선정하는 것

 

2. 비용 결정 요소

* 프로젝트 요소

제품 복잡도 문제점들의 난이도를 의미
시스템 크기  
신뢰도 일정 기간 내 주어진 조건하에서 프로그램이 필요한 기능을 수행하는 정도

 

* 자원 요소

인적 자원 개발자들의 능력, 자질
하드웨어 자원 보조 장비 ( 워드프로세서, 프린터 등)
소프트웨어 자원 언어 분석기, 문서화 도구 등 개발 지원 도구

 

* 생산성 요소

개발자 능력 개발자들의 전문지식, 경험, 이해도, 책임감 등
개발 기간 소프트웨어 개발 기간