[ 소프트웨어 공학 ]
▪ 소프트웨어 공학은 소프트웨어 상품의 모든 면과 연관되어 있다.
- 시스템 명세화 초기 단계에서부터 사용 이후 이루어지는 유지 보수 까지
▪ Engineering discipline (공학 규율)
- 조직적 재정적인 제한 속에서 문제를 해결하기 위해 적절한 이론과 방법을 사용하는 것이다.
▪ 소프트웨어의 모든 면
- 개발의 기술적인 면 뿐만 아니라 프로젝트 관리와 개발 도구, 방법 등 소프트웨어를 유지하기 위한 모든 부분
[ 소프트웨어 공학이 중요한 이유 ]
▪ 사회는 점점 더 많은 분야에서 소프트웨어를 사용하고 있다.
- 우리는 의존가능하고 신뢰할 수 있는 시스템을 경제적으로 빠르게 생산할 수 있어야 한다.
▪ 시스템의 모든 종류에서, 대부분의 비용은 사용 된 이후 소프트웨어를 변경 할 때 사용되어 진다.
- 기간을 길게 봤을 때, 소프트웨어 공학 방법과 기술은 개인적인 프로그래밍을 위한 프로그램을 만들기 보다 소프트웨어 공학 방법과 기술을 이용해서 값싸고, 오래 쓸 수 있도록 한다.
[ 소프트웨어 프로세스 ]
▪ 소프트웨어 공학에서 사용 되어지는 소프트웨어적 접근으로, 소프트웨어 제품을 생산하기 위한 행위들과 이들의 결과물들의 집합이다.
▪ 소프트웨어 프로세스들에는 공통적인 4개의 행위들이 있다.
- 소프트웨어 명세서 : 소프트웨어 기능과 소프트웨어의 운영상 제약조건을 정의해야 한다.
- 소프트웨어 개발 : 명세서를 만족하는 소프트웨어를 디자인하고 개발 해야 한다.
- 소프트웨어 검증 : 사용자가 원하는 소프트웨어인지를 확인해야 한다.
- 소프트웨어 진화 : 사용자의 요구 사항의 변화를 만족하도록 소프트웨어는 수정되어야 한다.
-> 프로세스를 지키지 않을 경우 결과물에 대한 만족이 떨어지며, 그로 인한 변경은 어렵다.
[ 소프트웨어 공학의 다양성 ]
▪ 소프트웨어 시스템의 다양한 종류가 있다.
▪ 모든 조직과 시스템에 적절한 보편적인 소프트웨어 공학 방법은 없다.
▪ 개발된 소프트웨어의 종류, 소프트웨어를 개발한 조직, 개발 과정에 연관된 사람들, 고객의 요구조건에 따라 방법을 선택해야 한다.
▪ 다른 종류의 소프트웨어 마다 다른 기술을 사용한다.
▪ Ex)
- 자동차에서 사용되는 임베디드 제어 시스템 : 안전성이 중요하고, Rom에 내장 되어 있다. 넓은 확인과 검증이 필요하다
- 웹 기반 시스템 : 점진적인 개발과 배포에 기반한 접근법이 적절하다. 주로 재사용 가능한 컴포넌트들로 구성되어 있다.
[ 응용프로그램의 다른 종류 ]
▪ 독립형 응용프로그램
- PC와 같은 로컬 컴퓨터에서 실행되는 응용프로그램
- 모든 기능성을 포함하며 네트워크에 연결할 필요가 없다.
- MS office, CAD, photoshop
▪ 웹기반 응용프로그램
- 원거리 컴퓨터에서 실행하며 PC나 단말기로부터 사용자에 의해 접근되어 진다.
- 웹 검색 엔진, SNS
▪ 임베디드 콘솔 시스템
- 하드웨어 장치를 조절하고 관리하는 소프트웨어 제어 시스템
- 휴대폰 소프트웨어, 전자레인지속 소프트웨어, ABS
▪ 일괄 처리 시스템
- 상당한 양의 데이터를 처리하기 위해 고안된 사업 시스템
- 적절한 생산을 위해 상당한 양의 입력을 처리한다.
- 급여 시스템, 영수증 시스템
댓글이나 공감 남겨주는 사람 착한사람
'학사 그리고 석사 > 소프트웨어공학' 카테고리의 다른 글
Waterfall model (0) | 2019.10.03 |
---|---|
소프트웨어 프로세스 모델 (0) | 2019.09.29 |
소프트웨어 공학 (2) (0) | 2019.09.27 |
소프트웨어 제품 (0) | 2019.09.27 |
소프트웨어란? (0) | 2019.09.08 |