유지보수 Maintenance 

: SW개발 단계 중 가장 많은 노력과 비용이 투입되는 단계

: 유지보수를 용이하게 하려면 시험,수정 용이성/ 이해성/ 이식성등이 고려되어야 함

- 종류

> Corrective 수정적 : 잠재적 오류를 찾아서 수정

> Adaptive 적응적 : 환경의 변화를 기존sw에 반영하기 위함

> Perfective 완전적 : 새기능 추가, 성능개선을 위함

> Preventive 예방적 : 오류발생에 대비하여 유지보수, SW재공학 관점에서의 유지보수 유형

 

 SW 재공학 

: 기존 SW를 새로운 요구에 맞도록 기능을 수정/보완/추가하여 성능을 향상 시킴

= 예방적 유지보수

> 목적 : 시스템의 이해성 향상, 재사용성 개선

 

SW 재사용

> 이점 : 개발시간과 비용 단축, 실패위험 감소, 품질/생산성 향상

> 단점 : 표준화 부족, 새로운 개발방법론 도입 어렵 

 

 암호화 알고리즘 

암호화 = Cryptography

> 양방향

대칭키
(공개키 = 암호키)
> 스트림 암호 : 주기긴 난수열 발생 
LFSR, SEAL
> 블록암호 : 긴 평문 암호화, 고정길이 블록암호화 반복
DES, AES, SEED
비대칭키
(암호화- 공개키, 복호화- 개인키)
DH, ECC, RSA(속도↓, 파일크기↑, 소수활용)

> 일방향 (=단방향)

해시함수 변경감지 MDC 키 사용X, 감지코드로 메시지 무결성 보장
MD4, M5, SHA
메시지 인증 MAC 키 사용, 메시지 인증코드 무결성과 사용자 인증보장
HMAC, NMAC

> 데이터 암호화 (네트워크영역)

IPsec IP패킷 무결성, 데이터 무결성/기밀성 보장, Tunnel모드와 전송모드로 운영
ESP- 발신지 인증, HA- 발신지 호스트 인증
SSL/ TLS 전송-응용계층사이 클라이언트와 서버 간의 웹 데이터 암호화 역할
전송시 데이터 무결성 보장
S-HTTP  

+) Salt : 공격을 막기위해 동일 패스워드들이 다른 암호값으로 저장되도록 추가되는 값

 해싱 

: 검색/접근속도 빠름, 삽입/삭제 빈도가 높은 작업에 유리

: 해싱테이블(기억공간)에 할당 -> 해시함수 이용 -> 테이블내 홈주소 계산 후 기억장소 저장/ 검색작업 수행

> Overflow 발생시 개방주소법, 폐쇄주소법, 재해싱 

> 홈 주소 동일시 충돌Collision 발생 > 충돌이 발생한 레코드 집합: Synonym

> 충돌시 선형개방 주소법 사용 (충돌시 다음 버킷들을 차례대로 검색하여 최초의 빈 버킷에 저장함)

 해싱탐색  (키-주소 변환법)

: 키 값으로부터 레코드가 저장되어 있는 주소를 직접계산하여 산출된 주소로 바로 접근하는 방법

 해싱함수 

> 제곱법 : (레코드 키 값 K)^2 후 중간부분을 홈주소로 사용

> 숫자분석법 : K를 이루는 숫자의 분포를 분석하여 고른자리를 필요만큼 택하여 홈주소로 사용

> 제산법 : K를 해시표의 크키보다 크고 가장작은 소수로 나눈 나머지를 홈주소로 사용

> 폴딩법 : K를 여러부분으로 나누고, 각 부분의 값을 더하거나 XOR연산을 통해 나온 결과를 홈주소로 사용

 

 모듈 

: 독립된 1개의 SW,HD단위, 재사용/ 통합/ 단독 컴파일 가능

독립성 유지보수 용이성 ,응집도 (모듈내부 요소사이의 연관도) 

 
모듈크기, 결합도 (외부모듈과 연관도)

 - 응집도           (우논시 절교 순기응)

