2025-04-08 17:31:15

중간고사 : 객관식 : 4지선다. 3점 20 or 4점 15

                 주관식 : 계산문제 10, 15, 15점

 

설계

분할과 정복

  • 분할 : 큰 소프트웨어 하나를 개발할 때 여러 개의 서브 시스템으로 세분화해 나누는 작업
    • 분할의 기준 : 
      • 분산 시스템은 클라이언트와 서버로 분할
      • 시스템은 여러 서브시스템으로 분할
      • 서브시스템은 하나 이상의 패키지로 분할
      • 패키지는 유스케이스나 여러 클래스로 분할
  • 정복 : 어느 정도 수준까지 분할했다면 말단에 있는 것부터 하나씩 개발하는 작업

 

추상화

  • 과정 추상화
  • 데이터 추상화
  • 제어 추상화

 

캡슐화

정보 은닉

상속

다형성

  • 오버로딩 (중복 정의)
  • 오버라이딩 (재정의)

모듈화

  • 모듈 평가 기준 1 : 응집도
    • 기능적 응집  : 단일 기능의 요소가 하나의 모듈을 구성
    • 순차적 응집 :  두 요소가 하나의 모듈로 구성
    • 교환적 응집 : 입력을 사용하는 구성 요소가 하나의 모듈로 구성
    • 절차적 응집 : 순서가 정해진 몇 개의 구성 요소가 하나의 모듈로 구성된 경우
    • 시간적 응집 : 모듈 내 구성 요소의 기능이 각기 다르고 요소의 출력을 입력으로 사용하는 것고, 요소 간에 순서가 정해진 것도 아님
    • 논리적 응집 : 구성 요소 간에 공톤점이 있거나 관련된 임무가 존재하거나 기능이 비슷해서 하나의 모듈로 구성된 경우
    • 우연적 응집 : 구성 요소들이 우연히 모여 구성

 

  • 모듈 평가 기준 2 : 결합도
    • 데이터 결합
    • 스탬프 결합
    • 제어 결합
    • 공통 결합
    • 내용 결합