정처기

ch1-2

브리오 2024. 7. 10. 17:45

오답

-미들웨어 : 비동기, 느린업무,

-비기능적 : 성능, 품질, 보안, 유지보수

-기능 : 진짜 동작하는 기능

-객체 : 클래스의 인스턴스, 속성값에 의해 정의

-캡슐화 : 속성과 관련된 연산을 클래스 안에 하나로 묶어서 취급하는 객체지향

-행동패턴 : 생성-만들기,구조-연결,행동-동작

-하향식 : 상위 인터페이스 정의 필요, 낮은 레벨 데이터 세부사항 설계 초기 단계 필요

-상향식 : 하위 부터 올라가면서 결합

둘다 인터페이스 없으면 기능추가 힘듬

-자료 저장 : 직선

-개방-폐쇄 : 확장 오픈, 변경 클로즈

-리스코프 : 자식이 부모 대체 가능

-의존성 역전 : 추상화된 인터페이스에 의존해야 한다

-gpl : 자유 소프트웨어

-럼바우 : 기능모델링,dfd, 유스케이스, 프로세스

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

sw설계

-상위 설계 : 아키텍처-데이터-인터페이스 정의-인터페이스 설계

-하위 설계 : 모듈-자료구조-알고리즘

-소프트웨어 구조도

모듈이 있을때 위에서 아래로 내려가는 구조

fan-in,fan-out : 개수를 뜻한다

위로 가면 fan-in : 재사용 용이, 단일 장애 발생 가능성, 높이고

아래로가면 fan-out : 불필요한 모듈 생길 수 있다, 낮추고

depth-width 기억

-구조설계 : 기능 관점, 자료, 알고리즘 중심 설계

-설계 기본원리 : 분할정복, 추상화, 모듈화

코드 설계

-코드의 기본 기능 : 표준화, 간소화

-코드의 3대 기능 : 분류,식별,배열

-코드의 부가 기능 : 연상, 암호, 오류검출

-코드 설계 목적 : 고유성(코드와 뜻이1:1 대응), 분류 편의성(목적에 맞는 분류)

-순차코드 : 확장성 좋음, 수정 힘듬, 일련번호 

-그룹분류 : 대-중-소

-표의 숫자 코드 : 숫자(수치)가 의미를 지닌다 (12-21-50)

-연상코드 : 코드가 의미를 지닐때 (tv-col-red)

-필사오류 : 한자리 잘못기록

-전위오류 : 숫자 2자리를 앞뒤로 잘못 바꿀때

-이중오류 : 전위 오류 2번

-임의오류 : 여러 오류 발생

구조적 분석

-구조적 분석 : 자료흐름도,자료사전,소단위 명세 사용

-자료 흐름도 : 버블차트, 입-출력 자료

-자료 흐름도:

1. 프로세스(process) - 동그라미-자료처리

2. 자료흐름(data flow) - 검정 화살표 - 자료이동

3. 자료 저장소 - 위아래 줄 - 시스템에서의 자료 저장소

4. 단말 - 네모 - 자료의 발생,종착지

-소단위 명세서 : 프로세스 명세도-세분화 후 구체화 한것, 분석가의 문서

-자료 사전

= 자료 정의

+ 자료 연결

() 자료 생략

| 자료 선택

{}  아래 n : 최소, 위 n : 최대

* 주석

-자료사전역할 : 자료흐름도, 하향식 분할 원칙

-소단위 명세서 : 세분화된 자료 흐름도에서 최하위 단계 프로세스

모듈

-재사용 가능, 자체 컴파일, 독립성(결합도, 응집도), 서브루틴=서스 시스템= 작업 단위

-결합도(coupling) : 낮을수록 좋음-유지보수 쉬워진다

사스제외공내 -> 갈수록 안좋아 진다

-자료 결합도 : 모듈간의 인터페이스가 자료 요소만으로 구성될때

-스탬프 결합도 : 두 모듈이 같은 자료 구조-배열,레코드

-제어 결합도 : 제어 하기 위한 목적

-외부 결합도 : 외부로 선언한 변수를 다른 모듈에서 사용

-공통 결합도 : 공통 자료 영역을 사용

-내용 결합도 : 다른 모듈의 내부를 참조

 

-응집도 : 모듈간에 얼마나 끈끈한지

-기능적 응집도 : 모든 기능이 하나의 문제 

-순차적 응집도 : 출력이 다음 모듈에서 사용

-교환적 응집도 : 같은 입,출력 사용

-절차적 응집도 : 기능을 순차적으로 수행

