본문 바로가기
728x90

소프트웨어공학

일정 계획 기법

WBS(작업 분해) PERT/CPM, 간트차트

럼바우 분석 기법 - 객체, 동적, 기능

객체 모델링, 동적 모델링, 기능 모델링

객체 모델링 시스템에서 요구하는 객체를 찾아 객체들의 특성 규명

동적 모델링 상태도 이용하여 객체들의 흐름 제어, 상호 반응 연산 순서 나타내주는 과정

기능 모델링 자료흐름도를 사용하여 프로세스들의 처리 과정 기술

소프트웨어 품질 목표

효율성 Efficiency 요구되는 기능을 수행하기 위해 필요한 자원의 소요 정도

**정확성 Incorrectness** Correctness 사용자의 요구 기능을 충족시키는 정도

****무결성 Integrity**** 허용되지 않는 사용자나 자료의 변경을 제어하는 정도

****신뢰성 Reliability**** 옳고 일관된 결과를 얻기 위해 요구된 기능을 오류 없이 수행할 수 있는 정도

비용 산정 도구

**Putnam 모형**

소프트웨어 개발 주기 간 단계별로 요구할 인력의 분포를 가정하는 모형

Putnam 모형 + Payleigh Noden 곡선을 기초로 개발한 자동화 추정 도구: SLIM

**COCOMO 모형**

보헴이 제안한 모형으로 프로그램 규모에 따라 비용을 산정, 낙관치, 기대치

****Organic**** 5만 라인 이하

Semi-Detached 3만 라인 이하

**Embedded** 그 이상

비용 산정 단계와 적용할 인수에 따라 Basic, Intermediate, Detailed 형으로 구분합니다

LOC(Line of code) 기법을 사용합니다

예상 비용 = (낙관 정도 + 4*기대 정도 + 비관 정도) / 6

자료 사전 Data Dictionary

= ~로 구성되다 (정의) in composed of

+ and 로 자료 연결

{ } 반복 iteration of

[ | ] or (택일) choose only one of

( ) 생략 optional

* * 주석 comment

CASE Computer Aided Software Engineering

소프트웨어 개발 과정의 전체 또는 일부를 컴퓨터와 전용 소프트웨어 도구를 사용하여 자동화하는 것

소프트웨어 생명 주기의 “어느 부분을 지원하느냐” 에 따라 상위CASE, 하위CASE, 통합CASE로 분류됨

**상위 CASE**

소프트웨어 생명주기의 ‘상위=전반’ 부분인 요구분석, 설계 단계를 지원하는 CASE

ex) 모델들 사이의 모순 검사 기능, 모델의 오류 검증 기능, 자료흐름도 작성 기능

****하위 CASE****

소프트웨어 생명주기의 ‘하위=하반’ 부분인 코드의 작성과 테스트, 문서화하는 과정을 지원하는 CASE

ex) 전체 소스코드 생성 기능

**통합 CASE**

소프트웨어 생명주기에 포함되는 전체 과정을 지원하는 CASE

++ 소프트웨어 생명 주기

타당성 검토 → 개발 계획 → 요구 사항 분석 → 설계 → 구현 → 테스트 → 유지보수

소프트웨어 재공학

분석 소프트웨어 기능을 분석

개조 기능을 더 좋게 만듦

이식 호환성 좋게 만듦

역공학 소프트웨어 뜯어보는 것

데이터통신

ARP

네트워크에서 두 호스트가 성공적으로 통신하기 위하여 각 하드웨어의 물리적인 주소 문제를 해결해 줄 수 있다

목적지 호스트의 IP 주소를 MAX 주소로 바꾸는 역할을 한다

ARP 캐시를 사용하므로 캐시에서 대상이 되는 IP 주소의 MAC 주소를 발견하면 이 MAC 주소가 통신을 위해 사용된다