(낮음)

1. 우연적 : 서로 어떠한 연관관계가 없는 기능요소로 구성, 다른 상위모듈에 의해 호출되어 서로 다른기능 수행

2. 논리적 : 논리적으로 유사한 기능수행 but, 서로 관계는 밀접하지 않음

3. 시간적 : 특정시간에 실행되는 기능을 모아 작성

4. 절차적 : 반드시 특정 순서대로 수행

5. 교환적 : 요소들이 동일한 입출력 자료로 서로 다른기능을 수행

6. 순차적 : 한 요소의 출력data가 다음요소의 입력data로 사용

7. 기능적 : 모든 요소들이 단일 기능을 수행

(높음)

 - 결합도           (자스제외 공내)

(낮음)

1. 자료data (파라미터 통해 공유하는 경우)

2. 스탬프 (데이터구조 공유, 서로 다른 일부만 사용)

3. 제어 (다른 모듈로 정보를 넘기고 다른 모듈의 흐름을 제어하는 경우)

4. 외부

5. 공통(두 모듈이 같은 전역변수를 공유하는 경우)

6. 내용 

(높음)

 모듈화  : 기능단위 모듈로 분해하여 설계구현 기법,  Subroutine/function 등으로 표현
  : 지능적 관리에 도움, 복잡도 해결, 유지보수/ 수정 용이

 단위모듈 

: 한가지 동작(단위기능)을 모듈로 구현, 독립적 컴파일, 다른모듈에 호출,삽입가능

: 사용자나 다른모듈로부터 값을 전달받아 시작되는 작은 프로그램

> 구성요소 : 처리문, 명령문, 데이터구조

> 구현순서 : 단위기능 명세작성→ 입출력 구현기능→ 알고리즘 구현기능 (CLI와 GUI연동고려)

 공통모듈 

: 추상화, 성능향상, 공통 컴포넌트(자주 사용하는 기능) 구현기법, 재사용성/ 유지보수성↑

> 재사용 범위 :  컴포넌트, 객체, Application, Function

> 명세작성 기법 : 명확성/ 완전성/ 추적성/ 정확성(필요성을 알 수 있도록)/ 일관성(공통기능간 상호충돌되지 않도록)

   > 컴포넌트 명세서 :  컴포넌트 개요, 내부클래스 동작,인터페이스 통해 외부와 통신하는 명세 정의

   > 인터페이스 명세서 : 인터페이스 클래스의 세부조건/ 기능 정의

> Fan-in : 모듈을 제어하는 모듈의 수 (상위모듈 수) 

> Fan-out : 모듈에 의해 제어되는 모듈의 수 (하위모듈 수)

 

 효과적 모듈 설계방안 

: 결합도는 낮게 응집도는 높게 (독립성과 재사용성 향상)

: 복잡도와 중복성 낮게 (일관성 유지)

: 단일 입,출구/ 기능과 구조 이해하기 쉬운 크기로 분해

 

 GOF 디자인 패턴

: 생성패턴 5개/ 구조패턴 7개/ 행위패턴 11개로 구성, 서브시스템 컴포넌트와 그 관계를 설계

  PS.팩토리빌더 생성패턴    (암기방법)

 구조=F BAD comPosite 패턴   (암기방법)

 행위 mand MOV.st 패턴   (암기방법)


 모델링 

: 개발팀이 응용문제를 이해하는데에, 여러 분야 엔지니어들이 공통된 개념을 공유하는데 도움

> 사용하는 다이어그램 : UML, DataFlow(DFD), E-R 다이어그램

 DFD 

: 프로세스 위주의 모델링

> 구성요소 : Process , Data Flow ━>, Data Store , 단말

+ 다중값 속성

 UML 

: 의사소통을 위해 표준화한 모델링 언어, 시스템의 산출물을 규정/시각화/문서화하는 언어

: 단순화, 대규모 로드맵이나 개발을 위한 시스템 구축의 기본을 마련, 직관성↑

