객체지향 분석 객체지향 특정 기능을 수행하기 위한 데이터와 데이터를 사용하는 연산을 하나로 묶어 객체로 표현하는 접근 방법 클래스와 오브젝트 클래스는 실세계의 사물을 정의하기 위한 틀을 제공한다. 클래스로부터 생성되는 인스턴스가 객체(오브젝트)이다. 객체는 클래스 하나에서 여러 개가 생성될 수 있으며, 실제 연산에 사용된다. 캡슐화와 정보 은닉 클래스는 속성과 연산으로 정의,포장된다. 이렇게 포장하는 것을 캡슐화라고 한다. 캡슐화로 인해 클래스의 속성과 연산이 감춰진다. 필요한 최소한의 정보만 외부에 공개된다. 상속 구체 클래스들의 공동 속성과 공통 연산을 뽑아내어 추상 클래스로 선언한다. 추상 클래스에 정의된 속성은 구체 클래스에서 정의하지 않고 추상 클래스로부터 상속받는다. 다형성 클래스에 정의된 요..
#6 소프트웨어 비용 산정 기능점수 코드의 라인 수 기반 비용 산정의 문제점을 완화하기 위한 기능 중심의 비용 산정 기법이다. 소프트웨어에 있는 기능의 양과 복잡한 정도를 기준으로 규모를 산정한다. 기능 점수 산정의 구성 요소 데이터 기능 = 내부 논리 파일 + 외부 인터페이스 파일 처리 기능 = 외부 입력 + 외부 출력 + 외부 질의 기능 점수 산정 : 각 기능의 양을 count한 후 각 기능을 정의한 복잡도의 가중치를 곱한다. 기능 점수 산정 절차 단계1 : 기능 점수 산정 유형 결정 // 개발 프로젝트, 개선 프로젝트, 유지보수 프로젝트 단계2 : 범위 및 경계 선정 // 산출 범위, 획득 방법, 대상 시스템 세부 내용 정의 단계3 : 데이터 기능 산출 및 복잡도 식별 // 내부 논리 파일과 외부 ..
프로젝트 관리 필요성 소프트웨어 개발 프로젝트가 실패하는 이유 - 부족한 소프트웨어 마인드 - 소프트웨어 공학기술의 활용 미흡 - 부족한 프로젝트 관리 기술 프로젝트 관리의 정의 개발자 또는 개발 팀이 프로젝트 목표를 효율적이고 효과적으로 달성하는데 필요한 내적 환경 요소들을 준비하고 유지하는 활동 프로젝트 관리 단계 1단계 : 계획 수립 소프트웨어 개발 목적, 필요 자원, 정보의 흐름, 소요 인력 등을 정의한다. 2단계 : 자원 획득 계획 단계에서 예측한 다양한 장비 및 시설 확보, 팀 구성 등과 같은 일을 수행하여 실제로 프로젝트가 수행될 여건을 마련한다. 3단계 : 실행 프로젝트 수행 계획서에서 정의한 일정에 따라 소프트웨어 개발 활동을 수행한다. 4단계 : 모니터링 프로젝트 관리 계획서에서 정의한..