본문 바로가기
자격증/정보처리기사

소프트웨어 분류와 특성

by 두두리안 2022. 6. 18.
728x90

목차

1. 상용 소프트웨어
2. 시스템 소프트웨어
3. 플랫폼
4. 프레임워크
5. 컴포넌트
6. 소프트웨어 공학

1. 사용 소프트웨어(Commercial Software)

1-1. 상용 소프트웨어 개념

* 상업적 목적으로 생산되는 프로그램
* 시중에서 판매되고 유통되는 소프트웨어
* 홍보를 위한 무료 소프트웨어 포함
* 원시코드 제공하지 않음

1-2. 상용 소프트웨어 구분

1. 산업 특화 소프트웨어: 자동차, 항공, 조선, 농업 ..
2. 산업 범용 소프트웨어: 시스템 소프트웨어, 미들웨어, 응용소프트웨어 ..

1-3. 기업용 소프트웨어

1. OfficeWare: 회사나 단체 조직의 업무활동을 지원하는 그룹웨어
2. ERP: 경영 활동 프로세스들을 통합적으로 연계해서 관리하는 소프트웨어
3. SCM: 물류의 흐름을 파악하여 정보의 흐름이 원할 하도록 지원하는 소프트웨어
4. BI: 수집된 데이터를 정리,분석,활용하여 의사결정 할수 있도록 지원하는 소프트웨어
5. CRM: 고객 특성에 맞는 마케팅 활동을 지원하는 소프트웨어

2. 시스템 소프트웨어

2-1. 시스템 정의

* 공통적인 목적을 가지고 구성 요소들을 상호 결합한 형태

2-2. 시스템 기본요소

1. 입력
2. 출력
3. 처리
4. 제어
5. 피드백

2-3. 시스템 소프트웨어의 개념

1. 운영체재(OS) 같은 의미를 가진다
2. 응용 소프트웨어를 실행하기 위한 환경을 제공한다

3. 플랫폼

3-1. 플랫폼 개념

* 응용 프로그램을 편리하게 이용할수 있는 (하드웨어 + 소프트웨어) 환경
* 하드웨어 운영, 소프트웨어 개발 편안하게 서비스 지원
* 동일한 플랫폼에서 개발된 소프트웨어 호환성이 좋음
* 현행 시스템을 분석하기 위해 현재 시스템의 플랫폼을 상세분석

소프트웨어 vs 프로그램

프로그램: 소스코드와 결과물
소프트웨어: 프로그램포함 모든 산출물

3-2. 플랫폼 특징

* 소프트웨어 개발 비용을 줄일수 있다
* 동일한 플랫폼간의 네트웨크 구성이 효율적
* 소프트웨어 개발 생산성 향상

3-3. 플랫폼 성능 평가 기준

1. 가용성
2. 응답시간
3. 정확성
4. 사용률

4. 프레임워크

4-1. 프레임워크 개념

* 일정하게 짜여진 틀에서 제공되는 서비스 환경
* 설계, 구현등을 재사용이 가능한 형태로 제공하는 소프트웨어
* 소프트웨어 구성에 필요한 기본뼈대 제공
* 여러형태의 컴포넌트

4-2. 프레임워크 특징

1. 모듈화
2. 재사용성
3. 확장성
4. 제어의 역 흐름(IC)

4-3. 프레임워크 기대효과

1. 개발 용이성
2. 품질 보증
3. 변경 용이성
4. 유지보수 용이성
5. 재사용성 향상
6. 표준화율 향상
7. 상호 운용성 향상

5. 컴포넌트

5-1. 컴포넌트 개념

1. 모듈: 부품화된 프로그램
2. 라이브러리: 관련된모듈, 패키지 집합
3. 컴포넌트: 라이브러리 집합

라이브러리

* 표준 라이브러리: 프로그래밍 언어에 포함됨
* 외부 라이브러리: 별도의 설치를 통해 사용함

5-2. 협약에 의한 설계를 따를 경우 포함되는 조건

컴포넌트 오퍼레이션

1. 선행조건: 사용전 참
2. 결과조건: 사용후 만족
3. 불변조건: 항상 만족

6. 소프트웨어 공학

6-1. 소프트웨어 공학 개념

* 높은 품질의 소프트웨어를 최소비용으로 개발하기 위한 모든 도구 및 방법론
* 품질과 생산성 향상을 연구하는 학문

6-2. 소프트웨어 공학 등장배경

* 소프트웨어 개발의 시간과 비용 예측력 부족
* 소프트웨어 품질 향상
* 하드웨어에 대한 소프트웨어 상대적 비용 절감
* 기술의 급속적 발전

6-3. 소프트웨어 공학 기본 원칙

* 현대적 프로그래밍 기술
* 지속적인 검증
* 품질 높은 소프트웨어 상품 개발
* 결과에 관한 명확한 기록

 

참고자료: 이기적 환상콤비 정보처리기사

728x90

'자격증 > 정보처리기사' 카테고리의 다른 글

UML  (0) 2022.06.21
요구사항 정의  (0) 2022.06.21
소프트웨어 개발환경 분석  (0) 2022.06.20
소프트웨어 생명주기 모델  (0) 2022.06.20
소프트웨어 개발 방법론  (0) 2022.06.19