본문 바로가기

정보처리기사/I. 소프트웨어 설계

I. 소프트웨어 설계 - 요구사항 확인 (3)

(1) 모델링(Modeling) 기법

 1. 모델링 기법의 개념

  - 실세계의 물리현상을 특정한 목적에 대응하여 이용하기 쉬운 형식으로 표현하는 기법

 

 2. 모델링의 역할

  - 실세계 문제에 대한 모델링이 소프트웨어 요구사항 분석의 핵심이다

  - 모델은 문제가 발생하는 상황에 대한 이해를 증신시키고 해결책을 설명한다

  - 개념 모델은 문제 도메인의 엔터티(Entity)들과 관계 및 종속성을 반영한다

 

 3. 모델링 절차

  - 모델링의 절차는 요구사항 분석, 개념 모델링, 논리 모델링, 물리 모델링 등으로 구분된다

절차 종류 설명
1 요구사항 분석 - 현행 데이터의 문제점과 개선해야할 점을 확인하고 향후 개선점을 도출
2 개념 모델링 - 전체 모델에서 중요한 골격이 되는 엔터티와 관계(Relationship) 위주의 모델링 수행
- 데이터 모델의 전체적인 모양을 결정
3 논리 모델링 - 개념 모델을 상세화 하는 단계
- 전체 속성을 도출, 개념 모델링에서 도출되지 않은 대부분의 엔터티가 도출됨
4 물리 모델링 - 논리 데이터 모델을 DBMS의 특성 및 성능을 고려하여 구체화

 

(2) 분석 자동화 도구

 1. 분석 자동화 도구의 개념

  - *자동화도구(CASE)는 요구사항을 자동으로 분석하고 명세서를 기술하도록 개발됨

* CASE (Computer Aided Software Engineering) : 소프트웨어 생명주기의 전체를 연결해주고 자동화해주는 도구. 소프트웨어, 하드웨어,

                                                                               데이터베이스 테스트 등을 통합하여 소프트웨어 개발 환경을 조성

 

 2. 분석 자동화 도구의 등장 배경

  - 크게 산업과 관리 측면으로 나눠진다

관점 등장배경
산업 측면 - 소프트웨어 위기의 극복 대응방안으로 대두
관리 측면 - 사용자의 요구사항과 실제 시스템 간의 차이 발생 극복 필요
- 시스템의 재사용성, 생산성 및 유지보수의 어려움 극복 필요

 3. 분석 자동화 도구의 특징

  - 표준화 적용과 문서화를 통한 보고를 통해 품질 개선

  - 변경사항과 변경으로 인한 영향에 대한 추적이 쉬움

  - 명세에 대한 유지보수 비용의 축소가 가능

 

 4. 분석 자동화 도구의 분류

  - 상위 CASE, 중간 CASE, 하위 CASE로 구분된다

분류 설명
상위 CASE
(Upper CASE)
- 계획수립, 요구분석, 기본설계 단계를 다이어그램으로 표현
- 모델들 사이의 모순 검사 지원
- 모델의 오류 검증 지원
- 자료 흐름도 작성 지원
중간 CASE
(Middle CASE)
- 상세 설계 작업 지원
- 화면 출력 등의 작성 지원
하위 CASE
(Lower CASE)
- 시스템 명세서 생성 지원
- 소스 코드 생성 지원

 

(3) 요구사항 관리 도구

 1. 요구사항 관리 도구의 개념

  - 프로젝트관리, 설계, 개발, 테스트 등을 수행할 수 있는 역할을 지원하는 도구

 

2. 요구사항 관리 도구의 기능

  - 기본 기능, 핵심 기능, 부가 기능 등을 제공

구분 기능 설명
기본 기능 프로젝트 생성 - 프로젝트 타입 및 기본모듈 템플릿
- 프로젝트 생성 및 재사용 가능
요구사항 작성 - 요구사항별 고유 ID, 식별자 사용 구분
요구사항 불러오기/ 내보내기 - .doc, .xls, .html 등 다양한 확장자 제공
핵심 기능 요구사항 이력관리 - 요구사항별 변경 이력 관리 기능 제공
요구사항 베이스라인 - 요구사항 확정을 위한 베이스라인 제공
요구사항 추적성 - 요구사항 이력 추적 가능
부가 기능 협업 환경 - 요구사항 산출물의 동시편집 기능제공
외부 인터페이스 - 형상 관리 도구 (SVN, Git)와의 연동
확장성 - API 등을 통한 타 시스템 연동 제공

 

 3. 요구사항 관리 도구

  - 상용제품, 오픈소스 등이 존재

구분 관리 도구 설명
상용제품 헬릭스 RM(Helix RM) - 요구사항 추적성 매트릭스 제공
- 요구사항의 재사용 통해 검증 시간과 반복 업무를 줄임
지라 (Jira) - 애플리케이션 생명주기 관리와 요구사항 관리에 사용하는 도구
- 비즈니스 요구사항과 기존 문제의 상관관걔를 쉽게 파악 가능
오르카노스 (Orcanos) - 기업을 대상으로 요구사항 관리용 단일 저장소를 제공
- 임베디드 보고서, 맞춤형 템플릿 지원
리큐테스트 (ReQtest) - 요구사항을 파악 및 관리하는 프로세스를 단순화
- 비즈니스 요구사항은 트리 구조로 저장
오픈소스 레드마인 (Redmine) - 웹 기반의 프로젝트 관리와 버그 추적 기능을 제공하는 도구
- 이슈 추적, 형상 관리 기능 제공
테스트링크 (Testlink) - 테스트 케이스와 요구사항의 매핑 지원