카테고리 없음

1과목 소프트웨어 설계 -요구사항 확인 - 분석 모델 확인

궁굼하다 2023. 6. 22. 06:02
728x90
반응형

1. 모델링 기법

(1) 모델링의 개념

  • 복잡한 시스템을 쉽게 이해하기 위해 불필요한 부분을 생략하고 추상화하여 간단한 모델로 표현하는 것을 의미
  • 소프트웨어를 구성하는 모듈들을 식별하고, 이것들의 연결을 그림으로 표현
  • 요구분석 과정에 의해 수집된 개념과 정보를 분석하여 UML과 같은 방법을 이용하여 모델로 비주얼화
그림으로 되어있기 때문에 관계자들끼리 커뮤니케이션이 편하다.

(2) 모델링이 주는 도움

  • 소프트웨어를 이해하는 데 도움
  • 이해관계자들 사이에서 문제를 해결 할 수 있도록 해준다.
  • 파악한 개념을 사용자와 고객에게 전달할 때 도움을 준다.
  • 설계, 구현, 테스팅, 유지보수에 개념적인 기준을 제공한다.

(3) 모델링 구분

기능적 모델링

  • 시스템의 기능을 사용자 관점에서 나타낸다.

정적 모델링(구조)

  • 객체 간의 관계를 나타낸다
  • 클래스 다이어그램을 주로 이용한다.

동적 모델링(행위, 흐름)

  • 시간의 흐름에 따라 객체들을 모델링한다.
  • 상태 다이어그램(상태도)을 주로 이용한다.

(4) 분석 모델의 종류

  • 구조적 분석 모델
  • 객체 지향 분석 모델
  • 정보공학 분석 모델
  • 정형화 분석 모델

(5) 구조적 분석 모델 - 절차 지향 언어 (대표적 C언어)

1. 구조적(절차적) 분석 방법론 

  • 도형화된 도구를 이용해 정형화된 분석 절차에 따라 사용자 요구사항을 파악하고 문서화하는 분석 기법
  • 사용하는 도구로는 자료흐름도(DFD), 자료사전(DD), 소단위 명세서(Mini-spec) 등 (객체지향에서도 사용하지만 일단 시험이니..)
  • 하향식 기능 분해 기법 등을 사용하는 특성

구조적 분석 도구

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

  • 가장 보편적으로 사용되는 시스템 모델링 도구로서, 기능 중심의 시스템을 모델링하는 데 적합
  • 자료의 흐름과 처리 과정을 도형 중심으로 기술
  • 자료 흐름 그래프 또는 버블 차트라고도 한다.

 자료 흐름도 구성요소

- 처리 과정(Process) : 자료를 변환시키는 처리 과정을 표현

- 자료 흐름(Data Flow) : 자료의 이동을 표현

- 자료 저장소(Data Store) : 파일, 데이터베이스 등 자료가 저장되는 곳을 나타낸다.

- 단말(Teminator) : 데이터의 입출력 주체(사용자)를 나타낸다.

(2) 자료사전(DD, Data Dictionary)

  • 자료흐름도에 기술된 모든 자료들에 대한 사항을 자세히 정의

자료사전 사용 기호

= : 자료의 정의 , ~로 구성되어 있다.

+ : 자료의 연결, 그리소, 순차(and)

() : 자료의 생량

[|] : 자료의 선택, 여러 대안 중 하나 선택, ex [남자 | 여자]

{} : 자료의 반복

** : 자료의 설명, 주석

 

자료사전 예시

자료 흐름 
쇼핑몰 회원정보는 회원번호, 회원성명, 전화번호, 휴대폰번호로 구성되어 있고, 전화번호와 휴대폰 번호는 둘 중 하나만 선택이 가능하다.

표기형식
쇼핑몰 회원정보 = 회원번호 + 회원성명 + [전화번호 | 휴대폰번호]

