소프트웨어 설계 - 3

Date:     Updated:

카테고리:

태그:

img

소프트웨어 설계 - 3

Section 6

요구사항 정의

소프트웨어가 어떤 문제를 해결하기 위해

제공하는 서비스에 대한 설명과

정상적으로 운영되는데 필요한 제약조건.

요구사항 유형

✔ 기능 요구사항(Functional requirements)

✔ 비기능 요구사항(Non-Functional requirements)

✔ 사용자 요구사항(User requirements)

✔ 시스템 요구사항(System requirements)

요구사항은 크게 기능, 비기능으로 구분된다.

기능 요구사항은 기능에 관한 요구사항이고

비기능 요구사항은 품질, 제약사항에 관한 요구사항이다.

기능 요구사항(Functional requirements) 기능, 수행과 관련된 요구사항
비기능 요구사항(Non-Functional requirements) 품질, 제약사항과 관련된 요구사항
사용자 요구사항(User requirements) 사용자 관점에서 본 시스템이 제공해야 할 요구사항
시스템 요구사항(System requirements) 개발자 관점에서 본 시스템 전체가 사용자와 다른 시스템에 제공해야 할 요구사항

Section 7

요구사항 개발 프로세스

개발 대상에 대한 요구사항을

체계적으로 도출하고 분석한 후

명세서에 정리한 다음

확인 및 검증하는 활동.

개발 프로세스가 진행되기 전에

타당성 조사(Feasibility Study)가 선행되어야 한다.

요구사항 개발은

요구공학(Requirements Engineering)의 한 요소.

https://blog.kakaocdn.net/dn/OOTeJ/btrac728Pp8/8HHzL5EZHg6QF6AWW2soB1/img.png

요구사항 개발 프로세스

요구사항 개발 프로세스는 “출석명확”

요구사항 도출

(Requirements Elicitation, 요구사항 수집)

요구사항을 어떻게 수집할 것인지를

식별하고 이해하는 과정이다.

  • 요구사항을 도출하는 주요 기법

✔ 청취와 인터뷰

✔ 설문

✔ 브레인스토밍

✔ 워크샵

✔ 프로토타이핑

✔ 유스케이스

요구사항 분석

(Requirements Analysis)

요구사항 중 명확하지 않거나 모호해

이해되지 않는 부분을 발견하고

걸러내기 위한 과정이다.

요구사항의 타당성을 조사.

일정에 대한 제약을 설정

  • 요구사항 분석에 사용되는 대표적 도구

✔ DFD(Data Flow Diagram, 자료 흐름도)

✔ DD(Data Dictionary, 자료 사전)

요구사항 명세

(Requirements Specification)

분석된 요구사항을 바탕으로

모델을 작성하고 문서화하는 것을 의미한다.

기능 요구사항은 빠짐없이

비기능 요구사항은 필요한 것만 기술.

구체적 명세를 위해 소단위 명세(Mini-Spec)가

사용될 수 있다.

요구사항 확인

(Requirements Validation)

요구사항 명세서가 정확하고 완전하게

작성되었는지 검토하는 활동이다.

요구사항 명세 기법

  정형 명세 기법 비정형 명세 기법
기법 수학적 원리, 모델 기반 상태/기능/객체 중심
작성 방법 수학적 기호, 정형화된 표기법 일반 명사, 동사 등의 자연어 기반으로 서술다이어그램으로 작성
특징 요구사항을 정확, 간결하게 표현 가능
요구사항에 대한 결과가 작성자에 관계없이 일관성 있음
완전성 검증 가능표기법이 어려움
사용자가 이해 어려움
자연어 사용으로 요구사항에 대한 결과가 작성자에 따라 달라 일관성 떨어짐
해석이 달리 될 수 있음
내용의 이해가 쉬움 → 의사소통 용이
종류 VDM, Z, Petri-net, CSP FSM, Decision Table, ER모델링, State Chart(SADT)

Section 8

요구사항 분석

소프트웨어 개발의 실제적인 첫 단계.

개발 대상에 대한 사용자의 요구사항을 이해하고 문서화하는 활동을 의미한다.

구조적 분석 기법

자료의 흐름과 처리를 중심으로 하는

요구사항 분석 방법.

하향식 방법을 사용하여 시스템을 세분화할 수 있다.

분석의 중복을 배제할 수 있다.

  • 주요 구조적 분석 기법 도구

✔ 자료 흐름도(DFD)

✔ 자료 사전(DD)

✔ 소단위 명세서(Mini-Spec)

✔ 개체 관계도(ERD)

✔ 상태 전이도(STD)

✔ 제어 명세서

자료 흐름도(DFD, Data Flow Digaram)

자료의 흐름 및 변환 과정과 기능을 도형 중심으로 기술하는 방법.

자료 흐름 그래프, 버블 차트라고 한다.

자료 흐름도 기본 기호

https://blog.kakaocdn.net/dn/Ym0bc/btq98urKNTo/EMhCUsXvt3UUWHeMsVNG9K/img.png

자료 사전(DD, Data Dictionary)

자료 흐름도에 있는 자료를 더 자세히 정의하고 기록한 것이다.

  • 자료 사전에 사용되는 표기 기호
기호 의미
= 자료의 정의 : ~로 구성되어 있다(is composed of)
+ 자료의 연결 : 그리고(and)
( ) 자료의 생략 : 생략 가능한 자료(Optional)
[ ] 자료의 선택 : 또는(or)
{ } 자료의 반복 : Iteration of{ }₂ : 2번 이상 반복{ }² : 최대로 2번 반복
* * 자료의 설명 : 주석(Comment)

Section 9

요구사항 분석 CASE와 HIPO

요구사항 분석용 CASE(자동화 도구)

요구사항을 자동으로 분석하고, 요구사항 분석 명세서를 기술하도록 개발된 도구를 의미한다.

기호 의미
SADT 시스템 정의, 소프트웨어 요구사항 분석, 시스템/소프트웨어 설계를 위한 도구
SoftTech 사에서 개발구조적 요구 분석을 하기 위해 블록 다이어그램을 채택한 자동화 도구
SREM = RSL/REVS TRW 사가 실시간 처리 소프트웨어 시스템에서 요구사항을 명확히 기술하도록 할 목적으로 개발한 도구
RSL과 REVS를 사용하는 자동화 도구
PSL/PSA PSL과 PSA를 사용하는 자동화 도구미시간 대학에서 개발
TAGS 시스템 공학 방법 응용에 대한 자동 접근 방법개발 주기의 전 과정에 이용할 수 있는 통합 자동화 도구

HIPO(Hierarchy Input Process Output)

시스템 실행 과정인 입력, 처리, 출력의 기능을 표현한 것이다.

하향식 소프트웨어 개발을 위한 문서화 도구.

기능과 자료의 의존 관계를 동시에 표현할 수 있다.

기호, 도표 등을 사용하므로 보기 쉽고 이해하기 쉽다.

시스템의 기능을 여러 개의 고유 모듈로 분할하여 이들 간의 인터페이스 계층 구조로 표현한 것을 HIPO Chart라고 한다.

  • HIPO Chart의 종류

✔ 가시적 도표(Visual Table of Contents, 도식 목차)

✔ 총체적 도표(Overview Diagram, 총괄 도표, 개요 도표)

✔ 세부적 도표(Detail Diagram, 상세 도표)

info-process 카테고리 내 다른 글 보러가기

댓글 남기기