[정보처리기사도전기]#9 요구공학

Ben·2021년 7월 27일
0

정보처리기사도전기

목록 보기
10/16

2. 요구공학

(1) 요구공학 개요

  • 요구사항을 정의하고 문서화하는데 필요한 요구사항의 추출, 분석, 명세, 검증, 유지보수 및 관리의 제반공정에 대한 체계적 접근방법이다. (IEEE standard)

(2) 요구공학의 특징

  • 개발범위, 각종테스트 기준(단위, 통합, 인수), 감리, 검수 등 프로젝트 수행의 중요한 기준으로 활용된다.
  • 사용자의 요구사항은 추상적이고 불분명하므로 분석이 필요하며, 지속적으로 변화하는 특성 가진다.

[요구사항 문제점 및 해결방안]

문제점해결방안
이해부족경험있는 인력 투입, 유즈케이스 모델링
의사소통부족Workthrough, inspection, 워크샾, 의사소통 채널 단일화
표현의 어려움모델링 기법(구조적 분석기법, 객체지향 분석기법)으로 가시화
요구사항 변경변경 관리 계획, 유형별 분리

(3) 요구공학 프로세스

⭐️ [요구공학 프로세스]

절차내용방법
요구사항 추출 (Elicitation)기능적/비기능적 요구수집과정인터뷰, 워크샵(JRP, JAD), 설문조사, 브레인스토밍
요구사항 분석 (Analysis)분석기법을 이용한 가능한 문제도출 및 요구사항 이해/정제하는 과정객체지향분석(UML, 모델링) 구조적분석(DFD, Data Dictionary)
요구사항 명세 (Specification)분석된 요구사항의 문서화과정ER 모델링, FSM, 구조적분석과 설계 기술 (SADT)
요구사항 검증 (Validation)명세화된 요구사항 검증과정Review, Inspection, Walk-through
요구사항 유지보수 (Maintenance)요구사항 신규발생, 변경의 체계적 관리 활동Baseline 관리로 가시성, 추적성의 형상관리

(4) 요구사항 명세 기준

⭐️ [요구사항 명세 속성]

명세속성설명
정확성요구사항은 정확해야 한다.
명확성단 한가지로 해석되어야 한다.
완전성모든 것(기능, 비기능)이 표현되어야 한다.
일관성요구사항 간 충돌이 없어야 한다.
수정용이성요구사항의 변경이 가능해야 한다.
추적성제안서 등을 통해 추적이 가능해야 한다.

[요구사항 명세기법]

구분정형 명세비정형 명세
기법수학적 기반/모델링 기반상태/기능/객체 중심 명세 기법
종류Z, VDM, Petri-Net, CSP, LOTOSFSM, Decision, Table, ER 모델링, SADT, UseCase
장점시스템 요구특성의 정확, 명세 간결명세작성 이해 용이, 의사전달 방법 다양성
단점낮은 이해도, 이해관계자의 부담 가중불충분한 명세 기능, 모호성

제2절 인터페이스 대상 식별

1. 시스템 아키텍처

(1) 시스템 아키텍처의 정의

  • 경영 전략의 달성을 위해 필요한 업무 프로세스의 원활한 지원과 효율적 처리를 위해 필요한 H/W, 시스템 S/W, DBMS, 네트워크 및 보안으로 구성된 전산 시스템의 기반이 되는 환경

(2) 시스템 아키텍쳐 구성 기술

[1] 시스템 Platform

  • Unix서버, Windows NT서버

[2] OS 및 기타 소프트웨어

  • Web서버 S/W, 미들웨어, 메일 S/W, 시스템관리 S/W 등

[3] Storage 기술

  • RAID, DAS, NAS, SAN

[4] 이중화/부하분산 기술

  • HA, RAC, WAW Cluster, L4 Switch

(3) 시스템 아키텍처 구성요소

[1] 집중/분산 구조

  • 중앙집중형 구조 : 통합센터에 시스템과 데이터 저장 및 관리. 대용량 서버에 통합 DB 구축
  • 지역별 분산구조 : 지역별 시스템 및 응용시스템분산 운영. 지역별 데이터 관리. 중소형 서버로 구성

