2024. 9. 19. 15:48ㆍ카테고리 없음
목표
1. 소프트웨어의 특성과 문제점을 설명할 수 있다.
2. 소프트웨어공학의 배경과 목적을 설명할 수 있다.
3. 소프트웨어 개발 프로세스 모델에 대해 설명할 수 있다.
핵심키워드
- 소프트웨어의 특성
- 소프트웨어 생명주기
- 요구사항 분석, 설계, 구현, 테스팅
- 소프트웨어 요구관리, 유지관리, 형상관리, 품질관리
공부시작 전 궁금증
1. 소프트웨어의 품질이 어떻게 평가되고 관리될까?
2. 프로세스 모델이 어떻게 변화하여 왔을까?
3. 소프트웨어 공학이라는 학문은 어떠한 필요로 생겨났을까?
4. 소프트웨어 공학에서 다루는 개념은 무엇일까?
내용정리
소프트웨어 공학의 정의 : "소프트웨어의 개발, 운용, 유지보수 등의 생명주기 전반을 체계적이고 정량적으로 다루는 학문"
소프트웨어 공학의 4가지 중요요소
- 방법 : 소프트웨어를 어떻게 개발할 것인가? -> 프로젝트 계획수립, 프로그램 구조, 알고리즘 ...
- 도구 : 어떤툴을 사용해 만들것인가? -> 요구 관리 도구, 모델링 도구, 형상관리 도구 ...
- 절차 : 방법과 도구를 이용해서 어떻게 계획을 세우고 개발할 것인가? -> 결과물, 품질 보증, 개발 진행 순서 ...
- 사람 : 결국 이 요소들을 버무릴 인원이 필요하기때문에 4가지 요소 포함되어 있음.
개발 생명주기의 정의 : 사용자의 환경 및 문제점 이해에서 시작해 운용/유지 보수에 이르기까지의 모든 과정.
일반적인 생명주기 순서(* 생명주기 모델에 따라 다를수 있음)
1. 타당성 검토 -> 이러한 필요가 있는데 이게 실제로 만들수있을까?
2. 개발 계획 -> 이 프로그램을 만들기 위해선 이런 알고리즘이 필요하고 이런 툴이 필요하겠구나.
3. 요구사항 분석 -> 사용자입장에서 정확히 어떤 기능이 필요하지? 또 각 파트에 있어야할 정확한 기능이 무엇이지?
4. 설계 -> 데이터베이스 엔티티, API 명세서 등 이렇게 맞춰놓으면 되겠다.
5. 구현 -> 이제 파트를 나눠서 실제 기능을 만들어보자
6. 테스트 -> 예외처리 잘되어있나, 잘 동작하나?
7. 운용 -> 이제 서비스하자
8. 유지보수 -> 다음 버전에는 뭘 추가하고 ...
생명주기 목적
- 프로젝트 비용 산정과 개발 계획 수립, 기본 골격 구성
- 프로젝트 관리
-> 개발을 시작할때 막막할 수 있는데 하나의 가이드라인이 될 수 있다.