본문 바로가기

백엔드 개발자 기록 일람/정보처리기사 준비 기록

소프트웨어 공학의 개념

※소프트웨어의 개념

· 소프트웨어: 컴퓨터를 동작시키고 어떤   일의 처리 순서와 방법을 지시하는 명령어의 집합인 프로그램과 프로그램의 수행에 필요한 절차, 규칙, 관련 문서 등을 총칭한다.

·프로그램: 컴퓨터를  통해 일련의 작업을 처리하기 위한 명령어와 관련된  데이터의 집합을 의미한다.

·자료 구조: 컴퓨터 기억 장치 내에 자료의 표현, 처리, 저장 방법 등을 총칭하는 것으로 데티어 간의 논리적 관계나 처리 알고리즘을 의미한다.

문서 : 소프트웨어를 개발함에 있어서 사용자 설명서, 소프트웨어 요구  분석서, 평가서, 명세서, 프로젝트 계획서,  검사 계획서 등을 의미한다.

 

※ 소프트웨어의 특징

·상품성: 소프트웨어를 개발하면 상품이 되어 판매가 된다.

·복잡성: 개발하는 과정이 복잡하고 관리가 어렵다.

·변경 가능성: 프로그램을 일부 수정하여 업그레이드 및 오류 수정 등을 할 수 있다.

· 복제성: 복제가 용이해 쉽게 복사, 유통이 가능하다.

 

시스템의 개요와 기본요소

 

·시스템:: 컴퓨터로 하나의 목적을 가지고  처리 가능한 자료를 입력하고 저장, 처리, 가공해 출력할 수 있는 등, 다양한 요소를 유기적으로 결합해 설계/구현된 정보체계. 시스템은 기본적으로 입력, 처리, 출력, 제어, 피드백으로 이어진다.

 

소프트웨어의 위기

 

컴퓨터의 발달과정에서 소프트웨어의 개발 속도가 하드웨어의 개발 속도를 따라가지 못해 사용자들이 요구사항을 감당할 수 없는  문제가 발생함을 의미한다. 그 위기의 원인은 크게 5가지이다.

1. 하드웨어 비용을 초과하는 개발 비용의 증가

2. 개발 기간의 지연

3. 개발 인련  부족 및 인건비 상승

4. 성능 및 신뢰성 부족

5. 유지보수의 어려움에 따른 엄청난 비용.

 

 

소프트웨어 공학의이해

 

소프트웨어 공학이란, 경제적으로  신뢰도가 높은 소프트웨어를 만들기 위한 방법, 도구와 절차들을 아우르는 체계를 말한다. IEEE(전기전자학회[U.S.A])는 소프트웨어의 개발과 운용, 유지보수 및 파기에 대한 체계적인 접근 방법이라 정의하였다.

 

소프트웨어 공학의 기본 원칙

 

소프트웨어 공학의 기본 원직은 우선 현대적인 프로그래밍 기술을 적용한다, 그리고 사용의 편리성, 유지보수성이 높아야 하며 지속적인 검증 시행을 통해 신뢰성을 검증이 필요하며, 결과에따른 명확한 기록을 유지해야한다. 그다음으론 시스템의 안정성과  보안이 있으며, 언어와 알고리즘의 최신화를 확인. 소프트웨어 개발 비용의 최소화를 생각하며, 그 과정의 문서화로 명확성과  유지보수의 용이함을 유지하도록 한다.

 

소프트웨어의 공학 계층  구조

 

· 도구: 프로세스와 방법을 처리하는 기능을 제공하는 것.

· 방법론: 소프트웨어를 설계하는데 기술적인 방법을 제공하는 것.

·프로세스 : 소프트웨어의 가장 기초가 되며 개발에 사용되는 방법론과 도구가 적용되는 순서를 의미한다.

 

소프트웨어 품질

· 클라이언트의 요구사항에 따라 개발되어야 한다.

· 유지보수가 용이해야한다.

· 정확성과 신뢰성이 놓아야 한다.

· 원하는 시간에 원하는 기능을 수행할  수 있어야한다.

 

소프트웨어 공학의목표

소프트웨어의 생상성과 품질을 향상시키며, 최소의 비용으로 단기간에 시스템에 적합한 소프트웨어를 개발하는 것이 궁극적인 목표이다.

'백엔드 개발자 기록 일람 > 정보처리기사 준비 기록' 카테고리의 다른 글

현황 시스템 분석  (0) 2024.01.18
SCRUM  (1) 2024.01.16
애자일 개발 방법론과 XP  (0) 2024.01.15
소프트웨어 설계 방법론  (0) 2024.01.11
재공학  (1) 2024.01.09