: SW시스템/ 업무 모델링 (시스템 상호작용, 업무흐름, 시스템 구조, 컴포넌트 관계등을 표시)

: 사물/ 관계/ 다이어그램으로 구성됨

 > 사물 

: 모델을 구성하는 기본요소, 다이어그램 안에서 관계가 형성될 수 있는 대상들

 - 구조사물 : 시스템의 개념적/ 물리적 요소를 표현

 - 행동사물 : 시간/공간에 따른 요소들의 행위를 표현

 - 그룹사물 : 요소들을 그룹으로 묶어서 표현

 - 주해사물 : 부가적인 설명이나 제약조건등을 표현

 > 관계 

일반화
Generalization
실체화
Relization
연관
Association
의존
Dependency
집합관계
Aggregation
구성(포함)
Composition
사물 -------▷기능 ━>
or

----------> ◇ 

- 일반화 : 하나의 사물이 다른사물에 비해 일반적인지 구체적인지 표현

- 실체화 : 오퍼레이션을 수행하도록 지정하는 의미적 관계

          : 사물이 할 수 있거나 해야하는 행위나 인터페이스로 서로를 그룹화 할 수 있는 관계

- 연관 : 2개이상의 사물이 서로 관련되어 있는 관계

- 의존 : 필요에 의해 짧은시간만 연관을 유지하는 관계, 명세 변경시 영향줌, 오퍼레이션의 매개변수로 사용

- 집합 : 하나의 사물이 다른 사물에 포함되어 있는 관계

- 포함 : 집합관계의 특수한 형태로 포함하는 사물의 변화가 포함되는 사물에게 영향을 미치는 관계

- 연산 Operation : 클래스의 동작 

 > 다이어그램 종류 

 구조다이어 Compo클래스 대패삼겹    (암기방법)

 행위다이어 Ase CommUse    (암기방법)


 E-R 다이어그램 

: 시스템안에 있는 모든 역할을 표현하여 뷰를 하나로 단일화 함

 > 표기법 

**

개체와 속성 연결 : 직선 

 >객체관계 모델

: 개념적 데이터 모델(논리적표현), 데이터 요소 간의 개체 간 관계가 기본요소임, DBMS 고려X, E-R다이어그램으로 표현

 

 Capability Maturity Model (CMM모델) 

1. 초기단계 (initial)

2. 관리단계 (Repeatable)

3. 정의단계 (Define)

4. 관리단계 (Managed)

5. 최적단계 (Optimizing)

 개체란? 

: 하나의 정보단위로 속성attribute가 모여 하나의 정보단위를 이룬 것

: 개체들 사이의 연관성 = 관계

 

 객체란? 

: 실세계에 존재하거나 생각할 수 있는 것, 식별가능한 이름, 상호연관성에 의한 관계가 형성됨

: 데이터와 데이터를 처리하는 함수를 캡슐화한 하나의 모듈, 반응가능한 메시지(행위)의 집합

   →속성, 상태(조건), 변수, 상수 자료구조  →객체상태 참조, 수단: 메소드, 서비스, 동작, 연산

: 클래스Class의 인스턴스Instance

 

 인스턴스란? 

: 객체를 실체화 한 것, 클래스에 속한 각 객체

 

 클래스란? 

: 공통된 속성attribute과 변수, 메서드, 연산을 갖는 객체들의 집합, 데이터를 추상화하는 단위

: 객체를 생성하기 위한 설계도/ 틀

 

 객체지향 

: 개체entity를 객체로 조립하여 작성할 수 있는 기법, 비절차적 언어

: 재사용/ 확장/ 유지보수가 용이함, 단계적/계층적표현으로 복잡한구조

> 구성 : 객체, 인스턴스, 클래스

> 설계원칙

> 설계절차 : 문제정의→ 요구 명세화→ 객체 연산자 정의→ 객체 인터페이스 결정→ 객체 구현

 

 객체지향 기법 

