본문 바로가기

정보 처리 기사 필기/1. 소프트웨어 설계

1-1 소프트웨어 종류 및 개발 방법론 - 소프트웨어 종류 및 특성

반응형

소프트웨어 종류 및 특성

 

 

상용 소프트 웨어

 

개념
  • 상업적/판매 목적으로 생산
  • 상업용으로 판매/유통되는 S/W
  • 홍보를 위한 무료 S/W 포함
  • 원시 코드 미제공하고 실행코드만 제공하여 수정/추가 불가
    소스코드/원시코드 -> 번역/컴파일러 -> 기계어
구분
  • 상용 소프트웨어
    - 산업 범용 소프트웨어 
         - 시스템 소프트웨어
         - 미들 웨어
         - 응용 소프트웨어

    - 산업 특화 소프트웨어: 자동차 등 13개

 

 

 

시스템 소프트웨어

 

정의
하나의
공통적 목적을 갖고 있는 구성 요소들을 상호 결합해 놓은 유기적인 집합체

기본 요소
  • 입력(input): 처리 방법, 제어 조건, 처리할 데이터를 시스템에 투입하는 요소
  • 출력(output): 처리된 결과 시스템에서 출력
  • 처리(process): 입력된 자료 처리 조건에 따라 변환 및 가공
  • 제어(control): 시스템 기본 요소들이 올바르게 과정 행하는지 감독
  • 피드백(feedback): 처리된 결과 측정, 파악하여 목표에 도달되었는가 검사. 불충분 시 목표 달성 위해 다시 입력

 

 

플랫폼

 

개념
  • 많은 응용 프로그램을 편리하게 사용하도록 지원하는 H/W 또는 S/W
  • 응용 프로그램 실행 위해 사용하는 H/W+S/W
  • S/W 개발, 운영 지원
  • 동일한 플랫폼에서 S/W 개발 시 언제 어디서나 쉽게 실행
  • 현행 시스템 분석 위해 S/W, H/W 플랫폼 상세 분석 필요
기능
  • S/W 개발, 운영 비용 절약
  • 동일 플랫폼 간의 공통 그룹 형성으로 네트워크 효과 최대화
  • S/W 개발 생산성 향상
성능 특성 분석 항목

응가사정
  • 응답(반응) 시간(response time) : 명령 후 반응까지 걸린 시간
  • 가용성(Availability) : 적절한 방법으로 정보 요구시 정보 서비스 제공
  • 사용률(Utilization) : 하드웨어/소프트 웨어/네트워크 자원 등을 일정 시간 사용하는 정도
  • 정확성(Accuracy) : 플랫폼에서 처리된 결과가 올바른 값에 근접했는가 측정하는 정도

 

 

 

프레임 워크

 

정의
  • Frame+work: 일정하게 짜여진 틀에서 일하는 것
  • 목적 달성 위해 복잡하게 연결되어 있으며 문제 해결위한 구조이자 s/w 개발의 뼈대
소프트웨어 프레임 워크
  • 응용 프로그램 개발/문제 해결 위해 설계와 구현 재사용 가능한 형테로 제공하는 소프트웨어 환경
  • 효율적 정보 시스템 개발 위한 코드 라이브러리, app interface, 설정 정보 등의 집합으로 재사용 가능하도록 소프트웨어 구성에 필요한 기본 뼈대 제공
  • 여러 형태의 컴포넌트
  • 불완전한 제품으로 개발자 코드나 사용자 데이터 필요
특징

모재확제
  • 모듈화(Modularity) : 전체 프로그램이 단일 기능 갖출 수 있도록 부분적으로 묶어 처리
  • 재사용성(Reusability) : 전체나 일부 소프트웨어가 다른 응용 목적으로 사용 가능
  • 확장성(Extensibility) : 추가적 설계 없이 가능한 확장 용이성
  • 제어 역 흐름(inversion of control) : 소프트웨어 프레임워크 코드가 전체 애플리케이션의 처리 흐름을 제어하여 다형성 통해 확장한 메소드 호출로 제어->소프트웨어 프레임 워크->애플리케이션 역흐름
기대 효과

