반응형
1과목. 소프트웨어 구축
📒 04. 요구사항 분석
계획 - 요구사항 분석 - 소프트웨어 설계 - 구현 - 테스트 - 유지보수
1. 현행 시스템 분석
(1) 플랫폼 기능 분석
- 플랫폼은 연결 기능, 비용 감소 기능, 브랜드 신뢰 기능, 커뮤니티 형성할 수 있음
- 내가 활동할 수 있는 공간
- CPND(Contents Platform Network Device) : 콘텐츠를 플랫폼에 맞게 가공하고 네트워크를 통해 사용자의 단말기로 서비스가 이루어짐을 표현하는 무선 인터넷 서비스의 가치사슬 (ex. 유튜브)
(2) 현행 시스템 분석
- 운영체제, 네트워크, DBMS 분석
(3) 미들웨어(Middleware) 분석
- 의미 : 중간에서 매개 역할을 하는 소프트웨어
- 종류 : 원격 프로시저 호출(RPC), 메시지 지향 미들웨어(MOM), ORB, DB 접속 미들웨어, TP 모니터,
웹 애플리케이션 서버(WAS), 엔터프라이즈 서비스 버스(ESB)
2. 요구사항 개발 프로세스
(1) 도출(Elicitation)
- a) 의미 : 사용자와 이해 관계자들로부터 요구사항을 수집함
(2) 분석(Analysis)
- a) 의미 : 실제로 구현할 수 있는 요구사항인지 검토 후 우선순위 결정
- b) 분석 도구 : DFD, Data Dictionary, Mini-Spec, ERD, STD
- c) 객체지향 분석 도구 : UML(Unified Modeling Language)
- d) 도메인 분석 : 요구사항의 배경으로 설계 모델링에 필요한 개념과 룰 파악
(3) 명세(Specification)
- a) 의미 : 분석된 요구사항을 명세서 형태로 정리
- b) 기법 : 정형 명세 기법(수학, 논리학) / 비정형 명세 기법(자연어, 그림 중심)
- c) 분류 : 기능 요구사항(어떤 기능 수행하는지) / 비기능 요구사항(어떻게 동작하는지, 성능 및 안전성)
(4) 확인 및 검증(Validation & Verification)
- a) 의미 : 요구사항을 이해했는지 확인하고 문서가 일관성 있고 완전한지 검증
3. 요구사항 분석 도구
(1) CASE(Computer Aided Software Engineering) 도구
- a) 개념 : 소프트웨어 개발 전반에 걸쳐 컴퓨터가 도와주는 도구
- b) 종류
- 상위 CASE : 계획, 요구분석, 설계 단계 지원 / 오류검사, 자료 흐름도 작성 등의 기능 수행
- 하위 CASE : 코드의 작성, 테스트, 문서화 과정 지원 / 구문 편집기, 코드 생성기 등의 기능 수행
- 통합 CASE : 소프트웨어 생명주기에 포함되는 전체 과정 지원
(2) HIPO(hierarchial Input Process Output)
- a) 개념 : 하향식 소프트웨어 개발을 위한 문서화 도구(구조적 방법론)
- b) Chart 종류
- 가시적 도표 : 시스템의 전체적인 기능과 흐름을 보여주는 Tree 구조로 입, 출력이 없음
- 총체적 도표 : 프로그램을 구성하는 기능을 기술한 것
- 세부적 도표 : 총체적 도표에 표시된 기능을 상세히 기술한 도표
4. 구조적 분석 도구
(1) 자료 흐름도(DFD, Data Flow Diargram)
- a) 개념 : 자료가 어떻게 이동하고 처리되는지 도형으로 나타내는 모델링 도구로 버블 차트라고도함
- b) 구성요소
- 처리 과정 : 자료를 변환시키는 처리 과정 / 기호 O
- 자료 흐름 : 자료의 이동 / 기호 →
- 자료 저장소 : 파일, 데이터베이스 등 자료가 저장되는 곳 / 기호 〓
- 단말 : 데이터의 입출력 주체 / 기호 □
(2) 자료 사전(DD, Data Dictionary)
- a) 개념 : 자료 흐름도(DFD)에 기술된 모든 자료들에 대해 자세한 정의와 설명을 제공하는 도구
- b) 사용 기호
= : 자료의 정의 / 특정 자료가 어떤 구성요소로 이루어져 있는지 나타냄
+ : 자료의 연결 / 여러 자료가 순차적으로 결합되어 있는 상태
() : 자료의 생략 / 필요에 따라 생략할 수 있는 자료
[ | ] : 자료의 선택 / 여러 대안 중 하나를 선택할 수 있는 자료
{} : 자료의 반복 / 자료가 반복될 수 있음을 나타냄
** : 자료의 설명 / 해당 자료에 대한 추가적인 설명이나 주석
(3) 소단위 명세서(Mini-Specification)
- a) 개념 : 자료 흐름도(DFD)에서 각 처리가 수행하는 업무를 상세하게 작성하는 문서로, 프로세스 명세서라고도 함
(4) 개체 관계도(ERD, Entity Relationship Diagram)
- a) 개념 : 개체와 그 속성, 개체 간의 관계를 도식화하여 모델링하는 도구
- b) 구성
- 개체(Entity) : 업무의 중심이 되는 실체 / □
- 속성(Attribute) : 업무에 속하는 구체적인 항목 / ○
- 관계(Relationship) : 업무와 업무의 연관관계 / ◇
(5) 상태 전이도(STD, State Transition Diagram)
- a) 개념 : 시스템의 상태와 상태 간의 전이를 모델화하는 도구
4. 객체 지향 분석 방법론
(1) Rumbaugh(럼바우) 방법 ⭐
- a) 개념 : 가장 일반적으로 사용되는 방법으로 객체, 동적, 기능 모델로 나누어 수행
- b) 분석 절차
- 객체 모델링 : 객체 다이어그램을 통해 시스템의 객체, 속성, 연산, 관계를 표현
- 동적 모델링 : 상태 다이어그램을 사용하여 시간에 따른 객체의 행동과 상호작용을 표현
- 기능 모델링 : DFD를 이용해 데이터 흐름과 처리 과정을 표현
(2) Booch(부치) 방법
- 미시적 및 거시적 개발 프로세스 모두 사용
(3) Jacobson(자콥슨) 방법
- Use case를 중심으로 한 분석 방법 사용
(4) Coad와 Yourdon(코드와 야돈) 방법
- E-R 다이어그램을 사용하여 객체의 행위를 모델링
(5) Wirfs-Brock(위륵스-브룩) 방법
- 분석과 설계의 구분 없이 연속적으로 작업을 수행
참고자료
흥달쌤, '흥!나게 합격 달성! 2024 정보처리기사 실기 클래스'
반응형
댓글