: 객체-속성/ 클래스-멤버 / 전체-부분(집단화) 으로 나누어 분석

            집단화  : 부분과 전체, 부분과 부분의 관계로 설명되는 연관성 

> 분석 방법론

Coad-Yourdon : 개체-관계모델 E-R다이어그램을 사용하여 객체의 행위를 데이터 모델링에 초점을 둔 방법
럼바우 : 데이터와 행위를 하나로 묶어 객체를 정의하여 추상화 시키는 방법
: 코드를 재사용하여 생산성 향상과 시스템 변경용이
분석활동
(객 동 기)
정보 - 객체모델링
 : 객체 다이어그램, 시스템에서 요구하는 객체 찾기, 가장중요, 객체 관계를 규정하여 표시함
상태 - 동적모델링
 : 상태다이어그램(상태도), 시간의 흐름에따라 동적인 행위를 표현함
흐름 - 기능모델링
 : 자료흐름도 DFD, 처리과정을 표현, 구조적분석
 > 구성요소 : 프로세스(○), 자료흐름(→), 저장소(-), 단말(□)
 > 기능모형설계 순서 : 입출력결정→ DFD작성→ 기능기술→ 제약사항 결정/최소화
 > 지침사항 : 프로세스 거쳐 변환시 새 이름을 부여함
 **프로세스가 출력자료 산출시 반드시 입력자료를 발생해야 함, 상위단계Process는 하위DFD의 자료흐름
Booch  : 미시적- 거시적 객체지향 방법

 

 정보은닉 

: 다른 모듈 구현에 영향받지 않게 설계, 모듈간 독립성 유지, 객체 속성/ 오퍼레이션의 일부를 감추어 외부접근 방지

: 대상 - 기본정보(IP,주소)같은 물리적 코드와 상세데이터 구조

 

 캡슐화 

: 중요 데이터를 보존/보호, 인터페이스만 밖으로 드러내며 그외 세부내용은 정보은닉 →외부모듈의 변경에 의한 영향 적음

: 외부에서 특정 메소드, 속성에 접근하지 못하도록 함 → 객체손상 방지, 재사용 용이, 오류파급 효과 적음

 

 상속 

: 자식이 부모를 선택, 부모클래스를 재사용하여 개발속도 향상됨 (하위 객체/클래스 기능 = 상위 객체/클래스 기능 + a)

: 코드중복 감소, 유지보수 용이, 객체의 다형성 구현가능

 

 다형성 

: 동일타입, 실행결과가 다양한 객체를 이용할 수 있는 성질, 자식객체들이 다른형태의 특성을 갖는 객체로 이용가능

: 객체/ 클래스는 동일한 메소드명 사용함, 객체 부품화 가능, 자식타입은 부모타입으로 자동 타입변환

 

 추상화 

: 불필요한 부분 생략, 객체 속성 중 가장 중요한것에 중점을 두어 모델화 한 것

: 완전한 시스템 구축 전, 시스템과 유사한 모델을 만들어 여러 요인들을 테스트 가능함 

 > 과정추상화(전반적 흐름파악 설계)

 > 데이터추상화(속성/용도 정의하지 않고 구조를 대표하는 표현으로 대체)

 > 제어 추상화(이벤트 발생 절차와 방법 정의하지 않고 대표하는 표현으로 대체)

 SW 생명주기(SDLC) 

요구사항 분석→ 설계→ 구현→ 테스트→ 유지보수

: 요구 분석부터 유지보수 전 공정을 체계화하는 절차 

=> Secure SLDC : 보안극복을 위함

 

 생명주기 개발표준 ISO/IEC 12207 

> 기본공정 프로세스 (획득, 공급, 개발, 운영, 유지보수)

> 조직공정 프로세스 (관리, 기반구조, 훈련, 개선)

> 지원공정 프로세스 (품질보증, 검증, 확인, 활동검토, 문제해결)

 

 개발표준 