변개유품재상표
  • 변경 용이성 : 부담없이 새로운 기능 추가/변경
  • 개발 용이성 : 공통적으로 필요한 기능들 미리 제공받아 빠른 개발
  • 유지보수 용이성 : 체계적이고 안정적으로 변경되어도 위험 부담 줄여짐
  • 품질 보증 : 오류 발생 가능성 최소화
  • 재사용성 향상 : 타 사업에서 쉽게 사용 가능(중복 예산 절감)
  • 상호 운용성 향상 : 전자 정부 표준 프레임 워크 기반으로 개발된 시스템 간의 컴포넌트 연계 용이
  • 표준화율 향상 : 정형화된 개발 기술/방법 제공으로 설계, 개발 등 시스템 구축 전반의 표준 제시

 

 

 

기업용 소프트웨어

 

오피스 웨어
(OfficeWare)
  • 회사/단체 업무 사용
  • 워드 프로세서, 프레젠테이션, 스프레드 시트 등의 업무용 오피스 소프트웨어+그룹 웨어
  • 조직 업무 활동 지원
ERP
(Enterprise Resource Planning)
  • 신속한 의사 결정위한 소프트웨어
  • 경영 활동 프로세스 통합 연계, 관리
  • 정보 공유, 새로운 정보 생성, 의사 결정 도와주어 자원 관리
SCM
(Supply Chain Management)
  • 부품 공급자 지원물류의 흐름을 하나의 가치 사슬 관점에서 파악, 필요 정보 흐르도록 지원하는 기술
BI
(Business Intelligence)
  • 의사 결정 지원
  • 데이터 수집, 정리, 분석, 활용
CRM
(Customer Relationship Management)
  • 고객 특성에 기초한 마케팅 활동 지원
  • 신규 고객 획득/기존 고객 유지/수익성 증ᅂᅢ 목적으로 고객 관련 자료 분석

 

 

 

컴포넌트(Component)

개념
  • 모듈(module): 부품화된 프로그램
  • 라이브러리(Library): 모듈들의 집합
  • 컴포넌트(Component): 라이브러리를 기능별로 분류한 집합
  • 독립적으로 사용 가능
설계 시 협약
(contract)
  • 컴포넌트 오퍼레이션 사용 전에 참이 되어야 할 선행 조건
  • 사용 후 만족되어야 할 결과 조건
  • 오퍼레이션이 실행되는 동안 항상 만족되어야 할 불변 조건
CBD
(Componenet Based
Development)
  • 재사용 가능한 컴포넌트 기반 개발 방법론
  • 컴포넌트 조합 후 하나의 애플리케이션 만드는 방법론
  • 개발 기간 단축
  • 유지 보수 비용 최소화
  • 시스템 구축, 새로운 기능 추가 및 확장 용이
  • 개발 공정
    • 요구 파악: 요구사항 기술서, 용어 사전, 개념 모델, 유스케이스 모델
    • 분석 및 설계: 객체 모델,  UI 설계서, 아키텍처 기술서, 인터페이스 명세서, 컴포넌트 명세서, 컴포넌트 설계서, 데이터베이스 설계서
    • 구현: 개발 표준 정의서, 플랫폼 종속적 코드
    • 테스트: 테스트 계획서, 컴포넌트 테스트 보고서, 통합 테스트 보고서, 인수테스트 보고서

 

 

 

소프트웨어 공학(SE: Software Engineering)

 

개념
  • 최소 비용으로 고품질 S/W 개발 위한 도구 및 방법론
  • S/W 위기 극복 위해 연구하는 학문
기본 원칙
  • 현대적 프로그래밍 기술 적용
  • 지속적인 검증 시행
  • 명확한 기록 유지
  • 고품질 상품 개발
등장 배경
  • 개발에 필요한 시간/비용 예측력 부족
  • 개발된 S/W 품질 수준 부족
  • H/W에 대한 S/W의 상대적 비용 커짐
  • 유지 보수 역할 증대
  • 기술의 급속한 발전
  • 크고 복잡한 S/W 수요 증가
  • 특정 개인에 의존한 시스템 개발
S/W 공학의 도입
  • 생산성/신뢰성 높이기 위한 기법/원리
  • 방법: S/W 구축 방법 제공
  • 도구: 자동화된 도구 지원
  • 절차: 방법과 도구 결합

 

 

 

Reference

https://book.naver.com/bookdb/book_detail.naver?bid=17134434 

 

이기적 정보처리기사 필기 기본서

- 기초부터 탄탄히 잡아주는 영진닷컴의 이기적 수험서!영진닷컴이 자랑하는 수험서 브랜드 ‘이기적’ 시리즈는 쉽고 풍부한 내용으로 기초부터 튼튼하게 쌓아주는 합격의 동반자입니다. 기

book.naver.com

 

반응형