(3) 소단위 명세서(DD, Data Dictionary)

  • 자료 흐름도에서 어떤 일이 수행되는지를 정의하기 위해 각 처리들이 수행하는 업무를 상세하게 작성
  • 프로세스 명세서라고도 한다
  • 소단위 명세서는 구조적 언어이고, 선후 조건문, 의사결정표 등이 사용

참조: https://hyun-am-coding.tistory.com/entry/Chapter-07-%EC%86%8C%EB%8B%A8%EC%9C%84-%EB%AA%85%EC%84%B8%EC%84%9C

 

Chapter 07. 소단위 명세서

소단위 명세서의 특성 소단위 명세서의 목적과 작성도구 1. 소단위 명세서의 목적 입력 자료 흐름을 출력 자료 흐름으로 변환하기 위해 어떤 일이 수행되는지를 정의하기 위해 각 처리기들이 수

hyun-am-coding.tistory.com

(4) 개체 관계도(ERD, Entity Relationship Diagram)

  • 시스템에서 처리되는 개체(자료)와 개체의 구성과 속성, 개체 간의 관계를 표현하여 자료를 모델화하는 데 사용

- 개체 관계도 구성

개체(Entity) : 업무의 중심이 되는 실체

속성(Attribute) : 업무에 속하는 구체적인 항목

관계(Relationship) : 업무와 업무의 연관관계

https://www.edrawsoft.com/kr/article/how-to-create-erd-diagram.html

 

Introducing EdrawMax 10

Plan, brainstorm or design anything, faster

www.edrawsoft.com

(5) 상태 전이도(STD, State Transition Diagram)

- 시스템에 어떤 일이 발생할 경우 시스템의 상태와 상태 간의 전이를 모델화

- 상태 전이도를 통해 개발자는 시스템의 행위를 정의

2. 객체 지향 분석 방법론(상향식)

사용자의 요구사항을 분석하여 구조(클래스), 연산(행위), 속성, 그들간의 관계 등을 정의하여 모델링하는 작업

종류

1. Rumbaugh(럼바우) 방법

  • 객체 모델
    • 시스템에서 요구되는 객체를 찾아내어 속성과 연산 식별 및 객체들 간의 관계를 규정해 객체 다이어그램으로 표현
    • 세 가지 모델 중 가장 선행되어야 함.
  • 동적 모델
    • 상태 다이어그램을 이용하여 시간의 흐름에
  • 기능 모델
    • 자료 흐름도(DFD)를 이용해 다수의 프로세스들 간의 자료 흐름을 중심으로 처리 과정 표현
    • 어떤 데이터를 입력하여 어떤 결과를 구할 것인지를 표현

2. Booch(부치) 방법

미시적 개발 프로세스와 거시적 개발 프로세스를 모두 사용하는 분석 방법

 

3 Jacobson(제이콥슨) 방법

  • Use case를 사용하는 분석 방법

4. Coad(코드)와 Yourdon(요돈) 방법

  • E-R 다이어그램을 사용하여 객체의 행위를 모델링

5. Wirfs-Brock(워프-브록)방법

  • 분석과 설계 간의 구분 없음
  • 고객 명세서를 평가해서 설계 작업까지 연속적으로 수행

2. 분석자동화 도구

(1) CASE(Computer Aided Software Engineering)

CASE 도구의 개념

  • 소프트웨어 개발과정 일부 또는 전체를 자동화하기 위한 도구
  • 소프트웨어 개발과정을 컴퓨터와 전용
  • 소프트웨어가 도움을 주는 것

CASE 도구의 주요 기능

  • S/W 라이프사이클 전 단계의 연결
  • 모델들 사이의 모순 검사
  • 모델의 오류 검증
  • 자료 흐름도 등 다이어그램 작성
  • 다양한 소프트웨어 개발 모형 지원
  • 시스템 문서화 및 명세화를 위한 그래픽 지원

CASE 원천기술(가능 기술)

  • 구조적 기법
  • 프로토타이핑 기술
  • 자동 프로그래밍 기술
  • 정보 저장소 기술
  • 분산 처리 기술

CASE 도구의 분류

계획 분석 설계 / 구현 test...
(상위 CASE) / (하위 CASE)

