기술사시험/123회

2교시 1번 SW 공학

SWExpert 2022. 10. 28. 23:35

1. 다음의 개념에 대하여 설명하시오.
가. 소프트웨어의 주요 특성과 공학의 발전원리
나. 소프트웨어 공학이 다루는 주제와 그 목표
다. 좋은 소프트웨어의 조건들과 개발에 영향을 미치는 요인들

 

I. 소프트웨어의 주요 특성과 공학의 발전원리

가. 소프트웨어의 주요 특성

특성 설명
비가시성 소프트웨어의 생산물 구조가 외부에 노출되지 않고 내재되어 있음
복잡성 정형적 구조가 없어 개발과정이 복잡하고 전산화 대상업무, 소프트웨어 시스템 자체가 난해함
유연성 필요에 따라 항상 수정이 가능, 수학이나 물리학에서 볼 수 있는 규칙적이고 정형적인 구조가 없음, 요구나 환경의 변화에 따라 적절히 변경
무형 매우 중요하나 사실 형체가 없는 무형성 때문에 fp 등으로 유형화하려는 노력
장수 소프트웨어는 외부의 환경에 의해서 마모되는 것이 아니라 품질이 나빠지는것
복제가능 소프트웨어는 간단하고 쉬운 방법으로 복제 가능, 다양한 경로와 노력으로 복제가 가능

-시스템 대규모화에 따라 소프트웨어의 신뢰성 저하, 개발비의 증대, 계획의 지연 등의 현상이 현저히 발생하여 소프트웨어의 위기 발생

 

나. 소프트웨어 공학의 발전 원리

II. 소프트웨어 공학이 다루는 주제와 그 목표

가. 소프트웨어 공학이 다루는 주제

주제 의미 사례
방법 소프트웨어 제작에 사용하는 기법이나 절차 구조적 분석, 설계방법, 객체 지향분석, 설계방법
도구 자동화된 시스템 설계도구, 프로그래밍 도구, 테스트 도구
프로세스 도구와 기법을 사용하여 작업하는 순서 Unified Process, Extreme programmig
패러다임 접근 방법, 스타일 구조적 방법론, 객체지향 방법론

-소프트웨어 공학의 적용을 통해 QCD의 만족을 목표로 함

나 소프트웨어 공학의 목표

목표 필요기법
고품질 소프트웨어의 생산 요구사항 관리, 품질 관리
사용자 만족도 증진 요구사항 관리, 품질관리
정해진 비용, 기간, 자원으로 소프트웨어 생산 정해진 비용, 기간, 자원으로 소프트웨어 생산
소프트웨어 생산 프로세스 수행 능력 개선 요구사항 관리, 적정한 SDLC
생산성 향상 요구사항 관리, 부품화, 모듈화, 패턴화 기법

-소프트웨어 공학의 목표는 좋은 품질과 생산성의 향상에 있음

 

III. 좋은 소프트웨어의 조건들과 개발에 영향을 미치는 요인들

가. 좋은 소프트웨어의 조건들

좋은 소프트웨어의 조건들 설명
정확성 기능적으로 맞게 동작하는가, 표준에 적합한다
요구 분석서의 기능과 일치하는지 점검
신뢰성 소프트웨어의 주어진 기간 동안 바르게 작동할 확률
오류 발생 확률에 반비례
정확성 제공하기 위한 필요조건
강인성 요구명세에 표시하지 않은 상호아에서도 제대로 작동하는 성질
성능 수행속도, 데이터, 트랜잭션 처리량
알고리즘의 시간 복잡도
시뮬레이션, 스트레스 테스트
사용용이성 시스템을 친근하게 느낄 수 있는 성질
사용 대상에 따라 달라질 수 있음
사용자 인터페이스, Human Factor
유지보수성 보수성: 정해진 기간에 소프트웨어 결함을 해결할 수 있는 성질
진화성: 잠재적 발전 가능성(추가 요구사항에 따라 기능이 진화할 수 있어야 함)
재사용성 소프트웨어 부품의 성질
확장가능성, 적응성, 이용용이성

-좋은 소프트웨어는 사용자의 요구사항을 만족하고 정확하게 동작하며 쉬운 사용방법과 좋은 코드로 개발된 소프트웨어임

나 좋은 소프트웨어 개발에 영향을 미치는 요인들

구분 영향 요인 설명
관리측면 프로젝트 관리 기술 소프트웨어 개발관리
소프트웨어 프로세스 관리
CMM 모델
소프트웨어 품질관리
프로젝트의 성격 응용분야에 따라 성격이 달라짐
크기, 복잡도
인력 측면 의사소통 발주자는 컴퓨터 및 소프트웨어에 대한 지식이 부족하고 개발자는 발주자의 전문 분야에 대한 지식이 부족
요구취합방법
정형적 방법
프로그래머의 역량 전체 품질이나 일정에 영향
프로그래머의 능력
소프트웨어 공학의 체계적이고 조직적인 접근법을 통하여 일정 부분 상쇄가 가능