본문 바로가기

내일배움캠프

10일

10일차

정처기 정리 바쁨.

객체지향 분석

럼바우 모든 소프트웨어 구성을 그래픽 표기법을 이용하여 모델링
객체>동적>기능 모델링
객체 모델링:(Object, Information) 정보 모델링 시스템에서 요구되는 객체를 찾아 속성과 연산 식별 및 객체들 가늬 관계를 규정

동적 모델링 (Dynamic): 상태 다이어그램을 이용하여 시간의 흐름에 따른 객체 들간의 제어흐름, 상호 작용, 동작 순서 등의 동적인 행위를 표현

기능 모델링 (Function): 자료 흐름도를 이용하여 다수의 프로세스들 간의 자료 흐름을 중심으로 처리 과정을 표현
※ 자료 흐름도 : 자료의 흐름 및 변환 과정과 기능을 도형 중심으로 기술하는 방법

기호 : 프로세스/자료흐름/자료저장소/단말
프로세스 : 자료를 변환하는 시스템의 한 부분(처리과정)을 나타냄, 처리, 기능 변환, 버블이라고 함

자료 흐름 : 자료의 이동(흐름)이나 연관관계를 나타냄
자료 저장소 : 시스템에서의 자료저장솔(파일, 데이터베이스)를 나타내매
단말 : 시스템과 교신하는 외부 개체로, 입력데이터가 만들어지고 출력 데이터를 받음

Coad와 Yourdon 방법
E-R 다이어그램을 사용하여 모델링/ 객체 식별, 구조 식별 주제 정의 속성과 인스턴스 연결 정의, 연산과 메세지 연결 정의 등의 과정으로 구성

객체 지향 설계 원칙 5(SOLID)
단일책임원칙(SRP): 객체는 단하나의 책임만 가져야 함
개방-폐쇄 원칙(OCP) 기존의 코드를 변경하지 않고 기능을 추가할 수 있도록 설계해야 한다는 원칙
리스코프 치환 원칙(LSP) 자식 클래슨는 최소한 부모 클래스의 기능은 수행할 수 있어야 한다는 원ㄴ칙
인터페이스 분리 원칙(ISP) 자신이 사용하지 않는 인터페이스와 의존 관계를 맺거나 영향을 받지 않아야 한다는 원칙
의존 역전 원칙(DIP) 의존 관ㄴ계 성립 시 추상ㅇ성이 높은 클래스와 의존 관계를 맺어야 한다는 원칙


모듈 모듈은 모듈화를 통해서 분리된 시스템의 각 기능
모듈은 결합도 응집도에 의해 측정
결합도 : 모듈 간에 상호 의존하는 정도(약할수록 좋음)
강도 순서 : 내용>공통>외부>제어>스탬프>자료
응집도 : 모듈의 내부 요소들이 서로 관련 되어 있는 정도(강할수록 좋음)
기능 > 순차 >교환 > 절차> 시간 > 논리 > 우연

단위모듈/ 공통모듈
단위모듈 : 한가지 동작을 수행하는 기능을 모듈로 구현한것

공통모듈  여러프로그램에서 공통으로 사용할 수 있는 모듈

IPC  모듈 간 통신 방식을 구현하기 위해 사용되는 대표적인 프로그래밍 언어
Shared Meomory 공유 가능한 메모리를 구성하여 다수의 프로세스가 통신하는 방식
Socket 네트워크 소켓을 이용하여 네트워크를 경유하는 방식
Semaphores 공유자원에 대한 접근 제어를 통해 통신하는 방식



테스트 케이스 : 구현된 소프트웨어가 사용자의 요구사항을 정확하게 준수했는지를 확인하기 위한 테스트 항목에 대한 명세서

코드 : 자료의 분류/조합/집계/추울을 용이하게 하기 위해 사용하는 기호

디자인패턴 인터페이스를 설계할 때 참조 할 수 있는 전형적인 해결 방식

생성 패턴: 클래스나 객체의 생성과 참조 과정을 정의

추상 팩토리 : 구체적인 클래승에 의존하지 않고, 인니터페이스를 통해
서로 연관, 의존하는 객체들의 그룹으로 생성하여 추상적 표현

빌더 : 작게 분리된 인스턴스를 건축하듯이 조합하여 객체를 생성
동일한 객체 생성에도 서로 다른 결과를 낼 수 있음

팩토리 메소드 : 객체 생성을 서브클래스에서 처리하도록 분리하여 캡슐화한 패턴
상위 클래스는 엔터페이스만 정의 실제 생성은 서브클래스
가상 생성자

프로토타입 원본ㄴ 객체를 복제하는 방법으로 객체를 생성하는 패턴
일반적인 방법으로 객체를 생성하여, 비용이 큰 경우 주로 이용

싱글톤 : 하나의 객체를 생성하면 생성된 객체를 어디서든 참조
클래스네이서 인스턴스가 하나뿐임을 보장

구조 패턴 : 클래스나 객채들을 조합하여 더 큰 구조로 만드는 패턴
어댑터: 호환성, 인터페이스 일치 안 할때
브리지 : 구현부에서 추상층 분리, 서로 독립적으로 확장(기능/구현을 별도 클래스)

행위패턴 : 클래스나 객체들이 서로 상호작용하는 방법이나 책임 분배 방법을 정의한는 패턴

미들웨어 : 운영체제와 응용프로그램 또는 서버와 클라이언트 사이에 다양한 서비스를 제공하느 소프트

 

 

정처기 정리하던걸로 대체

'내일배움캠프' 카테고리의 다른 글

TIL 12일차  (1) 2024.04.30
TIL 11일차  (0) 2024.04.29
9일차  (0) 2024.04.25
8일차 TIL  (0) 2024.04.24
TIL 6일차  (0) 2024.04.22