티스토리 뷰
2022년 정보처리기사 필기
(수제비 2021년 필기책 보고 공부하며 요약한 내용입니다.)
http://www.yes24.com/Product/Goods/96051171
1. 소프트웨어 설계
Cp4. 인터페이스 설계
1. 내,외부 인터페이스 요구사항
: 시스템들이 상호접속을 통하여 특정 기능을 수행하기 위한 접속 방법이나 규칙에 대한 필수적 요구사항
: 인터페이스이름, 연계 대상 시스템, 연계 범위 및 내용, 연계 방식, 송신 데이터, 인터페이스 주기, 기타 고려사항으로 구성됨.
1-1. 내외부 인터페이스 요구사항의 분류
1) 기능적 요구사항: 내외부 인터페이스 연계를 통해 수행될 기능과 관련되어 소프트웨어가 가져야 하는 기능적 속성에 대한 요구사항
2) 비기능적 요구사항: 내외부 인터페이스 연계 시의 성능, 사용의 용이성, 신뢰도, 보안성, 운용상의 제약, 안전성 등 시스템 전반과 관련된 요구사항
구분 | 기능적 요구사항 | 비기능적 요구사항 |
개념 | 시스템이 제공하는 기능, 서비스에 대한 요구사항 | 시스템이 수행하는 기능 이외의 사항. 시스템 구축에 대한 제약사항에 관한 요구사항 |
도출방법 | 입력에 대한 반응 기술 시스템 동작 기술 |
품질 속성에 관련해서 시스템이 갖춰야할 사항 기술 시스템이 준수해야할 제한 조건에 관해 기술 |
특성 | 기능성, 완전성, 일관성 | 신뢰성, 사용성, 효율성, 유지보수성, 이식성, 보안성 미 ㅊ품질관련 요구사항, 제약사항 |
1-2. 내외부 인터페이스 요구사항 분석 방안
- 내외부 인터페이스 관련 요구사항 식별 및 분류 프로세스
1) 요구사항 식별
2) 내외부 인터페이스 관련 명세서 및 현황 자료 준비
3) 기능요구사항 및 비기능 요구사항 분류
-내외부 인터페이스 요구사항 명세서 구체화
1) 요구사항 정의서 세분화
2) 내외부 인터페이스 요구사항 이해 및 수정
3) 누락된 요구사항 신규 정의
4) 내외부 인터페이스 요구사항 정리, 우선순위 표기
2. 요구공학
: 사용자 요구가 반영된 시스템을 개발하기 위하여 요구사항에 대한 도출, 분석, 명세, 확인, 검증하는 구조화된 활동
: 요구사항 누락 방지 및 이해 오류로 인한 불필요한 비용을 절감하고 요구사항 변경 추적을 가능하게 함.
: 초기 요구사항 관리로 개발비용과 시간을 절약하고 효과적인 의사소통수단을 제공함
2-1. 요구공학 프로세스
: 요구사항 개발단계와 요구사항 관리 단계로 구성됨.
1) 요구사항개발(CMM 레벨3 프로세스 영역)
: 요구사항 도출, 분석, 명세, 확인 및 검증 단계로 구성
- 요구사항 개발 절차
순서 | 절차 | 내용 |
1 | 요구사항 도출 | - 소프트웨어가 해결해야할 문제를 이해하고, 요구사항을 식별, 수집 방법 결정, 요구사항을 구체적으로 표현하는 단계 - 이해관계자가 식별됨 - 고객분석, 조직환경 분석, 후보 요구사항 분류 및 정제 등 |
2 | 요구사항 분석 | - 요구사항 충돌, 중복, 누락 등의 분석을 통해 완전성과 일관성 확보 - 요구사항 상충을 해결하고, 소프트웨어 범위를 파악하며 환경과 어떻게 상호작용하는지 이해함 - 시스템 요구사항 정제, 요구사항 정의, 후보 요구사항 모델링, 우선순위 부여, 릴리즈 요구사항 선정, 협의 등 |
3 | 요구사항 명세 | - 검토, 평가, 승인 문서 작성 - 동의한 요구사항을 하나 이상의 형태로 저장하여 정형화된 요구사항을 생성함 - 요구사항 명세 기준 정의, 명세서 작성, 요구사항 추적 관련 정보 저장 |
4 | 요구사항 확인 및 검증 | - 요구사항 이해했는지 확인하고, 요구사항 문서가 표준에 적합하고 일관성있고 안전한지 검증함 - 요구사항 명세서 검토, 요구사항 용어 검증, 요구사항 베이스라인 수립 - 이해관계자들이 요구사항 문서 검토 및 요구사항 관리 툴을 이용하여 요구사항 정의 문서들에 대한 형상 관리 수행 - 리소스가 요구사항에 할당되기 전에 문제 파악 위해 검증 수행 |
- 요구사항 명세 원리 및 검증 항목
(1) 명확성: 각 요구사항 명세 내용은 하나의 의미만 부여
(2) 완전성: 기능, 성능, 속성, 인터페이스, 설계 제약 등에 관한 모든 시스템
(3) 검증 가능성: 요구사항 내용의 충족 여부와 달성 정도에 대한 확인이 가능해야함
(4) 일관성: 요구사항의 내용 간 상호모순이 없어야 함
(5) 수정 용이성: 요구사항 변경 시 쉽게 수정 가능해야 함
(6) 추적 가능성: 각 요구사항 근거에 대한 추적과 상호참조가 가능해야 함
(7) 개발 후 이용성: 시스템 개발 후 운영 및 유지보수에 효과적인 이용이 가능해야 함
2) 요구사항관리(CMM 레벨2 프로세스 영역)
: 요구사항 변경에 대해 일치성, 무결성을 제공하기 위해 변경제어와 추적 등 관리를 수행함
: 주요 산출물로 요구사항 변경요청서, 요구사항 변경승인서, 요구사항 추적표가 있음
순서 | 절차 | 내용 | 기법/산출물 |
1 | 요구사항 협상 | 가용한 자원과 수용 가능한 위험 수준에서 구현 가능한 기능을 협상 | 우선순위 결정 시뮬레이션 |
2 | 요구사항 기준선 설정 | 공시 검토되고 합의된 요구사항 명세서 | 공식 회의 형상 관리 |
3 | 요구사항 변경 관리 | 요구사항 기준선을 기반으로 모든 변경을 공식적으로 통제 | 형상통제 위원회 영향도 분석 |
4 | 요구사항 확인 및 검증 | 구축된 시스템이 요구사항에 부합하는 지 확인 | 확인 및 검증 |
2-2. 요구사항 개발단계 상세 설명
1) 요구사항 도출 단계
: 소프트웨어가 해결해야할 문제를 이해하고, 고객의 요구에 대해 정보를 식별하고 수집방법 결정, 수집된 요구사항을 구체적으로 표현하는 단계
(1) 인터뷰: 이해관계자와 직접 대화를 통해 정보를 구하는 공식/비공식적 정보 수집 방법
(2) 브레인스토밍: 회의 참석자들이 내놓은 아이디어를 비판없이 수용할 수 있도록 하는 회의
(3) 델파이 기법: 전문가의 경험적 지식을 통한 문제 해결 및 미래예측을 위한 기법
(4) 롤 플레잉: 현실에 일어나는 장면을 설정하고 여러 사람이 각자가 맡은 역을 연기하여 요구사항을 분석하여 수집하는 방법
(5) 워크숍: 단기간 노력을 통해 다양하고 전문적인 정보를 획득하고 공유
(6) 설문조사: 개발될 시스템의 사용자가 다수일 때 의견 수렴에 용이
2) 요구사항 분석 단계
: 추출된 요구사항에 대해 충돌, 중복, 누락 등 분석을 통해 완전성, 일관성 확보
순서 | 요구사항 분석단계 절차 | 설명 |
1 | 요구사항 분류 | 요구사항이 기능인지 비기능인지 확인 요구사항이 소프트웨어에 미치는 영향의 범위를 파악 요구사항이 소프트웨어 생명주기동안 변경이 발생하는지를 확인 |
2 | 개념 모델링 생성 및 분석 | 개념모델은 문제 도메인의 엔티티들과 개별 관계 및 종속성을 반영 |
3 | 요구사항 할당 | 요구사항을 만족시키기 위한 아키텍처 구성요소를 식별 다른 구성요소와 어떻게 상호작용하는지 분석을 통해 추가적인 요구사항 발견 가능 |
4 | 요구사항 협상 | 요구사항이 상충되는 경우 적절지점에서 합의 요구사항에 우선순위 부여하여 상충되는 문제 해결 |
5 | 정형 분석 | 정의된 의미를 지닌 언어로 요구사항 표현 구문(syntax)과 의미(semantics)를 갖는 정형화된 언어를 사용하여 수학적 기호로 표현 요구사항 분석의 마지막 단계에서 이루어짐 |
: 요구사항 분석단계 기법에는 자료흐름지향분석, 객체지향 분석이 있음.
요구사항 분석 단계 기법 | 설명 |
자료 흐름 지향 분석 | 데이터 흐름도(DFD) 및 자료사전으로부터 소프트웨어 구조를 유도하는 방법 |
객체지향 분석 | 시스템의 기능과 데이터를 함께 분석, UML로 표준화 |
3) 요구사항 명세 단계
: 검토, 평가, 승인될 수 있는 문서를 작성
요구사항 명세 주요 기법 | 설명 |
비정형 명세 기법 | 요구를 자연어기반으로 서술 사용자와 개발자의 이해가 용이하며 명확성 및 검증에 문제가 발생할 수 있음 |
정형 명세 기법 | 요구를 수학적 원리와 표기법을 이용 정형 명세 언어인 Z-스키마, petri Nets 활용 표현이 간결, 명확성 및 검증이 요이 기법의 이해가 어려움 |
4) 요구사항 확인 및 검증단계
: 요구사항 명세서에 요구가 올바르게 기술되었는지 검토, 베이스라인을 설정함
요구사항 문서가 회사의 표준에 적합하고 ,일관성있고, 완전한지 검증
순서 | 요구사항 확인 및 검증 절차 | 설명 |
1 | 요구사항 목록 확인 | 요구사항 목록에서 업무 기능에 대한 요구사항 반영 여부 확인 |
2 | 요구사항 정의서 작성 여부 확인 | 요구사항 정의서에서 시스템 동작 방식을 명확히 기술하고 있는지 확인 |
3 | 비기능적 요구사항 확인 | 시스템 특성, 품질, 제약사항 등 비기능적 요구사항이 명확하게 도출되었는지 확인 성능, 가용성, 사용용이성, 유지보수 용이성, 안전성, 보안성 등에 대한 요구사항 문서화 여부 확인 |
4 | 타시스템 연계 및 인터페이스 요구사항 확인 | 타 시스템 또는 하위 시스템 등과의 모든 인터페이스 요구사항이 정의되어 있는지 확인 인터페이스 구분(내외부, 주기, 방법 등 정확하게 정의되어 있는지 확인 |
- 요구사항 확인 및 검증 단계의 주요 기법/산출물
주요기법 | 설명 |
요구사항검토 | 에러, 잘못된가정, 불명확성, 표준과의 차이 검토 |
정형 기술 검토 활용 | 동료검토 : 2~3명이 진행하는 리뷰 형태 요구사항 명세서 작성자가 설명하고, 이해관계자들이 들으면서 결함 발견하는 형태 |
워크스루 : 오류를 조기에 검출하는데 목적 검토자료를 회의전 배포해서 사전검토 후 단시간동안 회의 진행, 리뷰통해 오류검출 및 문서화 |
|
인스펙션 : 소프트웨어 요구, 설계, 원시 코드 등 저작자 외의 다른 전문가가 검사해 오류 찾아내는 공식적 검토 방법 | |
프로토타이핑 활용 | 일부를 개발해 시연하면서 시스템 작동을 경험하게 해주며 요구사항 확인 요구사항이 잘못된 경우 유용한 피드백 제공 사용자 인터페이스의 동적인 행위에 대한 이해가 문서나 그래픽 모델보다 용이 |
모델검증 | 분석단계에서 개발된 모델의 품질 검증 필요 객체모델의 경우 객체사이 의사소통 경로 검증위해 정적 분석 수행에 유용 |
테스트 케이스 및 테스트를 통한 확인 | 테스트케이스 생성 후 단계별 테스트 및 인수테스트에서 활용 인수테스트에는 알파/베타테스트가 있음 |
케이스 도구 활용 검증 | 구조화된 요구사항 명세서에 대해 자동화된 일관성 분석을 제공하는 케이스도구 활용 가능 대규모 개발 프로젝트에서 다양한 이해관계자들이 요구사항명세서 검토가 필요하기 때문에, 명세서 형상관리 수행이 가능한 케이스도구 이용 |
베이스라인을 통한 검증 | 요구사항 변경을 체계적으로 추적, 통제하는 시점인 베이스라인을 통해 요구사항 지속적 검증 수행 |
요구사항 추적표(RTM) | 요구사항 정의서를 기준으로 개발단계별 최종 산출물이 어떻게 반영되고, 변경되었는지 확인 가능한 문서 |