상위 CASE 

  • 생명주기 전반부에 사용되며, 스프트웨어의 계획과 요구분석, 설계 단계를 지원한다.
  • 모순검사, 오류검사, 자료흐름도 작성 등의 기능을 수행한다.

하위 CASE (주로 개발자)

생명 주기 후반부에 사용되며, 코드의 작성과 테스트, 문서화 하는 과정을 지원한다.

구문 편집기, 코드 생성기 등의 기능을 수행한다.

통합 CASE

  • 소프트웨어 생명주기에 포함도는 전체 과정을 지원한다.

CASE의 종류

  • 비용 측정 도구 - SLIM(Putnam 모형의 근거)
  • 요구 분석용 도구 - PSL/PSA<SREM, SYSREM
  • 설계 도구 - DARTS, StateMATE, SSD, STP, ARTFIX
  • 통합 도구- TAGS, PROMOD

(2) HIPO(Hierarchical input Process Output)

1. HIPO의 개념

  • 하향식 소프트웨어 개발을 위한 문서화 도구
  • 시스템의 기능을 여러 개의 고유 모듈들로 분할하여 이들 간의 계층구조를 표현한 도표

2. HIPO의 기능

  • 분석 및 설계 도구로 사용된다.
  • 하향식 개발에 적합하다
  • 체계적인 문서관리에 효율적이다.
  • 기능과 자료의 의존관계를 명시할 수 있다.

3. HIPO Chart종류

  • 가시적 도표
    • 시스템의 전체 기능과 흐름을 보여주는 Tree(계층) 구조
    • 가시적 도표에는 입력, 처리, 출력 없음

  • 총체적 도표
    • 프로그램을 구성하는 기능을 기술한 것
    • 입력, 처리, 출력에 대한 전반적인 정보 제공

  • 세부적 도표
    • 총체적 도표에 표시된 기능을 구성하는 기본 요소들을 상세히 기술하는 도표
    • 총체적 도표와 같은 모양이지만 내용만 좀 더 복잡하게 들어간 형태

https://raisonde.tistory.com/entry/HIPO-ModelHIPO-Chart-%EB%98%90%EB%8A%94-HIPO-Diagram

 

HIPO Model(HIPO Chart 또는 HIPO Diagram)

HIPO는 Hierarchical Input Process Output의 약자로, Input-Process-Output으로 이루어진 모듈을 계층적으로 나타낸 도표이다.시스템의 분석 및 설계나 문서화에 사용 되는 기법으로 계층을 구성하는 각 모듈별

raisonde.tistory.com

03. 요구사항 관리 도구

 

 

출처:

https://devinus.tistory.com/8

 

[정보처리기사] 데이터 흐름도 - DFD(Data Flow Diagram)의 개념, 구성요소

1. 데이터 흐름도 - DFD(Data Flow Diagram)의 개념 데이터 흐름도(DFD)는 시스템 구성요소인 프로세스와 프로세스 간 데이터 흐름을 표현하는 주요 도구 자료 흐름 그래프 또는 버블(bubble) 차트라고 부

devinus.tistory.com

https://devinus.tistory.com/12

 

[정보처리기사] 자료 사전 기호

1. 자료 사전(DD, Data Dictionary) - 자료사전은 자료, 자료들의 집합, 자료의 흐름, 자료 저장소와 그것들의 관계-범위-단위를 구체적으로 명시하는 것을 말한다. - 정보처리기사에서 자료사전자료 사

devinus.tistory.com

https://devinus.tistory.com/24

 

[정보처리기사] ERD 표기법, 관계형 데이터베이스 릴레이션 구조

1. 개체 관계 다이어그램(ERD; Entity-Relationship Diagram) - E-R 다이어그램은 E-R 모델을 표현하기 위한 것인데 E-R 모델은 개체 타입(Entitiy Type)과 각 타입 간의 관계 타입(Relationship Type)을 이용해 현실 세

devinus.tistory.com

 

 

 

 

 

 

 

 

반응형