2023. 6. 28. 05:05ㆍ정보처리기사 - 필기
* 소프트웨어(Software)의 개념
- 컴퓨터를 동작시키고 어떤 일의처리 순서와 방법을 지시하는 명연어의 집합인 프로그램과 프로그램의 수행에 필요한 절차, 규칙, 관련 문서등을 총칭한다.
- 프로그램(Program): 컴퓨터를 통해 일련의 작업을 처리하기 위한 명령어와 관련된 데이터의 집합을 의마한다.
- 자료 구조(Data Structure): 컴퓨터 기억 장치 내에 자료의 표현, 처리, 저장 방법 등을 총칭하는 것으로 데이터 간의 논리적 관계나 처리 알고리즘을 의미한다.
- 문서(paper): 소프트웨어를 개발함에 있어서 사용자 설명서, 소프트웨어 요구 분석서, 평가서 등을 의미하게 된다.
* 소프트웨어의 특징
- 상품성: 소프트웨어를 개발하면 상품이 되어 판매가 된다.
- 복잡성: 개발하는 과정이 복잡하고 관리가 어렵다.
- 변경 가능성: 프로그램을 일부 수정하여 업그레이드 및 오류 수정등을 할 수 있다.
- 복제성: 복제가 용이해 쉽게 복사, 유통이 가능하다.
* 시스템(System)의 개요와 기본 요소
시스템의 개요
- 컴퓨터로 처리 가능한 자료를 입력하고 저장, 처리, 가공해 출력이 가능하도록 설계,구현되 정보 체계를 의미한다.
- 하나의 목적을 위해 다양한 요소가 유기적으로 결합된 것을 의미한다.
기본 요소
- 입력, 처리, 출력, 제어, 피드백으로 구성된다.
* 소프트웨어 위기(Software Crisis)
- 컴퓨터의 발달 과정에서 소프트웨어의 개발 속도가 하드웨어의 개발 속도를 따라가지 못해 사용자들의 요구사항을 감당할 수 없는 문제가 발생함을 의미한다.
소프트웨어의 발달 위기의 원인
- 하드웨어의 비용을 초과하는 개발 비용의 증가
- 개발 기간의 지연
- 개발 인력 부족 및 인건비 상승
- 성능 및 신뢰성 부족
- 유지보수의 어려움에 따른 엄청난 비용
* 소프트웨어 공학(Software Engineering)
- 경제적으로 신뢰도 높은 소프트웨어를 만들기 위한 방법, 도구와 절차들의 체계를 말한다.
- IEEE에서는 소프트웨어의 개발, 운용, 유지보수 및 파기에 대한 체계적인 접근 방법이라 정의하였다.
* 소프트웨어 공학의 기본 원칙
- 현대적인 프로그래밍 기술을 적용해야 한다.
- 신뢰성이 높아야 한다.
- 사용의 편리성과 유지보수성이 높아야 한다.
- 지속적인 검증 시행을 해야 한다.
- 결과에 대한 명확한 기록을 유지해야 한다.
- 사용자가 원하는 대로 동작해야 한다.
- 시스템의 안정성과 보안에 만전을 기한다.
- 최신 프로그램 언어, 최신 알고리즘 사용 현황을 확인한다.
- 소프트웨어 개발 비용을 최소화하도록 노력한다.
- 개발 단계와 소스 코드 등의 문서화를 통해 명확성을 유지하도록 한다.
* 공학적으로 좋은 소프트웨어의 조건
- 신뢰성이 높고 효율적이어야 하며, 사용자의 의도대로 동작해야 한다.
- 편리성 재공 및 잠재적 에러를 최소화해야 한다.
- 유지보수성이 용이해야 한다.
* 소프트웨어 공학 계층 구조
- 도구 : 프로세스와 방법을 처리하는 기능을 제공하는 것이다.
- 방법론: 소프트웨어를 설계하는 데 기술적인 방법을 제공하는 것이다.
- 프로세스: 소프트웨어의 가장 시초가 되며, 개발에 사용되는 방법론과 도구가 적용되는 순서를 의미한다.
*소프트웨어 품질
- 사용자의 요구대호 만들어져야 한다.
- 유지보수가 쉬워야 한다.
- 에러를 최소화해야 한다.
- 초반에 정한 비용에 맞춰 개발해야 한다.
- 정확한 결과를 도출하여야 한다.
* 소프트웨어 공학의 목표
- 최소의 비용으로 단기간에 시스템에 적합한 소프트웨어를 개발하는 것이다.
- 소프트웨어 제품의 품질을 향상시키고 소프트웨어 생산성과 작업 만족도를 증대시키는 것이 목적이다.
- 산뢰성이 있는 소프트웨어를 졍제적인 비용으로 획득하기 위해 공학적 원리를 정립하고 이를 이용하는 것이다.
* 연습문제
1. 소프트웨어의 특징에 대한 설명으로 옳지 않은 것은?
1. 소프트웨어 생산물의 구조가 코드 안에 숨어 있다.
2. 논리적 절차에 따라 개발한다.
3. 사용에 의해 마모되거난 소멸된다.
4. 요구나 환경의 변화에 따라 적절히 변형시킬 수 있다.
2. 시스템의 구성 요소로 볼 수 없는 것은?
1. Process
2. Feedback
3. Maintenance
4. Comtrol
3. 소프트웨어 위기를 가져온 원인으로 가장 옳지 않은 것은?
1. 소프트웨어 규모 증대와 복잡도에 따른 개발 비용 증가.
2. 프로젝트 관리 기술의 부재
3. 소프트웨어 개발 기술에 대한 훈련 부족
4. 소프트웨어 수요의 감소
4. 다음 중 공학적으로 잘 작성된 소프트웨어가 갖는 특성으로 가장 적합한 것은?
1. 원하는 요구사항 중에 중요한 사항만 반영한다.
2. 유지보수 비용이 많이 들어간다.
3. 신뢰성이 떨어지더라도 효율성이 높다.
4. 사용자가 손쉽게 사용할 수 있다.
5. 소프트웨어 공학의 기본 원칙이라고 볼 수 없는 것은?
1.품질 높은 소프트웨어 상품 개발
2. 지속적인 검증 시행
3. 결과에 대한 명확한 기록 유지
4. 최대한 많은 인력 투입
답. 3, 3, 4, 4, 4
'정보처리기사 - 필기' 카테고리의 다른 글
(정보처리기사-필기)-2장 재공학 (0) | 2023.07.02 |
---|