새소식

대학생활/소프트웨어공학

소프트웨어 공학 이론 정리 - 1장- <소프트웨어의 정의>

  • -

Nature of Software - Defining Software

 

Softwear Is [소프트웨어는 무엇이다.]

1. 소프트웨어는 실행시 요구사항이나, 기능, 성능(성능 측정의 지표이기도 하다.)을 발휘할 수 있는 명령어 집합이다.

(Instructions(computer programs) that when executed provide desired features, function, and performance)

2. 소프트웨어는 프로그램이 정보를 적절하게 조작 할 수 있도록하는 데이터 구조입니다. (대충 이런것도 프로그램의 한 부분이다.)

(software is data structures that enable the programs to adequately manipulate information.)

3. 도큐먼트란 기능(operation, function)과 프로그램의 사용법을 설명하는 문서입니다. (큰 범주에선 프로그램의 요구사항을 기제하는 명세서라 할 수 있다.)

 

What is Software?

1. 소프트웨어는 필요에 의해 개발 혹은 엔지니어링 된 것으로, 고전적인 방식으로 생산되지 않는다.

2. 소프트웨어는 낡지 않는다, 다만 시간이 지날 수록 사용자의 환경이 바뀜에 따라 사용자의 요구사항을 만족시키지 못해 악화되어간다.

3. 대부분의 하드웨어 산업은 부속품 조립 중심(Component-Based-Construction)이었으나, 대부분의 소프트웨어는 사용자가 원하는 목적에 따라 Custom-Built 된다.

 

 

 

Software Application Domains(소프트웨어 어플의 산업적 분야)

크게 두 분류 :

1. System Software[사용자와 직접 소통X, 시스템 소프트웨어/어플과 상호작용함=System Interface 발달]

2. Application Software[사용자가 바로 사용할 수 있는 것=User Friendly=UI가 있음.

세부 분류 :

1. System software

2. Application Software

3. Engineering/Scientific software

4. Embedded Software

5. Product-line software

6. Web/Mobile Applications.

7. AI Software (robotics, Neural Nets, Game Playing)

 

 

 

Wear Vs Deterioration

=>  이상과 현실은 다르다. (현실은 알지 못했던 버그가 발견되고, 이걸 수정하다 보면 Failure Rate이 오를 수밖에 없다.)

Legacy Software

과거의 소프트웨어를 버릴 순 없다. (오류를 이미 많이 잡아 놓음)

그렇다면 바꿔 야지

Why Must Software Changed?

1.     소프트웨어는 새로운 컴퓨팅 환경과 기술에 맞게 적응해야 한다.

2.     소프트웨어는 산업에서의 요구사항에 맞게 강화되고 발전해야 한다.

3.     소프트웨어는 최신 시스템과 DB와 함께 상호 동작하게 확장될 수 있어야한다.

4.     소프트웨어는 네트워크 환경, 모던 시스템에 맞게 구조적 재설계될 수 있어야 한다.

 

 

 

The IEEE Definition

-      Software Engineering

소프트웨어 엔지니어링은 소프트웨어의 개발, 운영 및 유지 관리에 대한 체계적이고 규율 적이며 정량화 가능한 접근 방식을 적용한 것입니다. , 엔지니어링을 소프트웨어에 적용하는 것입니다.

Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.