[2] 응용 구조

  • 호스트 중심 시스템 구조 : 어플리케이션 기능 모두 호스트에 집중되어 있으며, 클라이언트는 더미단말기나 PC에 에뮬레이터를 통하여 호스트에 접속
  • 클라이언트/서버 시스템 구조 : 어플리케이션의 각 기능들을 서버와 클라이언트에 조합 위치 시킴. 업무 규모와 환경에 따라 조합을 선택
  • 웹 시스템 구조 : 서버에 어플리케이션 기능을 두고 클라이언트는 Internet Explorer를 설치하여 서버에 접속

2. 인터페이스 시스템

  • 이너페이스(interface)는 서로 다른 두 개의 시스템, 장치 사이에서 정보나 신호를 주고받는 경우의 접점이나 경계면이라 할 수 있다. 즉, 사용자가 기기를 쉽게 동작시키는데 도움을 주는 시스템을 의미힌다.
  • 인터페이스 시스템은 송신 시스템과 수신 시스템 그리고 연계 응용 시스템 등이 있다.

[1] 송신 시스템

  • 운영 데이터베이스에서 연계 데이터를 식별 및 추출하여 인터페이스 테이블(파일)로 생성하여 송신하느 시스템이다.
  • 개인 정보와 같은 보안이 필요한 정보는 암호화하여 저장한다.

[2] 수신 시스템

  • 송신 시스템으로부터 수신한 테이블을 수신 시스템의 운영 데이터베이스나 환경에 맞게 변환하여 처리에 활용할 수 있도록 하는 시스템이다.
  • 송신 시스템에서 암호화되어 생성된 연계 데이터는 수신 시스템에서 운영 데이터베이스에 반영할 때 복호화 처리한다. 연계 데이터의 암복호화를 위해 사전에 암호 알고리즘과 키를 협의하여 배포하여야한다.

[3] 연계 응용 시스템

  • 송신시스템과 수신시스템을 연계해주는 서버나 시스템에 해당된다.
  • 역활 : 데이터 송수신, 데이터 암복호화, 응답처리, 데이터 변화 등

제3절 인터페이스 상세 설계

1. 내외부 송수신

  • 내외부 송수신은 연계 방식에 따라 직접연계방식과 간접연계방식으로 분류할 수 있다.

(1) 직접연계방식

[1] 직접연계방식은 중간 매개체 없이 송신 시스템과 수신 시스템이 직접 연계되는 방식이다.
[2] 연계 및 구현이 단순하고 개발 소요 비용과 기간이 적게 소요된다.
[3] 중간 매개체가 없기 때문에 데이터 연계처리 성능이 대체적으로 좋다.
[4] 시스템간의 결합도가 높고, 시스템 변경에 민감하게 반응한다.
[5] 보안을 위한 암복호화 처리와 비즈니스 로직 적용 등이 불가하다

(2) 간접연계방식

[1] 간접연계방식은 연계 솔루션과 같이 중간 매개체를 이용하여 연계하는 방식이다.
[2] 운영 데이터베이스에서 연계 데이터를 생성 및 변환과 송신 로그를 모니터링하는 구현 대상솔루션에서 제공하는 송수신 엔진과 어뎁터로 구성된다.
[3] 중간 매개체가 존재하므로 서로 상이한 네트워크, 프로토콜 등 다양한 환경으 연계 및 통합 할 수 있다.
[4] 시스템 간 인터페이스 변경 시에도 장애나 오류없이 서비스가 가능하며, 암복호화나 비즈니스 로직적용이 용이하다.
[5] 중간 매개체로 인한 성능이 저하될 수 있으며, 매커니즘이 복잡하다.

(3) 연계 방식 분류

[1] 직접연계방식 : DB Link, DB Connection, JDBC
[2] 간접연계방식 : Web Service, Socket

2. 데이터 명세화

1) 인터페이스 정의서

[1] 연계항목, 연계 데이터 타입, 길이 등을 구성하고 형식을 정의하는 과정의 결과물로 인터페이스정의서를 작성한다.
[2] 송신시스템과 수신시스템간의 인터페이스 현황을 작성하며, 인터페이스별로 송수신하는 데이터타입, 길이 등 인터페이스 항목을 상세하게 작성한다.

2) 개체 정의서
개체에 포함되어 있는 속성과 타입 등을 명세한 정의서이다.

3) 테이블 정의서

  • 테이블에 들어있는 컬럼과 도메인, 키 등을 명세한 정의서이다.

