본문 바로가기
정보처리기사[필기]

[정보처리기사][요약]1. 소프트웨어 설계(1)요구사항확인(3.분석모델)

by IT돌이 2023. 5. 15.

0. 서론


- 정보처리기사 자격증을 준비하는 사람들을 위한 세 번째 요약 포스팅입니다.

   이번 장에서는 소프트웨어 설계 중, '요구사항을 확인하는 방법(3)' 에 대해 배워 볼 것입니다.

   마지막 장이니만큼, 양은 적지만 모델, 모델링의 개념, 분석 자동화 등에 대해 확실히 알아두는 편이 좋습니다.

 

1. 분석모델 확인


- 분석 모델 확인하는 방법인 1)모델링 기법 2)분석 자동화 도구 3)요구사항 관리도구 에 대해 알아보겠습니다.

 

2. 모델


1) 개념

- 모델은 객체/시스템/개념/구조 및 작업을 보여주기 위한 패턴입니다.

  개발 대상을 추상화하고, 기호나 그림 등 '한눈에 알아보기 쉽게' 표시하는 것이 좋습니다.

 

2) 특징

-  소프트웨어에 대한 이해도가 향상됩니다.

- 이해 당사자 간 의사소통이 간편해집니다.

- 해결책 도출이 간편합니다.

- 미래 지향적으로, 향후 갭라도리 시스템의 결을 유추할 수 있습니다.

- 문제 도메인의 Entity들과 종속성과 관계를 반영하빈다.

 

3. 모델링


1) 개념

- 목적에 맞게 실세계의 물리현상을 쉽게 표기한 것입니다.

   이해가 잘 될수록 모델링이 성공적이라고 말할 수 있습니다.

 

2) 특징

- 개발 시 FE,BE(프론트엔드, 백엔드), 디자이너, 기획자 등 여러 명의 프로젝트 인원들이 함께 작업을 진행합니다.

  해당 작업자들에게 공통된 개념을 알려주어 '어떤 프로젝트를 진행하고, 어떤 기능을 개발하는가.' 에 대한 답변을 줍니다.

- 프로젝트 인원들이 응용 문제를 이해하는데 도움을 줍니다.

- 모델링은 서로 상호연결상태입니다. 한 가지 모델링의 결과물이 다른 모델에 영향을 미칠수도, 받을 수도 있습니다.

- 크게 1) 구조적 방법론과, 2) 객체지향 방법론이 있습니다.

   2.1) 구조적 방법론

           - DFD(Data Flow Diagram), DD(Data Dictionary)등을 사용하여 요구사항의 결과를 표현합니다.

   2.2) 객체 지향 방법론

           - UML 표기법을 사용합니다(이전 장에서 배운 UML과 동일합니다).

 

4. 분석 자동화 도구


1) 개념

- 분석을 자동화하는 것입니다. 단, 요구사항 분석 명세서를 기술하는 것 까지 포함해야합니다.

- 요구사항 분석을 위한 자동화 도구로, CASE로도 불립니다.

*CASE란?

  - Computer Aided Software Engineering의 약자입니다. 

  - 소프트웨어 생명 주기를 연결 및 자동화 해주는 통합도구입니다.

 

2) 왜 생겼는가?

- 분석 자동화 도구는 1) 산업 측면과 2) 관리 측면으로 나눠집니다.
   2.1) 산업 측면

           - 소프트웨어 위기의 극복 방안으로 사용하기 위해서입니다.

   2.2) 관리 측면

           - 사용자 요구사항과 실제 시스템이 일치하지 않을 때 관리를 용이하게 하기 위해서입니다.

           - 시스템의 유지보수와 생산, 재사용 등의 문제를 해결하기 위해서입니다.

 

3) 특징

- 문서화 된 보고를 통해 품질 개선이 가능합니다.

- 변경 사항에 대한 history를 알기 쉽습니다.

- 명세에 대한 유지 보수 비용을 알기 쉬우며, 절약할 수 있습니다.

- 자동화 되어 소프트웨어 품질에 대해 피드백이 빠르고 쉽습니다.

- 유지보수가 용이합니다.

- 구조적 기법, 프로토타이핑, 자동 프로그래밍, 정보 저장소 기술, 분산 처리 기술 등이 있습니다.

 

4) 분류

- 1) 상위 CASE, 2) 하위 CASE 2가지로 분류됩니다.

   4.1) 상위 CASE

           - 계획수립, 요구분석, 기본 설계 단계에 대해 다이어그램으로 나타냅니다.

           - 모델 간 오류사항을 위한 검증을 지원합니다.
           - 프로토타이핑 및 UI를 지원합니다.

   4.2) 하위 CASE

           - 구문 중심 편집을 지원합니다.

           - 테스트 환경을 지원합니다(정적,동적).

           - 시스템 명세서 생성 및 소스 코드 생성을 지원합니다.

 

5) 기능

- 그래픽을 지원합니다.

- 소프트웨어 생명주기를 통틀어 연결합니다.

- 소프트웨어 개발 모형을 지원합니다.

- 표준화된 개발 환경 및 문서 자동화 기능을 제공합니다.

- 프로젝트 구성원들 간의 커뮤니케이션을 증대합니다.

 

5. 요구사항 관리 도구


1) 개념
- 요구사항을 기반으로 하는 프로젝트 관리, 설계, 개발, 테스트 등ㅇ르 수행 할 수 있는 역할을 지원하는 도구입니다.

 

2) 왜 필요한가?

- 요구사항이 변경이 발생할 시 해당 사항을 1)가격 비교 2)history 3)평가 하기 위해서입니다.

 

3) 기능

- 1)기본 2)핵심 3)부가 기능 총 3가지로 구성되어 있습니다.

   3.1) 기본 기능

           - 프로젝트 생성 기능, 요구사항 작성, 요구사항 불러오기/내보내기로 이루어져 있습니다.

   3.2) 핵심 기능

           - 요구사항에 대한 이력관리, 베이스라인, 추적성으로 이루어져 있습니다.

   3.3) 부가 기능

           - 협업 환경, 외부 인터페이스, 확장성으로 이루어져 있습니다.

 

6. 마치며


- 모두 해당 자료로 공부하여, 정보처리기사 필기 시험을 잘 보시기 바랍니다.

  자료는 요약본이 올라가며, 모르는 용어와 그림은 직접 찾아보면 공부에 더 큰 도움이 될 것입니다.

  긴 글 읽어주셔서 감사합니다.