Be Coder
소프트웨어 공학이란 본문
- 소프트웨어 개발에 대한 전반적인 흐름
- 소프트웨어 공학을 비롯한 프로젝트 관리
1. 정의
- 프로그램 : 소스코드
- 소프트웨어 : 소스코드, 산출물(자료구조, db구조, 테스트 결과 등), 메뉴얼
2. 소프트웨어의 분류
- 정보관리 소프트웨어
> 정보 제공 및 관리 소프트웨어
> DB에 자료 저장한 후 검색을 통해 사용자가 원하는 형태로 정보 제공
> 예) 인터넷 뱅킹, 대학 종합 정보 시스템, 예약 시스템 등
- 제어 소프트웨어
> 각종 센서를 이용하거나 기기들의 동작을 제어하는 소프트웨어
> 예) 교통 신호 제어, 의료기기 제어, 공장장비 제어
- 임베디드 소프트웨어
> 장비나 기기에 내장된 형태의 소프트웨어
> 가전 제품, 공정제어 시스템 내부의 소프트웨어
3. 소프트웨어의 특징
- 제조가 아닌 개발
> 제조 : 정해진 틀에 맞춰 일정하게 생산하는 것. 많은 인력이 필요하고, 능력별 결과물 차이가 근소
> 개발 : 개인 능력 별 결과물 차이가 매우 큼
- 소모가 아닌 품질 저하
> 하드웨어 : 오래 사용하면 부품이 닳고, 고장 발생 빈도가 올라가고, 기능 저하.
> 소프트웨어 : 하드웨어와 반대.
4. 소프트웨어 개발의 문제점
> 소프트웨어 개발의 느린 발전 속도
> 새로운 소프트웨어에 대한 사용자 요구의 증가
> 소프트웨어 개발에도 관리가 필요 : 비용관리 / 일정 관리 / 개발자 관리
-> PMBOK을 활용한 적극적인 프로젝트 관리 필요
> 개발과정이 복잡해지고 있음
> 참여 인력이 늘어나고 있음
> 개발기간이 길어지고 있음
5. 소프트웨어 공학의 정의
> 품질 좋은 소프트웨어를 경제적으로 개발하기 위해,
1. 계획을 세우고
2. 개발하며
3. 유지 및 관리하는
전 과정에서 공학, 과학 및 수학적 원리와 방법을 적용하여 필요한 이론과 기술 및 도구들에 관해 연구하는 학문.
6. 소프트웨어 공학의 목표
> 개발 과정에서의 생산성 향상
> 고품질의 소프트웨어 생산 -> 사용자 만족
7. 소트프웨어 공학의 특성
-> 공학의 특성
> 제약 사항 : 정해진 기간, 주어진 비용.
-> 과학적 지식을 활용하여 문제를 해결하는데 한정된 기간과 비용의 제약을 받음.
- 소프트웨어 공학
: 소프트웨어 + 공학
: 소프트웨어 개발 과정에 공학적인 원리를 적용하여 소프트웨어를 개발
: 소프트웨어 개발의 어려움 해결
: 효율적 개발을 통한 생산성 향상
: 고품질 소프트웨어 제품 생산
8. 소프트웨어 개발 생명주기(SDLC : Software Development Life Cycle)
- 계획 단계에서 유지보수 단계에 이르기까지 일어나는 일련의 과정
'소프트웨어 공학' 카테고리의 다른 글
소프트웨어 개발 단계 : 품질 / 프로젝트 관리 / IT 용어 정리 (0) | 2020.03.08 |
---|---|
소프트웨어 개발 단계 : 설계 / 구현 / 테스트 (0) | 2020.03.08 |
소프트웨어 개발단계 : 계획 / 요구 분석 / 위험 (0) | 2020.03.08 |
소프트웨어 개발단계 : 프로세스 모델 (0) | 2020.03.08 |