+ SPICE = 수준 0(불완전단계) ~ 수준5(최적화단계)

 

 SW 비용산정법 

- 결정요소 : 프로젝트(복잡도, 크기, 요구신뢰도), (인적, HD, SW)자원, (개발자 능력, 기간)생산성

- 종류

 SW테스트 원리 

- 결함집중 : 파레토법칙 (오류의 80% 중 전체모듈의 20%내에서 발견됨)이 원인

               : 소수 특정모듈에 결함이 집중되어 추가 발생 가능성↑

- 초기집중 : 요르돈법칙이 원인, 개발 설계시부터 고려, 조기발견가능, 재유입 방지

 

+)브록스 법칙 : 프로젝트 진행 중에 새 인원 투입시 프로젝트 완성이 지연됨

 

 SW개발 프레임워크 

- 주요기능 : 예외처리, 트랜잭션처리, 메모리공유, 데이터소스 관리, 쿼리/로킹 서비스 관리

- 종류

Spring : JAVA 오픈소스의 경량형, 동적 웹사이트, 전자정부 프레임워크 기반 기술
전자정부 : 공공사업과 효과적 구축을 위한 필요기능과 아키텍처 제공, 품질/재사용성을 높이기 위함
: 공통컴포넌트 중복개발 방지
닷넷 : Windows사 개발, 실행환경제공, 가상머신CLR에서 작동, 코드실행관리

 

 SW개발 방법론 

: 개발, 유지보수 등에 필요한 수행법과 도구를 체계적으로 정리, 표준화 한 것으로 생산성과 품질이 향상 됨

 

 인터페이스 

: 두 시스템/ 장치 사이의 정보와 신호 전달시(내/외부 모둘연계) 접점, 경계면

 > 설계서 (시스템 인터페이스 현황파악에 도움)

  : 시스템 사이 교환 데이터/ 업무/ 기능의 세부 인터페이스 정보/ 인터페이스 목록과 상세데이터의 명세내역 정의

 > 구축방식 

  - EAI : 연계성/ 효율성/ 확장성 ↑

  - ESB  : 관리/보안 용이, 높은수준 품질지원가능, 연계/데이터 변환, 서비스 중심 통합지향

             : 웹 서비스 지원등 표준기반의 인터페이스 제공 솔루션, 범용적사용을 위해 결합도 약하게 유지

> 모듈 간 기능식별

  - 연계 기능식별 : 시나리오 형태로 구체화하여 식별

  - 인터페이스 기능식별 : 인테페이스 동작(외부모듈 결과와 요청에 따른)에 필요기능 식별, 실질적 필요기능 선별해서 구현 

> 기능 구현 

  : 컴포넌트 /인터페이스 명세서 확인→ 데이터 표준, 모듈내부 설계서 통해 일관된 기능구현 정의→ 정의된 기능 구현 정형화(usecase다이어그램, 프로세스 형태로)

> 예외처리

   -  데이터 통신을 이용한 방법 AJAX기술 : JSON, XML객체 주고 받음   -  인터페이스 엔티티를 이용한 방법

 사용자 인터페이스 UI 

: 결과오류 최소화, 구체적 방법 제공, 사용성 향상과 상호작용 수단/방식 제공이 목적

: 쉽게 사용가능 하도록 사용자 요구사항 반영되도록 제작

 > 입력 인터페이스 종류 : 문자방식명령어 CUI / 그래픽 환경기반 마우스 GUI / 사용자 말,행동 기반 제스쳐 NUI

 > 설계원칙 : 직관성, 유효성, 학습성, 유연성

 > 개발시스템 기능 : 사용자 입력 검증, 에러/메시지 처리, 도움/ 프롬프트 제공

 

 아키텍처 

: 품질 요구사항을 반영하여 품질 속성을 결정, 시스템 구조/행위/뷰를 정의하는 개념적 모형 (SW기본구조)

: 개발시간 단축, 품질향상, 예측가능, 유지보수 용이함

