1과목.소프트웨어 설계
- 4장. 인터페이스 설계
* 시스템 인터페이스 요구사항 분석/검증
* 시스템 인터페이스 : 시스템 끼리의 인터페이스 => 시스템 간의 상호작용에 대한 요구사항 분석
- 분석 : 요구사항 명세서에 기록된 요구사항을 기능과 비기능으로 나누고, 세분화하고 추가하고,우선순위를 정하는것
- 요구사항 분석 절차
1. 요구사항 선별 : 별도의 인터페이스 요구사항 목록 제작
2. 자료준비 : 시스템 인터페이스 요구사항과 관련된 자료 준비
3. 요구사항 분류 : 기능적/비기능적 요구사항으로 분류
4. 분석 및 수정 : 내용울 추가 및 수정, 세분화,우선순위 부여
* 요구사항 명세서 구성 : 이름,시스템,범위(내용),방식,송신데이터,인터페이스 주기,고려사항 등 포함
- 검증 : 요구사항 명세서 검증 후 문제가 없다면 개발의 베이스라인,기준으로 잡고 진행을 한다.
- 요구사항 검토 계획 : 기준과방법,참여자,체크리스트,관련자료,일정 등
- 검증 방법 : 동료검토,워크스루(사전검토 후 회의), 인스펙션(검토 전문가) / 프로토타입 제작, 관련 툴 사용
- 검증 항목 : 완전성(누락여부),일관성(충돌여부),명확성(이해여부) / 기능성,검증가능성,추적가능성,변경용이성
* 인터페이스 시스템 식별, 송.수신 데이터 식별
* 인터페이스 시스템 식별 : 이름을 붙힌다고 생각하면 된다
=> 인터페이스 : 각각의 시스템이 상호작용을 할 수 있도록 연결을 해주는 방식 -> 그 연결을 명확하게 하기 위해서 이름을 정하고 정보륵 명확하게 하는게 목표이다.
- 개발 시스템 식별 : 개발하고자 하는 시스템 정보에 이름을 붙힌다 EX)고객관리 시스템 , 홈페이지 시스템 등
- 내/외부 시스템 식별 : 개발 시스템과 연계할 내/외부 시스템 정보에 이름을 붙힌다 EX) 결제 시스템 , 본인인증 시스템 등
- 내/외부 시스템 환경 및 관리 주체 식별 : 해당 시스템 접근에 필요한 경로를 식별하고 ㄷ시스템 관리 담당자 지정 EX) IP주소 , URL주소 , 포트번호 등
- 내/외부 시스템 네트워크 연결 정보 식별 : 시스템으로 접속(연결)하는 방법 지정 EX) 로그인정보,데이터베이스 접속 정보 등
- 인터페이스 식별 : 어떤 인터페이스로 이 시스템들을 운영할건지 정의
- 인터페이스 시스템 식별 : 인터페이스가 송신 OR 수신 OR 내부시스템 OR 외부시스템 에 사용되는지 식별하여 정의한다.
* 인터페이스를 통해 식별되는 대상 데이터
1. 표준데이터 : 상호작용에 필요하다 => 시스템연계에 필요하다
- 시스템 공통부 : 연동에 필요,인터페이스, 시스템,코드,장애 정보 등
- 거래 공통부 : 송/수신 데이터처리, 직원,기기,매체 정보 등
2. 송/수신 데이터항목 :업무수행에 사용되는 데이터, 인터페이스에 따라 송/수신 데이터들의 형식이 서로 다르다
3. 공통 코드 : 공통적으로 사용하는 코드 , 현재 상태나 오류 상황 등을 파악할 수 있게 코드에 대한 저으이와 설명이 되어 있는것
* 정보 흐름 식별 : 화살표로 표시하여 데이터가 어떤 방향으로 흐르는지 식별하고 그 위에 어떤 데이터가 흐르는지 적어두면(도출) 된다
* 송/수진 데이터 식별 : 규격화된 송/수신 데이터가 화살표로 타고 넘어온 데이터(데이터 산출DB)를 식별 => 실제데이터는 그냥 받고 표준항목,코드부분 만 따로 식별한다
- 인터페이스 표준 항목 : 교환범위 확인,인터페이스 표준 항목에 대한 송/수신 데이터 식별
- 코드성 데이터 항목 식별 : 양쪽 코드가 동일한경우 : 공통 코드 / 양쪽 코드가 다른경우 : 양쪽 코드 정보 필요
* 인터페이스 방법 명세화/설계서 작성
* 시스템 연계 기술 : 개발할 시스템과 연계되는 내/외부 시스템에 사용되는 인터페이스 기술
1. DB Link : 데이터베이스에 연결하는 가장 기본적인 방식 => 다른시스템의 DB에 접근하는 것
2. API : 미리 만들어논 인터페이스 프로그램 => DB를 읽어들일 수 있는 API를 사용한다 -> 좀더 간편
3. 연계 솔루션 : 각 시스템에 클라이언트를 설치하고 EAI서버(데이터 현황을 모니터링,통제 한다)와 데이터를 주고받도록 한다
4. 소켓(Socket) : 서버에 특정 경로(포트)를 할당하고 클라이언트가 이 경로(포트)를 통해 통신할 수 있도록 연결하는 기술
5. 웹서비스(Web Service) : 시스템과 시스템 OR 사람과 시스템간의 상호작용에 대한 호환성 지원을 위해 사용하는 SW시스템 이다 => SOAP/WSDL/UDDI
* 인터페이스 통신 유형 : 데이터를 송/수신 하는 형태
- 단방향 : 응담없이 요청만 하는 형태
- 동기 : 요청 , 응답 / 응댑을 기다리는(대기) 형태 => 같은(동) 시간대(기)
- 비동기 : 요청 , 응답 / 응답을 기다리지 않는(미대기) 형태 => 다른 일을 하다가 처리할 수 있다
* 데이터 처리 유형 : 넘어온 데이터 처리 유형
- 실시간 방식 : 즉시처리 할때 사용 EX) 영화예매 , 카톡
- 지연 처리 방식 : 데이터처리에 여유가 있고 바로 처리하기엔 비용이 많이 발생할 경우 사용 EX) 본인인증 문자
- 배치 방식 : 모아뒀다가 한번에 처리(일괄처리) EX) 세금계산서
* 송/수신 데이터 명세화 연계기술,통신유형,처리유형,발생주기 등을 종합해서 명세를 작성한다 => 인터페이스 시스템 식별해둔 자료를 기반으로 성능,구조 등을 고려해 작성한다 -> 이후엔 인터페이스별로 송/수신 되는 데이터의 상세정보를 또 명세화 한다 -> 오류를 구분하고 각각의 오류를 처리할 수 있는 방안도 적어둔다
* 시스템 인터페이스 설계서 작성 : 명세화 과정에서 산출된 결과물 기반으로 작성 => 실제 데이터 입출력을 구현하기 전에 이 설계서를 보고 누락이 있거나 보완이 필요한 부분, 공통적으로 사용되는 부분 등을 확인하는데 사용한다
* 인터페이스 목록 : 연계하는 시스템의 정보와 연계방식,유형 등이 포함
* 인터페이스 정의서 : 송/수신 시스템들의 데이터 저장소에 대한 자세한 정보가 포함된다.
* 미들웨어 솔루션 명세
@import “Middleware.JPG”
* 미들웨어 : 중간에 위치한 소프트웨어 => 서버와 클라이언트의 데이터 교환에 일관성을 보장해주는 역할 EX)통역사
- 미들웨어의 종류
1. Data Base(커넥터) : 가장 기초적인 미들웨어 => 데이터베이스 와의 연결을 해주는 미들웨어 -> 2티어 아키텍처(DB를 이용한 시스템) : 구조가 물리적으로 2개의 계층으로 나뉜다는 뜻
* 2티어 구조 : 클라이언트가 늘어날 때마다 서버의 프로세스도 함께 늘어난다
2. RPC(Remote Procedure Call) : 멀리 떨어진(Remote) 프로시저를 내 시스템의(Local) 프로시저처럼 호출할 수 있게 해주는 미들웨어
3. MOM(Message Oriented Middleware) : 비동기 메세지를 전달하는 방식을 사용하는 미들웨어(메세지 지향 미들웨어) => 이기종(서로 다른기기)에 분산 데이터를 전송해서 서로 같은 데이터를 가지게끔(동기화)하는것 EX)구글드라이브
4. TP(Transaction Processing Monitor) : 빠른응답이 필요한 온라인 트랜잭션 업무에 필요하다 => 한번에 실행되는 여러 작업들(3티어)
5. ORB(Object Request Broker) : 객체를 생성하고 배포,관리 하는 미들웨어
6. WAS(Web Application Server) : 동적인 콘텐츠를 처리하는 웹 환경에 필요한 미들웨어
=> 적절한 미들웨어를 골라(식별) SW아키텍처 구성 정보 , SW구매/구비 내역을 확인해 적절한 미들웨어 솔루션을 결정 한다 -> 식별이 끝나면 명세를 한다 -> 명세과정에서 관련정보,제약사항 등을 검토 후 마무리