■ 객체 지향형 프로그래밍 ✔ 객체 : 자료구조부분(속성, Data) + 연산부분(함수, 행동) - 속성 : 객체의 정보 - Method : 연산 - 캡슐화 ✔ 클래스 : 객체(인스턴스)들의 모임 - 추상화 - 클래스에 정의된 연산이 객체들에 상속 ✔ 메시지 - 객체들간의 상호작용을 일으키는 수단 ✔ 캡슐화(Encapsulation) - 속성과 함수를 하나로 묶는다 - 정보 은폐 : 변형 방지 - 장점 : 재사용, 인터페이스 단순화, 오류가 적다 ✔ 정보은닉 : 고려되지 않은 영향의 최소화 ✔ 추상화 : 불필요한 부분 생략 ✔ 상속성 : 이미 정의된 속성과 연산을 재정의 할 필요 없이 물려 받는다. ✔ 다형성 : 같은 메시지에 다른 결과들이 나타난다. ■ 객체 지향형 프로그래밍의 단계와 분석 ✔ 개발 단..
■ 소프트웨어 프로젝트 관리 ✔ 소프트웨어 생명주기 전체에 걸쳐 진행 ✔ 관리 대상 - 계획 관리 : 비용산정, 일정계획 - 품질 관리 - 위험 관리 ✔ 3대요소 - People : 인적자원 - Problem : 문제인식 - Process : 일정 ■ 프로젝트 계획 및 예측 ✔ 계획 수립 - 개발 영역, 자원, 비용, 일정 등을 예측 - 위험성은 예측이 불가 ✔ 예측 방법 - 선수 유사 프로젝트 참고 - 프로젝트 세분화 ✔ 고려사항 - 규모파악 : 최우선 수행 - 복잡도 ✔ 비용결정 요소 - 프로젝트 요소 : 복잡도, 크기, 신뢰도 - 자원요소 : 인적자원, H/W, S/W - 생산성요소 : 개발자의 능력, 개발 기간 ■ 비용산정 기법 ✔ 하향식 비용 산정 기법 - 비과학적 방법 -> 경험에 의거 ✔ 상..
■ 소프트웨어와 시스템 ✔ 소프트웨어 : 문서까지 포함 ✔ 소프트웨어 특성 - 독창적이 아니라 대중적이여야 한다. - 무조건 간결한게 좋은건 아니다, 최소한의 기능은 갖춰야 함 ✔ 소프트웨어를 문서화 했을때 얻는 이득 - 시스템 개발의 분석과 설계가 용이 - 프로그램 유지보수 용이 - 프로그램의 확장성 - 인수 인계가 용이 ✔ 시스템 - H/W + S/W + 절차 ✔ 시스템의 구성 요소 |------제어------| - 입력 -> 처리 -> 출력 ↑←← 피드백 ←←↓ ■ 소프트웨어 공학 ✔ 공학의 의미 - 경제성 - 적시성 - 보편 타당성(독창적 x) ✔ 등장 배경(소프트웨어 위기론) - 소프트웨어 비용 증가 - 소프트웨어의 발전이 느리다 - 개발자 부족 - 소프트웨어 유지보수비용이 개발비를 능가 ■ 소..