> 프레임워크 - 구성요소: 아키텍처 명세서, 이해관계자, 관심사, 관점, 뷰, 근거, 목표, 환경, 시스템

> 아키텍처 4+1 뷰 : 고객요구사항을 정리해놓은 시나리오를 4가지관점에서 바라보는 SW적인 접근법

                              : 4개의 분리된 구조로 구성되는 아키텍처의 개념 제시해 충돌/ 요구충족 여부를 증명을 위해 usecas사용

                  - 구성요소 : (논리/구현/프로세스/배포) 뷰 + usecase(사용자, 설계자, 개발자, 테스트관점) 뷰

> 패턴종류

> 품질속성 

> 아키텍처 비용평가 모델

 - SAAM : 변경용이성, 가능성에 집중과 평가가 용이

 - ATAM : 품질속성 판단과 이해 상충관계를 평가

 - CBAM : ATAM중심, 의사결정에 대한 요구평가

 - ADR : 구성요소간 응집도를 평가

 - ARID : 전체 아키텍처가 아닌 특정부분의 품질요소에 집중하여 평가

 

 네트워크 장비 

- LAN card : point to point, Full/ Half 듀플렉스 (신호전달 방식)

- 스위치 : Full/ Half 듀플렉스 (신호전달 방식), HW 방식으로 스위칭

   > 스위칭 방식 - stored and forwarding :데이터를 모두 받은 후 스위칭 / - cut Through :목적지 주소 확인 후 바로

                     - Fragment-free = stored and forwarding방식 + cut Through방식

   > Switch Jamming : Map Table을 가득 채워 Hub처럼 동작 (스니핑 Sniffing)

   > Hierachical 3 Layer 모델

     : Access계층 (최초 연결지점, 사용자 통신 집약 후 전송(L2 사용)) → Distribution 계층(라우터, L3 사용)

       → Core 계층 → Core 계층에서 집약 후 인터넷에 연결 (백본 스위치 사용)

 - Hub : osi 1계층 장비, Half 듀플렉스 (신호전달 방식)

 - Bridge : osi 2계층 장비, SW방식 스위칭

 데이터  통신 

-종류

에러검사

패리티(Parity) 검사 순환중복 검사 (CRC방식) Block Sum Check Forword Error
Correction Check
전진에러 수정
정보비트 수와 에러발생 확률↓경우  많이 사용 오류검사필드 FCS와 함께 사용 블록의 각 비트를 가로 세로로 두번 확인 후 끝에 Parity Bit 추가해 전송  

 

동기제어문자

STX 시작 CTS 수신 SYN 동기유지 ACK 긍정응답 DLE 링크해제, 투과성
       (for 투명성)
ETX 종료 TRS 송신 ENQ 응답요구 NAK 부정응답

 트래픽  제어 

: 네트워크 성능유지와 보호를 위해 패킷 흐름과 양 조절하여 버퍼 Overflow 방지함

 - 교착방지

 - 흐름제어(패킷 양, 속도 규제)

     > Stop n Wait : ACK받아서 한번에 패킷 1개씩만

     > Sliding Window : 정해진 패킷 수(= window 크기) 만큼만, 전송지연이 긴 선로에 적합

 - 혼잡제어(패킷 수 조절)

AIMD
합 증가/곱 감소
전송시 문제 없는 경우 1씩 증가 / 문제 발생시 속도 절반으로 감소, 오래걸림
Slow-Start  타임아웃까지 공백↑
Fast Retransmit
재전송 
중복된 순번 패킷 3번 받을 때 재전송 -> 혼잡 감지, window크기 줄임
Fast Recovery
빠른 회복
혼잡 시 Window 절반으로 감소, 혼잡 후에 AIMD 방식으로 동작

 

+ 순방향 오류 제어 FEC 

   >  블록코드인 것 :  해밍/ CRC / BCH 코드

   >  아닌 것 : Convolution / Turbo 코드


 다중화 전송 방식 

: 넓은 대역폭을 가진 하나의 전송링크를 통해 여러 데이터를 전송

