학부 강의/소프트웨어공학(13)
-
2022-10-02 소프트웨어공학_5
1. 요구사항 개발 개발에 있어서 고객의 요구사항을 잘 파악하는 것만큼 중요한 것이 없다. 요구사항 개발은 발주자나 고객으로부터 구현될 소프트웨어 제품의 사양을 정확히 도출하여 요구사항을 명세하고, 이를 분석한 결과를 개발자들이 이해할 수 있는 형식으로 기술하는 작업이다. 1.1 요구사항의 분류 기능적 요구사항 : 목표로 하는 제품의 구현을 위해 소프트웨어가 가져야 하는 기능적 속성 (ex. 파일 저장 기능, 편집 기능, 보기 기능 등) 비기능적 요구사항 : 제품의 품질 기준 등을 만족시키기 위해 소프트웨어가 가져야 하는 성능, 안정성과 같은 행위적 특성 (ex. 성능(응답시간, 처리량), 사용의 용이성, 신뢰도, 보안성, 운영상의 제약, 안전성 등) 1.2 요구사항 개발 프로세스 1.3 요구사항 추출 ..
2022.10.02 -
2022-09-25 소프트웨어공학_4
소프트웨어 프로젝트 프로젝트 : 유일한 제품이나 서비스를 만들기 위해 수행하는 일시적인 행동. 소프트웨어 프로젝트 프로세스 소프트웨어 제품 구상 기능 요구사항, 성능 요구사항 정의 투자 대비 효과를 예측하고 사업에 미치는 영향 파악 소프트웨어 제안 요청서 배포 외주를 줄 경우 개발 업체들에게 제안 요청서(RFP) 발송 제안서 제출 개발 업체들은 제안서를 작성, 제출 제안서 심사 계약서 작성 프로젝트 시작 및 수행 프로젝트 종료 및 제품 인도 소프트웨어 프로젝트 성공 요소 프로젝트 성공 요소 : 비용(Cost), 일정(Time), 품질(Scope/Quality) 이를 만족하는 성공률은 30% 정도로 낮았다. (그렇다네요?) 성공적으로 프로젝트를 마무리하기 위해선 프로젝트를 관리할 필요 있다. 이와 관련해 ..
2022.09.26 -
2022-09-20 소프트웨어공학_3
소프트웨어 개발 생명 주기 저번 시간에 이어서 소프트웨어 개발 생명 주기의 종류에 대하여 알아본다. 나선형 모델 폭포수 모형의 장점 + 원형 모형의 장점을 수용하고 위험 분석을 추가한 점증적 모델 프로젝트 수행 시 발생하는 위험을 관리하고 최소화하려는 것이 목적 각 단계가 명확히 구분되지 않음. 고비용의 시스템 개발이나 시간이 많이 소요되는 큰 시스템 구축에 적합. 소프트웨어 개발 방법론 소프트웨어 개발 생명주기 내의 각 단계에서의 수행 방법과 활동들을 구체적으로 정의한 것 종류 UP (Unified Process) XP (eXtreme Programming) 마르미 (한국전자통신연구원 소프트웨어 공학 연구팀에서 국내 여건을 반영한 한국형 소프트웨어 개발 방법론) UP (Unified Process) J..
2022.09.20 -
2022-09-17 소프트웨어공학_2
소프트웨어 프로세스와 생명 주기 프로세스 주어진 목적을 위해 수행되는 일련의 절차. 프로세스를 사용하는 조직원들의 공통된 행동 양식을 지정한다. 사람, 기술, 조직 구조, 관리 등을 전체적으로 통합한다. 소프트웨어 개발 프로세스 소프트웨어 개발의 목표 : 정해진 기한 내에, 주어진 예산을 이용해 사용자가 원하는 품질 수준으로 개발하는 것. 프로젝트 실패 : 요구사항이 복잡, 규보가 커짐 → 개발 난이도의 상승 소프트웨어 개발 프로세스의 중요성 : “소프트웨어 제품의 품질은 그 제품을 만들기 위해 사용된 프로세스의 품질에 의해 결정된다.” [Watts S. Hemphery 아저씨가] 소프트웨어 개발 프로세스를 정의한 자료 : IEEE_STD_610, Olson et al, SEI CMM 등… 소프트웨어 개..
2022.09.17 -
2022-09-12 소프트웨어공학_1
소프트웨어공학 소프트웨어 제품의 모든 측면과 관련된 공학적 규율 프레즈만의 정의 (Pressman) 소프트웨어는 실행 시 원하는 기능과 성능을 제공하는 지시 프로그램이 정보를 적절하게 조작할 수 있도록 해주는 자료구조 프로그램 운명 및 사용을 기술하는 문서 소프트웨어 분류 가. 응용 소프트웨어 VS 시스템 소프트웨어 응용 : 사용자의 목적에 맞게 개발. 워드, 엑셀, 브라우저 등 시스템 : 하드웨어 및 응용 소프트웨어 관리 및 지원. 운영체제, 네트워크 관리, 파일 관리 프로그램 등 나. 프레즈만의 소프트웨어 분류 다. 분류 방법(3) 라. 분류 방법(4) 일반 소프트웨어 일반적으로 PC 및 대형 시스템상에서 수행되는 소프트웨어 비기능적인 부분에 대한 고려가 많지 않음. (ex. 메모리 용량, 저장공간…..
2022.09.12