-시간적 응집도 : 특정시간에 처리되는 여러 기능

-논리적 응집도 : 유사한 성격

-우연적 응집도 : 관련없는것들

 

-모듈의 설계 특징 : 응집도는 강하게,결합도는 약하게, 입출구 한개씩,계층적

-재사용 규모에 따른 구분 : 함수,객체->컴포넌트->애플리케이션

-모듈 명세화 도구 : 순차,선택,케이스,반복구조

-n-s chart : 화살표x, 도형으로

sw architecture

-시스템 품질 속성 : 성능, 사용 운용성, 보안성, 시험 용이성, 가용성, 변경 용이성, 사용성

-sw architecture 특징 : 간략성, 추상화, 가시성, 복잡도 관리 종류

-프레임워크 : sw 해결에 필요한 기본구조 제공

-4+1 view model : logical(분석),implementation(구현),process(처리),deployment(시스템엔지니어),usecase(사용자)

-sw 아키텍처 평가 방법론 : 1.saam 2.atam 3. cbam 4. arid

sw architecture pattern

-파이프 필터 : 파이프(자료전송),필터(데이터 변경),노드와 간선으로 구성

객체지향

-현실세계를 속성과 메소드로 결합

-상위-하위(상속),클래스안에서(추상화),객체안에서(캡슐화)

-객체지향 특징 : 캡슐화(묶기),정보은닉(속성,메소드 숨기기),추상화(현실을 컴퓨터로,기능-제어-자료), 상속성(물려받기), 다형성(여려 모습으로 상속 받기)

-단위테스트 = 클래스

 

-오버로딩 : 매개변수 타입,개수 달라야 한다(같은 클래스)

-오버라이딩 : 매개변수 타입, 개수 같아야 한다(다른 클래스)

-SOLID : 단일 책임의 원칙, 개방-폐쇄의 원칙(확장 가능, 수정 불가),리스코프(부모자리에 자식도 가능, 상속의 원리)

-coad-your don  : e-r다이어 그램

-협약에 의한 설계 : 선행,결과,불변

-집단화 : part-whole, is-a-part-of

디자인 패턴

-디자인 패턴의 구성요소:

1. 필수 : 패턴이름, 문제 및 배경, 해법 ,결과

2. 추가 : 사례, 샘플 코드, 원리

-GoF : 유용한 설계를 디자인 패턴화

-생성패턴 : 객체를 생성할때

1. 팩토리 : 공장에서 만드는 방식 정하기

2. 싱글톤 : 전역 사용 x

3. 프로토 : 프로토 생성 -> 인스턴스 복제

4. 빌더 : 인스턴스를 조립,조합

5. 추상 팩토리 : 필요한것들마 뽑아서 조합

-구조패턴 : 

1. 아답터 : 기존 클래스의 내용을 재사용 할 수 있게(원활한 연결)

2. 브릿지 : 계층 연결

-행위패턴 : 중재자(통제,지시)

-팩토리 메소드 : 객체를 생성하기 위한 인터페이스 정의 하는 패턴

-디자인 패턴 : 절차형x, 객체지향적o

-gof : 생성,구조,행위

-옵저버 패턴 : 디자인 패턴에 포함x

인터페이스 요구사항

-기능적, 비기능적으로 구분

-인터페이스 요구사항 검증 방법

1.프로토타이핑-시제품

2.테스트설계

3.case

4.요구사항 검토 : 동료검토,워크 스루(회의전에 명세 배포 및 짧은 회의), 인스펙션(전문가의 감사)

대상식별

-인터페이스 주고 중계 받고

-통일된 기준 필요

-인터페이스 연계 기술 : 

1. 디비 링크 : 디비 링크 객체를 이용

2. 디비 커넥션 : 와스 사용

3. api  

4. 소켓 : 포트 할당, 클라이언트 요청 등등

-수신 시스템 : 송신된 데이터를 수신 시스템에 저장

연계기술

-soap : 웹서비스를 실제로 이용하기 위한 객체 통신 규약

미들 웨어

-미들웨어 솔루션의유형

1. 데이터베이스

2. tp-monitor : 자료 교환

3. orb : 중간에서 브로커 역할

4. rpc : 프로시저를 원격에서 호출

5. mom : 메시지 기반의 미들웨어

6. was : 서버-어플리케이션 접근

7. otm : 통합한 형태

 

-객체지향 미들웨어 : orb

-클라이언트-서버간의 통신 : 미들웨어

-웹서버는 미들에어 x

-트랜잭션은 tp-monitor