요구사항 분석
차세대-예전에 씨언어로 만들어진 것을 자바로 만든다거나 함
고도화-자바로 만들어진 것이면 기능들을 업그레이드
플랫폼
CPND요소
CONTENT
PLATFORM
NETWORK
DEVICE
현행 시스템 분석
운영체제
컴퓨터 시스템 자원을 효율적으로 관리하여 사용자가 컴퓨터를 편하게 사용할 수 있도록 환경을 제공해주는 시스템 소프트웨어
미들웨어 종류
DB접속 미들웨어
TP모니터
웹 애플리케이션 서버(WAS)
엔터프라이즈 서비스 버스(ESB)
요구 공학
고객의 요구를(머리속에 있는 것을) 뽑아내는 것이라고 생각하면 됨
요구사항 종류
기능적 요구사항:실제 기능들
비기능적 요구사항:보안,성능,속도 등
요구사항 개발 프로세스*
도출-> 분석->명세->확인
고객에게 명세한 것을 확인해야 한다/오리발방지
요구사항 분석 모델링
1)구조적 분석 모델
구조적 분석 도구
자료흐름도(DFD),자료사전(DD),소단위 명세서,개체 관계도(ERD),상태전이도(STD)
2)객체 지향 분석 모델
객체지향 분석 방법론*
럼바우 방법*:객체모델,동적모델,기능모델로 나누어 수행(객동기라고 암기)
(객체모델링-객체다이어그램/동적모델링-상태 다이어그램/기능모델링-자료흐름도)
부치 방법:미시적 거시적
Jacobson 방법:use case를 강조
Coad와 Yourdon방법:E-R다이어그램 사용
Wirfs-Brock방법:분석과 설계간 구분 없음
소프트웨어 설계
요구사항 명세서를 가지고 상세하게 설계하는 것
와이어프레임:기획자가 만들고 기획자와 디자이너 협업하려고 만드는 것 /스토리보드:보통 파워포인트로 만들고 그림으로 기능 명세
상위설계
아키텍처 설계:전체적인 구조 설계
데이터 설계:데이터베이스 설계
설계 모델링 유형
구조 모델링(정적)
행위 모델링(동적)
소프트웨어 아키텍처
소프트웨어의 골격이 되는 기본구조
소프트웨어 아키텍처 4+1뷰
만드는 사람들의 관점 4+사용자관점1
논리적 관점:기획자의 관점,분석사,설계사
구현 관점:개발자의 관점
프로세스 관점:시스템 통합자,효율성,성능
배치 관점:시스템 엔지니어(SE),시스템배치
소프트웨어 아키텍처 패턴
소프트웨어 아키텍처 패턴 종류
계층화 패턴:트리형식으로
클라이언트-서버 패턴:일반적인 웹프로그램
마스터-슬레이브 패턴:클라이언트-서버패턴과 같지만 입출력만 가능,컴퓨터와주변장치
파이프-필터 패턴:처리하고 넘기는 패턴
브로커 패턴:중간에 도와주는 역할,분산시스템(컴퓨터가여러개떨어져서)에서 사용
피어 투 피터 패턴:컴퓨터와 컴퓨터 연결,토렌토
이벤트-버스 패턴:메세지를 발행,알림서비스
모델-뷰-컨트롤러 패턴:모델(데이터베이스)-저장,컨트롤러(모델의 DB를 읽고쓰고하는역할)-제어,뷰(사용자들화면/컨트롤러에서 실제로 뷰를 가져와서 실제사용자들에게HTML형태를 내려줌)-표현
블랙보드 패턴:아직 명확히 정의되지 않은 것
인터프리터 패턴:특정언어로 작성된것