- 파장분할 FDM : 주로 유선방송에 사용, 간섭 방지하기 위해 보호대역 둠, 사람음성/데이터를 아날로그형태로 전송

- 시간분할 TDM > 동기식 STDM : 시간슬롯 고정적 할당                 

                        > 비동기식 ATDM : 데이터있는 채널만 차례대로 시간슬롯 이용하여 전송- 코드분할 CDM

 

 변조 방식 

- 변조 (=Keying)과정 : 표본화 → 양자화 → 부호화  /  복조 과정 : 복호화 → 여과

     > 아날로그 데이터 → 아날로그 신호 :  AM (진폭 변조) / FM (주파수 변조) / PM (위상 변조)

     > 아날로그 데이터 → 디지털 신호 : PCM (펄스부호 변조)

     > 디지털 데이터 → 아날로그 신호 : ASK (진폭편이 변조) / FSK ( 주파수편이 변조) / PSK (위상편이 변조) 

PSK 종류 DPSK QPSK (대역폭효율 2bit/hz) ODPSK
위상 차 180 90 45
위상편이 2위상 편이 4위상 편이 8위상 편이

+ 직교진폭 변조QAM = ASK+PSK (진폭, 위상 변조)  : 대역폭효율 8 bit/hz, PSK보다 오류확률↓, 2차원 벡터공간에 표현가능

+ QPSK = 두 개의 BPSK를 합성한 것, 피변조파 크기 일정, I/Q채널 두개가 존재

 

<변조 시>

a위상 = 2^n = n bit

b진폭 = 2^m = m bit

a위상 b진폭 한번에 전송할 수 있는 bit = n+m bit

전송속도bps =  x baud * (n+m)

 

양자화 레벨(계단수) = 2^n (n: 양자화 비트수)

네트워크 : 정보전달 위해 연결된 통신설비 집합

     > 광대역 WAN : 국가와 대륙간 연결, 속도 느림, 에러 발생률↑, LAN으로 연결된 통신망들을 연결하는 방식

     > 근거리 LAN : 속도 빠름, 에러 발생률↓, LAN끼리 스위치로 연결, 버스/링형 구조 사용

     > 부가가치 VAN : 전송기능 이상의 부가가치를 부여한 정보통신망

                           : 기본통신(전송)/ 네트워크(교환)/ 통신처리/ 정보처리 계층

 

▶ 네트워크 구축 

- 성형(star형)

 : P2P방식 회선, 중앙컴퓨터 통해 데이터 교환 => 중앙컴퓨터 고장 시 영향 O, 단말 제거 용이, 교환 노드 수 가장 적음

- 링형(루프형)

 : P2P방식 회선, 분산/집중제어 가능, 단방향/양방향 전송 가능, 단말 추가/제거 어렵 => 전송 지연 발생

- 버스형

 : 1개의 통신회선과 여러 단말로 구성, 회선길이 제한 있음, 구조가 간단, 단말 추가/제거 용이, 영향력↓,신뢰성↑

- 계층형(분산형)

 : 중앙컴퓨터와 일정 단말, 1개의 회선으로 구성, 분산처리 시스템 구성 방식

- 망형(mesh형)

 : 모든 컴퓨터와 단말이 서로 연결, 노드 연결성↑, 장애 시 다른 단말 사용/ 노드 n개, 회선=n(n-1)/2 개, 포트 n-1개

 

네트워크 구축 모델 

: 코어/ 분배/ 액세스 계층

 

데이터 통신방식 

- 단방향

- 양방향 > Half Duplex : 동시 X, 2 선식 선로 사용

            > Full Duplex : 동시 O, 4 선식 선로 사용, 전송량과 전송매체 용량이 큰 경우 적합

- 비동기식 : start bit, stop bit, 정보 bit로 구성된 한 문자 단위로 하여 전송 + parity bit (오류 검출을 위함)

               : 휴지기간 불규칙, 대량 전송 시 Farming Error 가능성↑, 오버헤드 가능성↓, 전송효율↓, 단거리에 적합

