소프트웨어 공학 3

[S/W Engineering] Chapter 03_계획

Chapter 03_계획 "계획"의 "역할" - 계획을 제대로 세우지 않고 수행하는 소프트웨어 개발은 일정 지연, 비용 초과, 품질 저하라는 결과를 낳게 됨. "계획"의 "중요성" - 소프트웨어 개발의 성패는 비용, 기간, 인력과 같은 자원을 토대로 초기에 얼마나 계획을 잘 세우느냐에 달려있음. "문제 정의" - 문제를 정의하려면 개발하고자 하는 영역의 배경 지식이 필요 - 유사한 프로젝트를 개발한 경험이 있는 분석가가 참여하는 것이 도움이 됨 - 문제를 파악하기 위해 현재 운영중인 시스템을 사용해 실무 담당자와 면담해 자료를 수집한 후 면밀히 분석해보는 것이 필요 { 타당성 분석 } "경제적 타당성" - 경영자의 입장에서 의사 결정을 하는 데 매우 중요한 요소 - 시장 분석을 통해 시장성을 확인 - 경..

[S/W Engineering] Chapter 02_UML

Chapter 02_ UML "UML이란?" - 소프트웨어의 전체를 판단할 수 있도록 제시한 12개의 다이어그램 - 시스템이 상호작용하는 측면, 시스템 전체 구조 측면, 컴포넌트 간의 관계 등을 시각적으로 볼 수 있게 나타낸 도면 { 액터의 종류 } - 사용자 액터 : 시스템을 이용하는 사람(역할) - 시스템 액터 : 해당 프로젝트의 개발 범위에는 속하지 않지만 데이터를 주고받는 등 서로 연동되는 또 다른 시스템 - 주요 액터 : 시스템에게 작업의 실행을 요구하는 능동적 입장의 액터(대부분의 액터가 이에 해당) - 보조 액터 : 유스케이스로부터 요청을 받거나 메시지를 전달받아 수동적으로 작업을 하는 액터 - 프록시 액터 : 액터와 시스템의 중간 위치에서 무언가를 대신해주는 액터 (시스템에 등록할 수 있도..

[S/W Engineering] Chapter 01_소프트웨어 공학과 개발 프로세스

Chapter 01_ 소프트웨어 공학과 개발 프로세스 “프로그램”이란? - 프로그래밍한 원시 코드(source code) “소프트웨어”의 “정의” - 프로그램(코드)을 비롯해 개발 과정에서 생성되는 모든 산출물과 각 단계에서 만들어지는 문서와 사용자 매뉴얼 등 (자료 구조, 데이터베이스 구조, 테스트 결과 등) “소프트웨어”의 “특징” - 제조가 아닌 개발 ((소프트웨어 개발 과정은 제조와 달리 개인 능력에 따라 차이가 큼. )) - 소모가 아닌 품질 저하 (( 하드웨어와 달리 소프트웨어는 닳지 않으며 시간이 지나도 고장 빈도가 높지 않음. 사용 시작 단계부터 사용자의 요구가 계속 발생)) 소프트웨어 공학의 학문적 정의 품질 좋은 소프트웨어를 경제적으로 개발하기 위해 계획을 세우고, 개발하며, 유지 및 ..