TY blog

소프트웨어 요구공학 본문

소프트웨어 공학

소프트웨어 요구공학

주짓수하는 개발자 2023. 9. 19. 21:29
1. 요구공학 

 

1. 요구사항 (requirements)

 - 시스템이 제공하는 서비스(service)와 서비스에 대한 제약조건(constraints)

 

2. 요구공학(requirements engineering)

 - 시스템이 제공해야 하는 서비스를 이해하고 정의하며 시스템의 운영과 개발에 대한 제약조건을 찾아내는 프로세스

 - 요구공학 이전에 타당성 조사(feasibility study)나 마케팅 조사를 수행할 수 있다.

 

3. 타당성 조사 (feasibility study)

 - 요구공학 프로세스 초기의 짧은 기간 동안 진행

 - 시스템이 기술적 / 재정적으로 타당한지 평가하여 프로젝트 진행 여부를 결정 

 

2. 요구공학 프로세스의 주요 활동 

 

1. 요구사항 도출과 분석 (requirements elicitation and analysis)

 - 기존 시스템을 관찰, 사용자와 토의, 업무 분석 등을 통해 요구사항을 도출

 

2. 요구사항 명세화 (requirements specification)

 - 요구사항 문서를 작성(사용자 요구사항, 시스템 요구사항)

 

3. 요구사항 검증(requirements validation)

 - 요구사항의 현실성(realism), 일관성(consistency), 완전성(completeness) 을 검사 

 

3. 요구사항의 타입 

 

1. 사용자 요구사항(user requirements)

 - 사용자가 원하는 요구사항

 

2. 시스템 요구사항(system requirements)

 - 시스템이 제공해야 할 내용을 상세하게 기술한 요구사항

 - 시스템의 기능, 서비스, 제약조건을 구조화된 문서로 작성 

 

4. 기능적/비기능적 요구사항 

 

1. 기능적 요구사항

 - 시스템이 제공해야 하는 서비스(service), 시스템이 특정 입력/상황에 어떻게 반응/행동하는지

 - 무엇을 해야 한다, 무엇을 하지 말아야 한다. 

 - 시스템의 기능(functionality)이나 서비스(services)를 기술한다.

 

EX) 커피 키오스크는 카드결제를 할 수 있어야 한다. 

 

기능적 요구사항은 스토리와 시나리오를 통해 도출할 수 있다. 

 

1.1) 시나리오

 - 사용자 상호 작용이 이루어지는 일정 구간에 대한 사례를 구조적으로 설명 

 

1.2) 시나리오의 구성

 - 시나리오가 시작될 때 시스템과 사용자가 기대하는 것에 대한 설명 - 시스템 사용의 목적 

 - 정상적인 사건 흐름에 대한 설명

 - 비정상적인 경우와 이에 대한 대처 방안에 대한 설명

 - 동시에 진행할 수 있는 다른 활동에 대한 정보

 - 시나리오가 끝날 때 시스템 상태에 대한 설명

 

2. 비기능적 요구사항

 - 시스템이 제공하는 서비스 또는 기능에 대한 제약조건(constraints), 개발 프로세스나 표준에 대한 제약조건

 - 개별 특징이나 서비스보다는 시스템 전체에 적용되는 경우가 많음 

 - 전체 시스템에 대한 명세나 제약조건

 - 신뢰성, 응답시간, 메모리 사용량 등 창발적(emergent) 시스템 속성과 관련된 제약

 - I/O 장치 성능, 다른 시스템과 인터페이스에 사용되는 데이터 표현 등 시스템 구현과 관련된 제약사항

 

EX)  커피 키오스크는 24시간 내내 작동이 되어야 한다. 

 

비기능적 요구사항의 종류 

 

제품 요구사항(product requirements) 소프트웨어의 실행시간 동작에 대한 제약조건 
EX) 성능(속도, 용량), 신뢰성, 보안, 사용성 등
조직 요구사항(organisational requirements) 고객과 개발자 조직의 정책이나 절차로부터 오는 요구사항
EX) 운영 프로세스, 개발프로세스, 개발환경, 프로세스 표준, 운영환경 등
외부 요구사항(external requirements) 시스템과 개발 프로세스 외부로부터 오는 광범위한 요구사항
EX) 규제, 법률, 윤리 등 

 

 

* 참고문헌 : (주)한티에듀 소프트웨어공학 제10판 

'소프트웨어 공학' 카테고리의 다른 글

소프트웨어 재공학  (0) 2023.11.07
소프트웨어 개발 테스팅  (0) 2023.10.17
소프트웨어 아키텍처 설계  (0) 2023.10.10
소프트웨어 시스템 모델링  (0) 2023.10.03
소프트웨어 공학 프로세스  (0) 2023.09.13
Comments