주소 결정 프로토콜로 IP(3계층-네트워크 계층)를 MAC(2계층-데이터 링크 계층)로 대응시킬 때 사용하는 프로토콜

TTL(주소의 유효기간) 값이 0이 되면 해당 주소는 폐기된다

양자화 과정 - PCM

PCM은 코덱의 기술로, 표본화 → 양자화 → 부호화 → 복호화 → 여파화 과정

이때, 양자화 단계에서 PCM 펄스의 아날로그 값과 양자화된 PCM 펄스의 디지털 값의 차이(오차)를 양자화 잡음이라 한다.

양자화 잡음은 PCM극 장치에서 발생하고, 전화나 핸드폰 통화 시 상대방의 음성이 실제 음성과 차이가 나는 현상!

IP 주소 클래스

A Class 0 ~ 127 (0.0.0.0 ~ 127.255.255.255)

B Class 128 ~ 191 (128.0.0.0 ~ 191.255.255.255)

C Class 192 ~ 223 (192.0.0.0 ~ 233.255.255.255)

D Class 224 ~ 239 (224.0.0.0 ~ 239.255.255.255)

E Class 240 ~ 255 (240.0.0.0. ~ 255.255.255.255)

회선 교환망 방식 Circuit-Switched

송수신 단말장치 사이에서 데이터를 전송할 때마다 통신 경로를 설정하여 데이터를 교환하는 방식

공간 분할 방식과 시분할 방식으로 구분된다

통신할 때마다 매번 통신 경로를 설정하고, 통신 중에 전송제어절차, 정보의 형식 등에 제약이 없어 비교적 원거리 통신에 적합

전용 전송로로 전송하기 때문에 독점 사용, 주변의 트래픽의 영향을 받지 않아 중간에 회선이 끊어지는 일은 없음

231101 2019-2

비동기식 전송

한 문자를 나타내는 부호(문자코드) 앞, 뒤에 Start bit와 Stop bit를 붙여서 byte와 byte를 구별하여 전송하는 방식

많은 데이터를 보내면 Framing Error의 가능성이 높아지고, 약 2Kbps 이하의 저속 단거리 전송에 사용된다

오류 검출을 위해 패리티비트를 추가하기도 한다

Framing Error

송신측과 수신측 샘플링 시점이 달라서 발생하는 오류

비동기식 전송에서 start bit와 stop bit 사이에 더 많은 비트들을 전송함으로써 오버헤드 비율을 줄일 수 있으나 비트들이 많을수록 프레이밍 에러가 발생할 가능성이 커진다

회선 교환 vs 패킷 교환

회선 교환

전송 지연이 거의 없어 실시간 전송 가능

오류 제어가 사용자에 의해 수행되어 용이하다고 할 수 없다

패킷 교환

패킷 단위로 저장하고 전달하는 방식

속도나 코드 변환 가능

패킷 교환망의 경로 배정

Flooding 범람경로제어

Static Routing 고정경로제어

Adaptive Routing 적응경로제어

Random Routing 임의경로제어

4위상 변조라면…

00 01 10 11 ⇒ 2bit로 해결 가능

RTP Real-Time Transport Protocol

멀티캐스트나 유니캐스트 통신 서비스를 통하여 비디오와 오디오 스트림 또는 시뮬레이션 같은 실시간 특성을 가지는 데이터의 종단간 전송을 제공해주는 UDP 기반의 프로토콜

실시간 특성을 가지는 데이터의 종단 간 전송을 제공해주는 UDP 기반의 프로토콜

Extension은 헤더 다음에 확장 헤더가 있음을 의미

VAN

부가가치 통신망으로 단순한 통신기능 이외에 통신처리, 내용 변경을 통한 부가가치를 창출하는 정보처리를 통신하는 서비스

통신용량

단위시간 동안 전송회선이 최대로 전송할 수 있는 통신 정보량 ⇒ 샤논의 정의

BW * log_2(1+신호전력S/잡음전력N)

728x90

개발자 호소인