소프트웨어공학

[CS][소프트웨어공학] 객체지향방법론, UML, 유스케이스 다이어그램
[1] 객체지향 개념 객체지향 방법론 현실세계의 개체(Entity)를 속성과 메소드를 결합시킨 객체 형태로 표현하는 개념 객체 간의 메시지 통신을 통해 시스템을 구현하는 개발 방법 객체지향의 핵심개념은 객체와 "클래스"이다. 객체지향의 기본원리 캡슐화(Encapsulation) 정보은닉(Information hiding) 상속(Inheritance) 다형성(Polymorphism) 객체(Object)는 현실세계에 존재하거나 생각할 수 있는 개념을 표현한 것이다. 물리적 객체, 개념적 객체가 있다. 객체가 되려면 상태를 가져야 한다. 객체가 가지는 자료 값이 상태를 표현한다. 시간이 흐르면서 변화할 수 있어야 한다. Ex. 강좌의 상태 : open & close 객체는 잘 정의된 오퍼레이션이 있어야 한다...

[CS][소프트웨어공학] SW 요구사항, SW 개발 방법론, DFD, 자료사전
[1] 요구사항의 정의 요구사항 (requirements) 시스템이 제공해야 할 역량 (capability) 외형적으로 나타내는 기능이나 성능 SW 시스템이 수행해야 할 것과 SW 시스템에 있어야 할 특성을 명시적으로 기술한 문장 SW 개발 기준 여러 이해 당사자 (stakeholder)의 이해 관계와 관련되어 있다. SW가 무엇을 해야 하는가를 표현해야 한다. 프로젝트 실패의 가장 중요한 이유는 명확하지 못한 요구사항 정의이다. 요구 사항은 각각의 position에서 해석해도 문제가 없게끔 정의해야 한다. [2] 요구사항의 분류 기능 요구 고객이 요구하는 시스템이 처리할 기능 업무 절차나 기계 동작을 실현한 것 동사로 표현된다. 쉽게 파악된다. 제품 기능을 의미한다. 사용 사례로 정리할 수 있다. UM..

[CS][소프트웨어공학] SW 기능 산정 (기능점수, 간이법)
[1] 기능 점수 (FP, FunctionPoint) 과거의 소프트웨어 비용 산정 LOC(Lines of Codes)로 SW의 규모를 파악했다. 문제점 : 사용하는 프로그래밍 언어마다 기능 구현을 위한 코드 라인 수가 달라진다. 기능 점수 (Function Point) 방법 SW의 기능과 복잡한 정도를 기준으로 규모를 산정한다. IFPUG 모델을 이용하며 2003년 국제표준을 채택하였다. (ISO/IEC 20926:2003) 현재 모든 SW 개발 프로젝트의 규모 및 비용 산정의 표준이 된다. SW 시스템의 구성 요소를 2가지로 정의할 수 있다. 처리 기능 : Transaction Function, 외부입력/외부출력/외부질의 데이터 기능 : Data Function, 내부논리파일/외부인터페이스파일 그 구성..

[CS][소프트웨어공학] SW 개발 프로젝트 관리 기법(일정/비용/위험 관리), SW 개발 프로젝트 조직 유형
[1] SW 개발 프로젝트 실패 원인 부족한 SW 마인드 : 언제든 변경이 가능하다는 오만함 SW 공학 기술의 활용 미흡 : 공학 기법 적용을 미룸 부족한 프로젝트 관리 기술 : 수행 시 고려해야 할 요소가 기하급수적으로 증가 [2] SW 개발 프로젝트 관리 SW 개발 프로젝트의 목표 최소의 비용으로 최고의 품질을 유지하는 SW를 성공적으로 개발하는 것 프로젝트 관리의 목적 작업 수행에 필요한 여러 가지 자원, 인력, 비용, 재료, 기술 등을 가장 효과적으로 사용하여 프로젝트의 목표를 달성하는 것 SW개발 프로젝트 관리를 어렵게 하는 요인 보이지 않는 SW, 빠르게 변하는 기술, 조직마다 다른 프로세스 [3] SW 개발 프로젝트 관리 단계 계획 수립 프로젝트 목표의 이해와 문서화 스케줄, 예산, 기타 자..