01. 현행 시스템 분석
1. 현행 시스템 파악 개념
- 어떤 하위 시스템으로 구성되어 있는지
- 제공 기능, 연계 정보는 무엇인지
- 어떤 기술 요소를 사용하는지
- 사용하고 있는 SW, HW는 무엇인지
- 네트워크 구성은 무엇인지
2. 현행 시스템 파악 절차
1단계 | 구성/기능/인터페이스 파악 | 구성 파악 : 주요 업무를 처리하는 기간 업무 + 지원 업무 기능 파악 : 단위 업무 시스템이 현재 제공하고 있는 기능 파악 인터페이스 파악 : 다른 시스템과 주고 받는 데이터의 종류, 형식, 프로토콜 등 파악 |
2단계 | 아키텍처/SW 구성 파악 | 아키텍처 파악 : 가장 핵심이 되는 기간 업무 처리 시스템 기준으로 파악 SW 구성 파악 : 제품명, 용도, 라이선스 적용 방식, 라이선스 수 파악 |
3단계 | HW/네트워크 구성 파악 | HW 구성 파악 : 서버의 위치, 운용 서버의 주요 사양, 수량, 이중화 구현 여부 파악 네트워크 파악 : 어떤 네트워크 장비를 사용하여 구성되어 있는 지 파악 |
TCP/IP : 전송 제어 프로토콜 + 인터넷 프로토콜
- IP : 패킷 전달 여부를 보증하지 않고 패킷을 보낸 순서와 받는 순서가 다를 수 있음
- TCP : IP 위에서 동작하는 프로토콜 데이터의 전달을 보증하고 보낸 순서대로 받게 해 줌
3. 현행 시스템 분석서 작성 및 검토 절차
- 현행 시스템 관련 자료 수집 단계
- 자료 분석 단계
- 산출물 작성 단계
- 산출물에 대한 검토 수행 단계
4. 소프트웨어 아키텍처
- 외부에 드러나는 특성
- 구성요소 간의 관계를 표현하는 구조체
- 소프트웨어 설계하고 전개하기 위한 지침이나 원칙
- 구성요소 : 아키텍처 명세서 / 이해관계자 / 관심사 / 관점 / 뷰 / 근거
- 4 + 1 뷰 : 4(논리 + 구현 + 프로세스 + 배포) + 1(유스케이스)
- 유스케이스 뷰 : 아키텍처르 도출하고 설계하는 작업 주도 / 다른 뷰 검증
- 논리 뷰 : 주요 설계 패키지와 서브시스템, 클래스를 식별하는 뷰 / 기능적 요구사항 지원 / 클래스 다이어그램으로 표현
- 프로세스 뷰 : 런타임 시의 태스크, 스레드, 프로세스와 이들 간의 상호작용 등의 관계 표현하는 뷰
- 구현 뷰 : 정적인 소프트웨어 모듈 구성 표현 / 컴포넌트 뷰
- 배포 뷰 : 물리적이 노드의 구성과 상호 연결 관계를 배포 다이어그램으로 표현하는 뷰
5. 개발 기술 환경 현행 시스템 분석
운영체제 | 개념 : 컴퓨터 시스템이 제공하는 모든 HW, SW를 사용할 수 있도록 해주고, 사용자와 컴퓨터 HW 간의 인터페이스 담당 고려사항 : 품질 측면(신뢰도, 성능) / 지원 측면(기술 지원, 주변 기기, 구축 비용) 종류 : PC(윈도우, 유닉스, 리눅스) / 모바일(안드로이드, iOS) |
네트워크 | 개념 : 컴퓨터 장치들의 노드 간 연결을 사용하여 서로에게 데이터를 교환할 수 있도록 하는 기술 OSI 7계층* 분석 : 백본망, 라우터, 스위치, 게이트웨이, 방화벽 등을 대상으로 분석 |
DBMS | 개념 : 데이터의 집합을 만들고, 저장 및 관리할 수 있는 기능들을 제공하는 응용 프로그램 기능: 중복 제어, 접근 통제, 인터페이스 제공, 관계표현, 샤딩/파티셔닝, 무결성 제약조건, 백업 및 회복 고려사항 : 성능측면(가용성, 성능, 상호 호환성) / 지원측면(기술지원, 구축비용) |
미들웨어 | 개념 : 분산 컴퓨팅 환경에서 응용 프로그램과 환경 간에 원만한 통신이 이루어질 수 있도록 제어해주는 소프트웨어(WAS...) WAS : 서버계층에서 앱이 동작할 수 있는 환경을 제공하고 안정적인 트랜잭션 처리/관리, 이기종 시스템과의 연동 지원 고려사항 : 성능측면(가용성, 성능) / 지원측면(기술지원, 구축비용) |
오픈소스 | 라이선스의 종류, 사용자 수, 기술의 지속 가능성 등을 고려해야함 |
OSI 7 계층
1. 응용계층 : 사용자와 네트워크 간 응용 서비스 연결, 데이터 생성 (HTTP, FTP) - 전송단위 : 데이터
2. 표현계층 : 데이터 형식 설정과 부호교환, 암/복호화 (JPEG, MPEG) - 전송단위 : 데이터
3. 세션계층 : 연결 접속 및 동기제어 (SSH, TLS) - 전송단위 : 데이터
4. 전송계층 : 데이터 분할과 재조립, 흐름 제어, 오류 제어, 혼잡 제어 등을 담당 (TCP, UDP) - 전송단위 : 세그먼트
5. 네트워크계층 : 단말 간 데이터 전송을 위한 최적화된 경로 제공 (IP, ICMP) - 전송단위 : 패킷
6. 데이터링크계층 : 인접 시스템 간 데이터 전송, 전송오류 제어, 오류검출, 재전송 등 (이더넷) - 전송단위 : 프레임
7. 물리계층 : 0과 1의 비트정보를 회선에 보내기 위한 전기적 신호 변환 (RS-232C) - 전송단위 : 비트
02. 요구사항 확인
1. 요구사항
- 문제의 해결 또는 목적 달성을 위해 고객에 의해 요구되거나, 표준이나 명세 등을 만족하기 위해 시스템이 가져야 하는 서비스
- 분류 : 기능적 요구사항(기능성, 완전성, 일관성) / 비기능적 요구사항(신뢰성, 사용성, 효율성, 유지보수성, 이식성)
- 프로세스 : 도출 -> 분석 -> 명세 -> 확인
- 도출 : 인터뷰, 설문조사, 브레인스토밍, 워크숍
- 분석 : 자료흐름지향분석, 객체지향 분석
- 명세 : 자연어에 의한 방법, 정형화 기법 사용 방법
- 확인 : 동료검토, 워크스루, 인스펙션
- 관리 프로세스 : 요구사항 협상, 요구사항 기준선, 요구사항 변경 관리, 요구사항 확인 및 검증
2. 요구사항 분석
- 요구사항 분류 : 기능 / 비기능 확인
- 개념 모델링 : 유스케이스 다이어그램 주로 사용
- 요구사항 할당
- 요구사항 협상
- 정형 분석 : 형식적으로 정의된 의미를 지닌 언어로 요구사항 표현, 요구사항 분석 마지막에 이루어짐
유스케이스 다이어그램 : 액터와 시스템의 관계를 표현한 다이어그램
UML : 객체지향 SW개발과정에서 산출물을 명세화, 시각화, 문서화할 시 사용되는 모델링 기술과 방법론으로 만든 범용 모델링 언어
3. 요구사항 확인
- 요구사항 검토
- 프로토타이핑
- 모델 검증
- 인수테스트
4. 비용산정 모델
- 소프트웨어 규모 파악을 통한 투입자원, 소요 시간 파악해 실행 가능한 계획을 수립하기 위해 비용 산정하는 기법
- 하향식 비용산정 : 경험이 많은 전문가에게 의뢰하거나 여러 전문가와 조정자를 통해 산정
- 전문가 판단
- 델파이 기법
- 상향식 비용산정 : 세부적 요구사항과 기능에 따라 계산
- LoC : 코드라인수
- Man Month = LoC / 프로그래머 월간 생산성
- COCOMO : 보헴, 프로그램 규모에 따라 산정, 단순(5만), 중간(30만), 임베디드(30만이상)
- 푸트남 모형 : SLIM
- 기능점수모형
03. 분석 모델 확인하기
1. 분석 모델 검증
- 유스케이스 모델 검증
- 개념 수준의 분석 클래스 검증
- 분석 클래스 검증
댓글