- 동기식 : 미리 정해진 만큼 문자열을 블록으로 생성, 타이밍 신호(클럭)를 공급하여 동기 유지

            : 휴지기간 없음, 전송속도와 효율↑, 오버헤드 없음, 버퍼 기억장치 필요, 원거리에 적합 

   > 문자 동기 : BSC 프로토콜

   > 비트 동기 : SDLC/ ADCCP/ HDLC 프로토콜

HDLC 프로토콜

 

 

 

 요구사항

> 정상적으로 운영되는데 필요한 제약조건 등을 나타내는 요구사항의 유형

 

 요구사항 개발 프로세스 

1. 도출

> 요구사항 도출 : 어떻게 수집할 것인지 식별하고 이해하는 과정

                        - 주요기법 : 인터뷰, 설문, 브레인스토밍, 프로토타이핑, Usecase

> 요구사항 추출 - 계획 시 정의한 범위에서 추출

> 요구사항 이해 - 실제적인 개발 첫 단계

 

2. 분석

> 요구사항 분석 : 명확하지 않거나 모호하기에 이를 걸러내기 위한 과정/ 비용과 일정에 대한 제약설정과 타당성 조사를 한다.

                         - soft tech사에서 개발한 분석자동화도구 SADT

> 분석 기법 - 요구사항 분류 

                  - 개념 모델링 : 쉽게 이해할 수 있도록 단순화하여 개념적으로 표현 (종류- usecase, DFD, 상태/객체/데이터 모델)

              - 요구사항 할당 : 구성요소를 식별

              - 요구사항 협상 : 문서상 요구사항 상충 여부 확인

              - 정형분석 : 구문과 의미를 갖는 정형화된 언어를 이용해 수학적 기호로 표현후 분석

> 요구사항 검증 : 요구충족여부 점검, 실제요구 반영 여부, 

> 요구사항 관리도구: 비용편익 분석, 변경추척, 변경에 따른 영향 평가

> 도메인분석 (정보수집, 배경분석) -> 개념모델링 (단순화)

> 기술구조설계 : 정형분석/ 정형화된 언어로, 수학적기호로 작성

 

3. 명세

- 스템 정의서, SW요구사항 명세작성, SW 설계 명세 작성

- 요구사항 명세서

    >명세기법 - 정형 : 수학적/ 모델링 기법, Z / VDM 기법사용, 간결함, 명세와 구현의 일치, 이해도가 낮음

                   - 비정형 : 상태 ,기능, 객체 중심으로 작성, 자연어 기반, 모호함

 

4. 확인

> 확인기법 - 요구사항 검토 : 문서화된 요구사항 검토

                 - 프로토타이핑 : 초기 요구사항으로 프로토타입 생성 후 변경되는 요구사항 반영하여 지속적으로 재작성하는 과정

                     (Prototype : 상품이나 서비스가 출시되기 전에 개발대상 시스템 또는 그 일부분을 개략적으로 만든 원형) 

              - 모델검증 : 요구사항 분석단계에서 개발된 모델이 요구사항을 충족시키는지 검증

              - 인수검사 : 사용자의 환경에서 요구사항들이 모두 충족되는지 사용자 입장에서 확인하는 과정

> 검토 - 동료검토 : 2~3명 이해 관계자들 모여 설명 들으며 결함 발견

          - 워크스루 : 동료들에게 명세 배포하여 검토 후 짧은 회의를 통해 초기 오류 발견이 목표

          - 인스팩션 : 명세 작성자 외 전문가들 모여 명세 결함 발견 

 현행시스템파악 

: 하위시스템 구성요소, 제공기능, 연계요소/ 적용기술요소/ Sw/ HD/ 네트워크 구성요소 파악

> 목적 : 시스템 개발범위와 이행방향 설정에 도움

> 구성요소 : 아키텍처, SW, HW, 네트워크 구성도

> 절차

+ Recent posts