4) 코드 정의서
코드에 대한 명명규칙에 따라 어떤 코드를 사용할 지를 명세한 정의서이다.

3. 오류 처리방안 명세화

1) 송신 시스템

  • 접근권한 오류, 데이터 변화 처리 오류 등
  • 오류가 발생하면 송신 시스템에 기록된 로그 파일의 내용을 확인하여 오류의 원인을 분석하고 해결방안을 모색한다.

2) 수신 시스템

  • 데이터베이스 반영 오류, 데이터를 변환 할 때 발생하느 오류 등
  • 오류가 발생하면 수신 시스템에 기록된 로그 파일의 내용을 확인하여 오류의 원인을 분석하고 해결 방안을 모색한다.

3) 연계 응용 시스템

  • 접속 오류, 연계 서버 다운 등
  • 시스템의 상태 확인을 통해 오류의 원인 분석과 해결방안을 모색한다.

4. 미들웨어 솔루션

⭐️ - 미들웨어는 클라이언트와 서버를 연결하여 데이터를 주고받을 수 있도록 중간에서 매개 역활을 하거나, 네트워크를 통해서 연결된 여러 개의 컴퓨터에 있는 많은 프로세스들에게 어떤 서비스를 사용할수 잇도록 연결해주는 소프트웨어를 말한다.

(1) 미들웨어의 특성

[1] 존 플랫폼의 통합 : 기존의 다양한 벤더의 플랫폼을 네트워크 차이를 의식하지 않고 상호 접속하여 이용한다.

[2] 시스템 통합에 따른 DATA의 공유 활용 : 현재 사내 각 부문에서 각각 관리되고 있는 정보를 통합관리함으로써 분배작업으로, 이중작업으로부터 해방되어 업무효율화를 기할 수 있다.

[3] 조작의 우수성, 사용의 편리성 : 호스트 단말과 비교, 사용자가 사용하기 쉬운 GUI, 일상적으로 사용하고 있는 표계산 SW등으로 사내의 각 Database에 접근 이용 가능하다.

[4] 상호 운용성 : 데이터베이스에 자유로운 접근이 가능하므로, 각 개인이 실시간 데이터를 분석/활용하여 업무의 질을 향상할 수 있다.

⭐️ (2) 미들웨어의 분류

[1] DB미들웨어

  • DB 미들웨어는 애플리케이션과 데이터베이스 간에 통신을 원활하게 하는 것을 목적으로 하는 미들웨어이다.
  • 다양한 형태로 구축된 데이터베이스 간의 통신이 가능하도록 해주는 제품을 말한다.
  • DB 미들웨어를 도입함으로써 하드웨어, 데이터베이스, 네트워크 프로토콜로 이루어진 복합 시스템환경에서 생성된 다양한 DB를 클라이언트에서 보다 쉽게 조작 및 운영할 수 있다.

[2] 원격 프로시저 호출(RPC: Remote Procedure Call)

  • RPC는 네트워크 상에서 애플리케이션과 애플리케이션 간의 연동을 하기 위한 미들웨어이다.(또는 다른 컴퓨터에 잇는 원경 애플리케이션을 연동시키는 경우 많이 이용된다.)
  • 근래에는 일반적으로 RPC 기능이 OS에 포함돼 제공되는 경우가 많아서 RPC 기반 미들웨어제품군은 OS에서 제공되는 RPC 기능을 보다 편하게 사용할 수 있도록 도와주는 역활을 하는 경우도 많다.

[3] 메시지 지향 미들웨어(MOM: Message-Oriented Middleware)

  • MOM은 애플리케이션과 미들웨어 간의 상호 연동을 위한 미들웨어이다.
  • 어플리케이션에서 미들웨어로의 작업요청이 바로 이루어질 수 있도록 해줄수 있다.

[4] 트랜잭션 처리(TP : Transaction Processing) 모니터

  • TP모니터는 통신량이 많은 클라이언트와 서버 사이에 위치하여 서버 애플리케이션 및 자원을 효율적으로 관리한다.
  • 통신부하를 효과적으로 분배(load balancing)함으로써 클라이언트와 서버 사이의 통신이 원활하게 이루어질 수 있도록 해주는 역활을 하며, 분산 환경의 핵심 기술인 분산 트랜잭션을 처리하기위해서 필요한 미들웨어이다.
profile
프로그램을 만드는것을 업으로 삼은 사람입니다

0개의 댓글