-
1.현행시스템분석
1-1) 현행 시스템 파악
시스템의 개발 범위를 명확히 설정하기 위해 현행 시스템의 구성과 제공 기능, 소프트& 하드웨어, 네트워크 구성등을 파악하는 것.
1-1-2) 파악 절차
1단계 ( 구성/기능/인터페이스 파악 )
2단계 ( 아키텍쳐 및 소프트웨어 구성 파악 )
3단계 ( 하드웨어 및 네트워크 구성 파악)
1-1-3) 소프트웨어 아키텍쳐
소프트웨어를 설계하고 전개하기 위한 지침이나 원칙
여러가지 소프트웨어 구성요소의 특성 및 외부에 드러나는 특성 그리고 구성요소 간의 관계를 표현하는 시스템 구조등을 의미한다.
# 소프트웨어 아키텍처 4+1뷰
=> 고객의 요구사항을 4개의 관점에서 바라보는 관점이다.
이를 통해 4개의 분리된 구조로 아키텍처 개념을 제시하고, 4개의 관점이 서로 충돌하지 않는지 고객의 요구사항을 충족하는지 증명하기 위해 유스케이스 관점을 사용한다.
[4개 : 논리, 구현, 프로세스, 배포 // 1개 : 유스케이스 ]
1-2) 개발 기술 환경정의
운영체제, 네트워크, DBMS => 나중에 구체적으로 설명
#미들웨어란?
분산 컴퓨팅 환경에서 응용 프로그램과 프로그램이 운영되는 환경이 원활한 통신을 할 수 있도록 돕는 소프트웨어.
컴퓨터와 컴퓨터 간의 연결을 쉽고, 아전하게 할 수 있도록 해주고 이를 관리하는 소프트웨어
=> 예시 : WAS
2. 요구사항 확인
2-1) 요구사항
고객에 의해 요구되거나 표준을 만족하기 위하여 시스템이 가져야하는 제약사항
2-1-2) 요구사항 분류
#기능적 요구사항
시스템이 제공하는 기능 및 서비스에 관한 요구사항
#비기능적 요구사항
시스템을 수행하기 위한 기능 이외의 구축에 대한 제약 조건에 대한 요구사항
2-1-3) 요구사항 개발 프로세스
1. 도출 [ 인터뷰, 설문조사, 브레인 스토밍, 워크숍 ]
요구사항이 어디에 있는지, 어떻게 수집할 것인지를 파악
2. 분석 [ UML ]
상충되는 요구사항을 해결하고 다른 환경과 어떻게 상호작용하는지 이해하는 단계
- 개념 모델링 [ 분석 기법 ]
요구사항을 보다 쉽게 이해할 수 있도록 현실 세계의 상황을 단순화하여 개념적으로 표현하기 위한 과정
개념 모델은 문제의 주체인 개체들과 그들 간의 관계 및 종속성을 반영하는 것을 목적으로한다.
다양한 방법이 존재하지만, 모델링 표기는 주로 UML을 사용한다.
3. 명세 [ 자연어에 의한 처리, 정형화 기법]
체계적으로 검토, 평가, 승인 될 수 있도록 문서를 작성하는 단계
4. 확인 [ 동료 검토, 워크스루, 인스펙션, 프로토타이핑, 인수테스트 ]
문서가 표준에 적합하고, 이해가 가능하며 일관성이 있는지 즉, 완전한지를 검토하는 단계.
2-2) 비용산정 모델
2-2-1) 하향식 [ 경험이 많은 전문가에게 비용 산정을 의뢰 ]
1) 전문가 판단
조직 내에 있는 경험이 많은 두 명 이상의 전문가에게 비용 산정을 의뢰하는 기법
2) 델파이 기법
전문가의 경험적 지식을 통한 문제 해결 및 예측
=> 전문가 익명 의견 제출 -> 조정자 의견 요약 및 배포 -> 전문가들 익명 투표 : 반복
=> 전문가 판단 기법과 다른 점은 익명을 중심으로 하여, 편견 배제가 가능.
2-2-2) 상향식 [ 세부적인 요구사항과 기능에 다라 필요한 비용을 계산하는 방식 ]
1)LoC 기법
낙관치+ 4* 중간치 + 비관치 / 6
(비관치 : 최대 코드 수, 중간치 : 평균 코드 수, 낙관치 : 최소 코드 수 )
2) Man Month
한 사람이 1달 동안 일할 수 있는 양의 기준으로 프로젝트 비용을 산정
=? LoC % 프로그래머의 월간 생산성
# 프로젝트 기간 => Man month % 프로젝트 인력
3. 분석 모델 확인하기
3-1) 분석 모델 검증
요구사항 도출 기법을 활용하여 업무 분석가가 제시한 분석 모델에 대해서 확인하는 활동
# 검증방법
유스케이스, 개념 수준의 분석, 분석 클래스 검증
#UML [ 요구사항 분석 단계에서 사용]
시스템 분석, 설계, 구현등 시스템 개발 과정에서 개발자와 고객 또는 개발자 상호 간의 의사소통이 원활하게 이루어 질 수 있도록 하는 객체지향 모델링 언어이다.
UML의 구성요소
1. 사물
모델을 구성하는 가장 중요한 기본 요소로 다이어그램 안에서 관계가 형성 될 수 있는 대상들을 말한다.
-구조 사물 : 시스템의 개념적, 물리적 요소를 표현
- 행동 사물 : 시간과 공간에 따른 요소들의 행위를 표현
- 그룹 사물 : 요소들을 그룹으로 묶어서 표현
- 주해 사물 : 부가적인 설명이나 제약조건을 표현
2.관계
연관, 집합[컴퓨터와 프린터]. 포함 [문과 열쇠], 일반화 [커피 / 아메,에스프레소], 의존 [ 등급 / 할인율]
실체화 [ 날 수 있는 / 비행기, 새 ]
3. 다이어그램
3-1) 클래스 다이어그램 [ 클래스 ,객체, 컴포넌트, 배치 ]
*클래스 다이어그램 [ 클래스, 제약조건, 관계 ]
시스템을 구성하는 클래스, 속성, 오퍼레이션, 제약조건, 관계에 대해 서술한 다이어그램이다.
주로 시스템의 구성 요소를 문서화하는데 사용한다.
3-2) 행위 다이어그램 [유스케이스, 시퀀스, 커뮤니케이션, 상태, 활동 ]
*유스케이스 다이어그램 (행위 + 기능 다이어그램 )
=> 시스템 범위, 액터, 유스케이스, 관계로 구성
개발 될 시스템과 관련된 외부 요소들, 즉 사용자와 다른 외부 시스템들이 개발될 시스템을 이용해 할 수 있는 기능을 사용자의 관점에서 표현한 것.
*활동 다이어그램 [ 액션, 액티비티, 노드, 스윔레인(Swim lane) ]
사용자의 관점에서 프로그램이 수행하는 기능을 처리 흐름에 따라 순서대로 표현한 것
*시퀀스 다이어그램 [ 액터, 객체, 라이프라인, 활성 상자, 메세지]
객체들이 메시지를 주고 받으며 시간의 흐름에 따라 상호 작용하는 과정을 액터, 객체 메시지등의 요소를 사용하여 그림으로 표현
* 커뮤니케이션 다이어그램 [ 액터, 객체, 링크, 메세지 ]
시스템 또는 객체들이 메세지를 주고 받으며 시간의 흐름에 따라 상호 자굥하는 과정을 다양한 요소를 통해 그림으로 표현 한 것
시퀀스과의 차이점은 메세지뿐만 아니라 객체들 간의 관계까지 표현한다는 점.
'CS > 정보처리기사' 카테고리의 다른 글
[정보처리기사] 7장 소프트웨어 개발 보안 구축 (0) 2021.03.20 [정보처리기사] 6강 어플리케이션 테스트 관리 (0) 2021.03.20 [정보처리기사] 5강 화면 설계 (0) 2021.03.20 [정보처리기사] 4강 _ 서버 프로그램 구현 (0) 2021.03.20 [정보처리기사] 2강 데이터 입출력 구현 (0) 2021.03.20 댓글