분류 전체보기(171)
-
디자인 패턴 / 인터페이스 요구사항 검증
디자인 패턴 * 아키텍처 패턴 > 디자인 패턴 * 서브시스템에 속하는 컴포넌트들과 그 관계를 설계하기 위한 참조 모델 아키텍처는 전체 시스템의 구조를 설계하기 위한 참조 모델 1. 생성 패턴 - 추상 팩토리 : 서로 연관되고 의존 관계가 있는 객체들을 그룹으로 생성하여 추상적으로 표현 - 빌더(생성자) : 객체의 생성 과정과 표현 방법 분리 -> 동일한 객체를 생성해도 서로 다른 결과 - 팩토리 메소드 : 객체를 생성하기 위한 인터페이스를 정의하여, 어떤 클래스가 인스턴스화 될 것인지를 서브클래스가 결정하도록 하는것 - 프로토타입 : 원본 객체를 복제하는 방법 - 싱글톤 : 하나의 객체를 여러 프로세스가 동시에 참조할 수 없음 2. 구조 패턴 - 어댑터 : 호환성이 없는 클래스 인터페이스를 이용할 수 있..
2023.02.14 -
공통 모듈 / 코드
공통 모듈 1. 정확성 - 시스템 구현 시 해당 기능이 필요하다는 것을 알 수 있도록 정확히 작성 2. 명확성 - 해당 기능에 대해 일관되게 이해되고, 한 가지로 해석될 수 있게 명확하게 작성 3. 완전성 - 시스템 구현을 위해 필요한 모든 것을 기술 4. 일관성 - 공통 기능들 간 상호 충돌이 발생하지 않도록 작성 5. 추적성 - 기능에 대한 요구사항의 출처, 관련 시스템 등의 관계를 파악할 수 있도록 작성 6. 재사용 규모에 따른 분류 - 함수와 객체 - 컴포넌트 - 애플리케이션 코드 * 식별, 분류, 배열, 간소화, 표준화, 연상, 암호화, 오류 검출 1. 순차 코드 - 일정 기준에 따라 최초의 자료부터 차례대로 일련의 번호를 부여하는 방법 2. 블록 코드 - 공통성이 있는 것끼리 블록으로 구분하고..
2023.02.14 -
결합도 / 응집도
결합도 (Coupling) * 결합도는 모듈 간 상호 의존하는 정도 * 결합도가 낮을수록 독립적인 모듈이고 좋은 것이다. 1. 내용 결합도 - 한 모듈이 다른 모듈의 내부 기능 및 그 내부 자료를 직접 참조하거나 수정할 때의 결합도 2. 공통 결합도 - 공유되는 공통 데이터 영역을 여러 모듈이 사용할 때의 결합도 (전역 변수) 3. 외부 결합도 - 어떤 모듈에서 선언한 변수를 외부의 다른 모듈에서 참조할 때의 결합도 (순차적) 4. 제어 결합도 - 어떤 모듈이 다른 모듈 내부의 논리적인 흐름을 제어하기 위해 제어 신호를 이용하여 통신하거나 제어 요소를 전달하는 결합도 5. 자료 결합도 - 어떤 모듈이 다른 모듈을 호출할 때 매개 변수로 데이터를 넘겨주고, 호출 받은 모듈은 데이터에 대한 처리 결과를 다시..
2023.02.14 -
아키텍처 패턴 / 객체지향
아키택처 패턴 * 아키택처란 ? 전체 시스템의 밑그림 1. 레이어 패턴(Layers Pattern) - 시스템을 계층(Layer)으로 구분하여 구성하는 고전적 방법 2. 클라이언트 - 서버 패턴 - 하나의 서버 컴포넌트와 다수의 클라이언트 컴포넌트로 구성되는 패턴 - 클라이언트나 서버는 독립적이다. - 다만, 응답을 받기 위해 동기화 되는 경우 제외 * 컴포넌트 : 독립적인 기능을 수행하는 실행코드 기반으로 작성된 모듈 3. 파이프-필터 패턴 - 데이터 스트림 절차의 각 단계를 필터 컴포넌트로 캡슐화해 파이프를 통해 데이터를 전송하는 패턴 - 필터 컴포넌트는 재사용이 좋고, 확장에 용이하다. - 필터 컴포넌트를 재배치하여 다양한 파이프라인 구축이 가능 4. 모델-뷰-컨트롤러 패턴 - 모델 : 핵심 기능과..
2023.02.14 -
품질 요구사항 / 소프트웨어 아키텍처
품질 요구사항 1. 국제 제품 품질 표준 - ISO/IEC 9126 - ISO/IEC 12119 - ISO/IEC 14598 - ISO/IEC 25000 : SW 품질 평가 통합 모델 (SQuaRE) - 관리,모델,측정,요구,평가 2. ISO/IEC 9126 - 기능성 : 요구사항을 정확하게 만족하는 기능을 제공하는가 ? - 신뢰성 : 요구된 기능을 정확하고 일관되게 오류 없이 수행하는가 ? - 사용성 : 사용자가 정확하게 이해하고 사용하는가? - 효율성 : 할당된 시간 동안 한정된 자원으로 얼마나 빨리 처리하는가 ? - 유지 보수성 : 환경의 변화에 소프트웨어를 쉽게 개선, 확장, 수정할 수 있는가 ? - 이식성 : 소프트웨어를 다른 환경에서도 쉽게 적용할 수 있는가 ? - 기신사효유이 3. ISO/I..
2023.02.13 -
UML / 사용자 인터페이스
UML 1. UML (Unified Modeling Language)의 구성 요소 - 사물 - 관계 - 다이어그램 (1) 사물 - 구조 - 행동 - 그룹 - 주해 (2) 관계 - 연관 - 집합 - 포함 - 일반화 - 의존 - 실체화 (3) 구조적, 정적 다이어그램 - 클래스 - 객체 - 컴포넌트 - 배치 - 복합체 구조 - 패키지 (4) 행위, 동적 다이어그램 - 유스케이스 ( 사용 사례) - 시퀀스 - 커뮤니케이션 - 상태 - 활동 - 상호작용 개요 - 타이밍 사용자 인터페이스 (UI : User Interface) 1. UI의 구분 - CL(Command Line)I : 텍스트 형태로 이루어진 인터페이스 - G(Graphic)UI : 마우스로 선택해 작업하는 그래픽 환경의 인터페이스 - N(Natur..
2023.02.13