728x90

 

정보처리기사 실기시험을 준비하면서 개인적으로 정리한 학습 내용 ✍️

 


 

UI 화면 설계를 위한 산출물

  • 와이어 프레임 : 이해 관계자들과의 화면 구성을 협의하거나 서비스의 간략한 흐름을 공유하기 위해 화면 단위의 레이아웃을 설계하는 작업
  • 스토리보드 : 정책, 프로세스, 콘텐츠 구성, 와이어 프레임, 기능 정의, 데이터베이스 연동 등 서비스 구축을 위한 모든 정보가 담겨져 있는 설계 산출물
  • 프로토타입 : 정적인 화면으로 설계된 와이어 프레임 또는 스토리보드에 동적 효과를 적용하여 실제 구현된 것처럼 시뮬레이션을 할 수 있는 모형

 

객체 지향 설계원칙(SOLID)

  1. 단일 책임의 원칙(Single Responsibility Principle) : 하나의 클래스는 하나의 목적을 위해서 생성되며, 클래스가 제공하는 모든 서비스는 하나의 책임을 수행하는데 집중되어 있어야 한다는 원칙
  2. 개방 폐쇄의 원칙 (Open Close Principle) : 소프트웨어의 구성요소 (컴포넌트,클래스,모듈,함수)는 확장에는 열려있고, 변경에는 닫혀 있어야 한다는 원칙
  3. 리스코프 치환의 원칙(Liskov Substitution Principle) : 서브타입 (상속받은 하위 클래스)은 어디서나 자신의 기반 타입(상위클래스)로 교체할 수 있어야 한다는 원칙
  4. 인터페이스 분리의 원칙(Interface Segregation Principle) : 한 클래스는 자신이 사용하지 않는 인터페이스는 구현하지 말아야 한다는 원칙 / 클라이언트가 사용하지 않는 인터페이스 때문에 영향을 받아서는 안된다는 원칙
  5. 의존성 역전의 원칙 (Dependency Inversion Principle) : 실제 사용 관계는 바뀌지 않으며, 추상을 매개로 메세지를 주고 받음으로써 관계를 최대한 느슨하게 만드는 원칙

 

 

🌟 결합도(Coupling) 🌟: 결합도는 모듈 내부가 아닌 외부의 모듈과의 연관도 또는 모듈 간의 상호의존성을 의미하며, 결합도가 낮을수록 품질이 좋아짐 (내공외제스자 → 결합도 낮은 방향 _자료가 제일 좋음)

  1. 내용 결합도(Content) : 다른 모듈 내부에 있는 변수나 기능을 다른 모듈에서 사용하는 경우의 결합도
  2. 공통 결합도(Common) : 파라미터가 아닌 모듈 밖에 선언되어있는 전역 변수를 참조하고 전역 변수를 갱신하는 식으로 상호작용하는 경우의 결합도
  3. 외부 결합도(External) : 두 개의 모듈이 외부에서 도입된 데이터 포맷, 통신 프로토콜 또는 디바이스 인터페이스를 공유할 경우의 결합도
  4. 제어 결합도(Control) : 단순 처리할 대상인 값만 전달되는 게 아니라 어떻게 처리를 해야한다는 제어 요소가 전달되는 경우의 결합도
  5. 스탬프 결합도(Stamp) : 모듈간의 인터페이스로 배열이나 객체 , 구조 등이 전달되는 경우의 결합도
  6. 자료 결합도(Data) : 모듈간의 인터페이스로 전달되는 파라미터를 통해서만 모듈간의 상호작용이 일어나는 경우의 결합도

 

🌟응집도 (Cohesion) 🌟  : 모듈의 독립성을 나타내는 정도로, 모듈 내부 구성요소 간 연관 정도 / 응집도가 높을 수록 품질이 좋음(우논시절통순기 → 응집도가 높은 방향_기능적 응집도가 제일 좋음)

  1. 우연적 응집도(Coincidental Cohesion) : 모듈 내부의 각 구성요소가 연관이 없을 경우의 응집도
  2. 논리적 응집도(Logical Cohesion) : 유사한 성격을 갖거나 특정 형태로 분류되는 처리 요소들이 한 모듈에서 처리되는 경우의 응집도
  3. 시간적 응집도(Temporal Cohesion) : 연관된 기능이라기보다는 특정 시간에 처리되어야 하는 활동들을 한 모듈에서 처리할 경우의 응집도
  4. 절차적 응집도(Procedural Cohesion) : 모듈이 다수의 관련 기능을 가질 때 모듈안의 구성요소들이 그 기능을 순차적으로 수행할 경우의 응집도
  5. 통신적 응집도(Communication Cohesion) : 동일한 입력과 출력을 사용하여 다른 기능을 수행하는 활동들이 모여있을 경우의 응집도
  6. 순차적 응집도(Sequential Cohesion) : 모듈 내에서 한 활동으로부터 나온 출력값을 다른 활동이 사용할 경우의 응집도
  7. 기능적 응집도(Functional Cohesion) : 모듈 내부의 모든 기능이 단일한 목적을 위해 수행되는 경우의 응집도

 

UML 다이어그램 : 구조적(정적) 다이어그램 - 객체지향 소프트웨어 개발 과정에서 산출물을 병세화, 시각화, 문서화할 때 사용되는 모델링 기술과 방법론을 통합해서 만든 표준화 된 언어

  • 클래스 다이어그램 : 객체지향 모델링 시 클래스의 속성 및 연산과 클래스 간 정적인 관계를 표현한 다이어그램 클래스 다이어그램의 구성요소 
    클래스→속성,메서드,관계,의미를 공유하는 객체들의 집합 ,
    속성→
    구조적 특성에 이름을 붙인 것 ,
    연산(메서드) →
    행위적 특징, 접근제어자→ 클래스에 접근할 수 있는 정도
  • 객체 다이어그램 : 클래스에 속한 사물(객체)들, 즉 인스턴스를 특정 시점의 객체와 객체 사이의 관계로 표현한 다이어그램 / 연관된 모든 인스턴스를 표현
  • 컴포넌트 다이어그램 : 시스템을 구성하는 물리적인 컴포넌트와 그들 사이의 의존 관계를 나타내 다이어그램
  • 배치 다이어그램 : 컴포넌트 사이의 종속성을 표현하고, 그 결과물 , 프로세스, 컴포넌트 등 물리적 요소들의 위치를 표현하는 다이어그램
  • 복합체 구조 다이어그램 : 클래스나 컴포넌트가 복합 구조를 갖는 경우 그 내부 구조를 표현하는 다이어그램
  • 패키지 다이어그램 : 유스케이스나 클래스 등의 모델 요소들을 그룹화한 패키지들의 관계를 표현한 다이어그램

 

UML의 관계

  • 집합 관계 : 하나의 객체에 여러 개의 독립적인 객체들이 구성되는 관계 / 하나의 사물이 다른 사물에 포함되어 있는 관계를 표현 , 포함되는 쪽(부분)에서 포함하는 쪽(전체)으로 속이 빈 마름모를 연결하여 표현 (ex.차와 엔진, 바퀴, 운전대)
  • 복합 관계 : 영구적이고 , 집합관계보다 더 강한 관계로 구성 / 포함되는 쪽(부분)에서 포함하는 쪽(전체)으로 속이 채워진 마름모를 연결하여 표현 , 복합 관계는 집합관계의 특수한 형태로 포함하는 사물의 변화가 포함되는 사물에 영향을 미치는 관계
728x90
반응형

+ Recent posts