기술사시험/123회
2교시 1번 SW 공학
SWExpert
2022. 10. 28. 23:35
1. 다음의 개념에 대하여 설명하시오.
가. 소프트웨어의 주요 특성과 공학의 발전원리
나. 소프트웨어 공학이 다루는 주제와 그 목표
다. 좋은 소프트웨어의 조건들과 개발에 영향을 미치는 요인들
I. 소프트웨어의 주요 특성과 공학의 발전원리
가. 소프트웨어의 주요 특성
특성 | 설명 |
비가시성 | 소프트웨어의 생산물 구조가 외부에 노출되지 않고 내재되어 있음 |
복잡성 | 정형적 구조가 없어 개발과정이 복잡하고 전산화 대상업무, 소프트웨어 시스템 자체가 난해함 |
유연성 | 필요에 따라 항상 수정이 가능, 수학이나 물리학에서 볼 수 있는 규칙적이고 정형적인 구조가 없음, 요구나 환경의 변화에 따라 적절히 변경 |
무형 | 매우 중요하나 사실 형체가 없는 무형성 때문에 fp 등으로 유형화하려는 노력 |
장수 | 소프트웨어는 외부의 환경에 의해서 마모되는 것이 아니라 품질이 나빠지는것 |
복제가능 | 소프트웨어는 간단하고 쉬운 방법으로 복제 가능, 다양한 경로와 노력으로 복제가 가능 |
-시스템 대규모화에 따라 소프트웨어의 신뢰성 저하, 개발비의 증대, 계획의 지연 등의 현상이 현저히 발생하여 소프트웨어의 위기 발생
나. 소프트웨어 공학의 발전 원리
II. 소프트웨어 공학이 다루는 주제와 그 목표
가. 소프트웨어 공학이 다루는 주제
주제 | 의미 | 사례 |
방법 | 소프트웨어 제작에 사용하는 기법이나 절차 | 구조적 분석, 설계방법, 객체 지향분석, 설계방법 |
도구 | 자동화된 시스템 | 설계도구, 프로그래밍 도구, 테스트 도구 |
프로세스 | 도구와 기법을 사용하여 작업하는 순서 | Unified Process, Extreme programmig |
패러다임 | 접근 방법, 스타일 | 구조적 방법론, 객체지향 방법론 |
-소프트웨어 공학의 적용을 통해 QCD의 만족을 목표로 함
나 소프트웨어 공학의 목표
목표 | 필요기법 |
고품질 소프트웨어의 생산 | 요구사항 관리, 품질 관리 |
사용자 만족도 증진 | 요구사항 관리, 품질관리 |
정해진 비용, 기간, 자원으로 소프트웨어 생산 | 정해진 비용, 기간, 자원으로 소프트웨어 생산 |
소프트웨어 생산 프로세스 수행 능력 개선 | 요구사항 관리, 적정한 SDLC |
생산성 향상 | 요구사항 관리, 부품화, 모듈화, 패턴화 기법 |
-소프트웨어 공학의 목표는 좋은 품질과 생산성의 향상에 있음
III. 좋은 소프트웨어의 조건들과 개발에 영향을 미치는 요인들
가. 좋은 소프트웨어의 조건들
좋은 소프트웨어의 조건들 | 설명 |
정확성 | 기능적으로 맞게 동작하는가, 표준에 적합한다 요구 분석서의 기능과 일치하는지 점검 |
신뢰성 | 소프트웨어의 주어진 기간 동안 바르게 작동할 확률 오류 발생 확률에 반비례 정확성 제공하기 위한 필요조건 |
강인성 | 요구명세에 표시하지 않은 상호아에서도 제대로 작동하는 성질 |
성능 | 수행속도, 데이터, 트랜잭션 처리량 알고리즘의 시간 복잡도 시뮬레이션, 스트레스 테스트 |
사용용이성 | 시스템을 친근하게 느낄 수 있는 성질 사용 대상에 따라 달라질 수 있음 사용자 인터페이스, Human Factor |
유지보수성 | 보수성: 정해진 기간에 소프트웨어 결함을 해결할 수 있는 성질 진화성: 잠재적 발전 가능성(추가 요구사항에 따라 기능이 진화할 수 있어야 함) |
재사용성 | 소프트웨어 부품의 성질 확장가능성, 적응성, 이용용이성 |
-좋은 소프트웨어는 사용자의 요구사항을 만족하고 정확하게 동작하며 쉬운 사용방법과 좋은 코드로 개발된 소프트웨어임
나 좋은 소프트웨어 개발에 영향을 미치는 요인들
구분 | 영향 요인 | 설명 |
관리측면 | 프로젝트 관리 기술 | 소프트웨어 개발관리 소프트웨어 프로세스 관리 CMM 모델 소프트웨어 품질관리 |
프로젝트의 성격 | 응용분야에 따라 성격이 달라짐 크기, 복잡도 |
|
인력 측면 | 의사소통 | 발주자는 컴퓨터 및 소프트웨어에 대한 지식이 부족하고 개발자는 발주자의 전문 분야에 대한 지식이 부족 요구취합방법 정형적 방법 |
프로그래머의 역량 | 전체 품질이나 일정에 영향 프로그래머의 능력 소프트웨어 공학의 체계적이고 조직적인 접근법을 통하여 일정 부분 상쇄가 가능 |