ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 정보처리기사 2018-1 - 소프트웨어공학
    정보처리기사 2020. 4. 16. 15:11

    프로젝트 계획과 비용산정(추정)

     

    프로젝트 계획

    누가 무엇을 어느기간 동안 어떻게 개발해야 하는 지 예측하는 작업

    구현해야 할 기능과 요구하는 성능 및 인터페이스 성능에 따라 개발범위를 정합니다

    구현할 프로젝트의 특징과 자원 및 생산성에 따라 비용을 예측합니다

     

    비용산정에 영향을 주는 요소

    프로젝트의 복잡도 및 크기, 요구 신뢰도

    투자자원: 인력. 지원 하드웨어, 지원 소프트웨어

    생산성: 인적 자원의 능력과 경험 및 개발 기간

     

    비용산정방식

    하향식 비용산정방식 - 경험이 많은 전문가에게 비용산정의뢰 OR 여러 전문과와 조정자를 통해 산정

    상향식 비용산정방식 - 코드라인수(LOC) ,  CCOMO모형, PUTNAME 모형,  FP 모형 등

    COCOMO 모형
    보헴이 제안한 모형으로 프로그램 규모에 따라 비용을 산정합니다.
    Organic(5만 라인 이하), Semi-Detached(30만 라인 이하), Embedded(그 이상)
    비용 산정 단계와 적용할 인수에 따라 Basic, Intermediate, Detailed형으로 구분합니다.
    LOC(Lines of code)기법을 사용합니다.
    예상 비용 = (낙관 정도 + 4*기대 정도 + 비관 정도)/6

    Putnam 모형
    소프트웨어 개발 주기의 간 단계별로 요구할 인력의 분포를 가정하는 모형입니다.
    Putnam 모형과 Rayleigh Noden 곡선을 기초로 개발한 자동화 추정 도구로 SLIM이 있습니다.

     

    FP 모형
    FP(Funtion Point) = 전체 기능 점수 * [0.65 + (0.1 * 총 영향 정도)]
    요구 기능을 증가시키는 인자별로 가중치를 부여하여 기능의 점수를 계산하여 비용을 산정하는 방식


    소프트웨어 유지보수

    교정 보수

    Corrective Maintenance

    • 소프트웨어 구축 시 테스트 단계에 미처 발견하지 못한 잠재적인 오류를 찾아 수정한다.
    • 수리 보수, 수정 보수, 정정 보수, 하자 보수라고도 한다.

    적응 보수

    Adaptive Maintenance

    • 운영체제, 하드웨어와 같은 프로그램 환경변화에 맞추기 위해 수행하는 유지보수

    완전화 보수

    Perfective Maintenance

    • 기존 기능과 다른 새로운 기능을 추가하거나, 기존 기능을 개선 등
    • 소프트웨어 확장 및 리모델링
    • 유지보수 활동 중 가장 자원이 많이 소모되는 활동

    예방 보수

    Preventive Maintenance

    • 장래에 유지보수성 또는 신뢰성을 보장하기 위해 선재적으로 하는 유지보수
    • 소프트웨어의 잠재적인 오류발생에 대비하여 미리 예방수단을 강구해 두는 유지보수

    한 모듈 내의 각 구성요소들이 공통의 목적을 달성하기 위하여 서로 얼마나 관련이 있는 지 기능적 연관 정도를 나타내는 것은? => Cohesion 응집도

     


    결합도 Coupling

    결합도는 모듈과 모듈 간의 상호 결합 정도를 나타낸다

    자료 결합도 < 스탬프 결합도 < 제어 결합도 < 외부 결합도 < 공통 결합도 < 내용 결합도

    • 자료 결합도(Data Coupling)
      • 모듈간의 인터페이스 전달되는 파라미터를 통해서만 모듈간의 상호 작용이 일어나는 경우
      • 깔끔한 Call by value
    • 스탬프 결합도(Stamp Coupling)
      • 모듈간의 인터페이스로 배열이나 오브젝트, 스트럭쳐등이 전달되는 경우
    • 제어 결합도(Control Coupling)
      • 단순히 처리를 해야할 대상인 값만 전달되는게 아니라 어떻게 처리를 해야 한다는 제어 요소(DCD, Flag등)이 전달되는 경우.
    • 외부 결합도(External Coupling)
      • 어떤 모듈에서 반환한 값을 다른 모듈에서 참조해서 사용하는 경우
    • 공통 결합도(Common Coupling)
      • 파라미터가 아닌 모듈 밖에 선언되어 있는 전역 변수를 참조하고 전역변수를 갱신하는 식으로 상호작용하는 경우

     

Designed by Tistory.