상세 설계 원리

Jeong seulho·2023년 5월 1일
0

소프트웨어 공학

목록 보기
19/25

📌step-wise refinement

  • 큰 흐름, 단계부터 정하면서 세부적으로 설계하는 것
  • 먼저 큰 3단계로 구분하고
  • 각 단계를 세분화

📌Abstraction(추상화)

  • 중요한 것은 드러나도록, 세부적이거나 중요하지 않은 것은 숨긴다

📖Procedural abstractions

  • procedural interface를 보여준다(큰 흐름)
  • prodecural의 내부 알고리즘은 숨긴다

📖Data abstractions(캡슐화)

  • data에대해 허용된 operations/inerfaces를 보여준다
  • data의 타입은 숨긴다(array, map, linked list 등)
  • class에서 private 멤버변수public 메소드를 이용하여 연산 하는 것

📌Modularization

📖Coupling(결합도)

  • 모듈끼리 얼마나 의존적인가
  • weak=good / strong=bad, 의존적이면 하나의 모듈로 만드는게 만드는 것을 고려

결합 레벨

  • 어느정도 결합되어 있는가 위에 있는 것이 weak, 잘 모듈화 되어있는 것

📖Cohension(응집도)

  • 하나의 모듈에 코드들이 서로 관계가 있는 것들이 모여있는가?
  • 하나의 모듈에 여러 기능들이 섞여있지는 않은가?
  • strong=good / weak=bad

응집도 레벨

  • 어느정도 응집되어 있는가 위에 있는 것이 strong, 잘 응집되었는 것

0개의 댓글