[ 소프트웨어 공학 ]

▪ 소프트웨어 공학은 소프트웨어 상품의 모든 면과 연관되어 있다.

  - 시스템 명세화 초기 단계에서부터 사용 이후 이루어지는 유지 보수 까지

▪ 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

+ Recent posts