Major/소프트웨어 공학

[쉽게 배우는 소프트웨어 공학(2판)] 연습문제 6장 답

과로사한 공돌이 2023. 10. 24. 08:58
728x90
반응형

IT CookBook, 쉽게 배우는 소프트웨어 공학(2판)

반응형

IT CookBook, 쉽게 배우는 소프트웨어 공학(2판)

 

  • 저자 :김치수
  • 출간 :2021-06-30
  • ISBN :9791156645429

[쉽게 배우는 소프트웨어 공학(2판)] 연습문제 솔루션

Chap6. 아키텍처 설계와 클래스 설계

  1. 4) 세부내용도 자세히 다루는 것이 좋다.
  1. 2) 구현에 대한 제약 사항까지 정의할 필요는 없다.
  1. 4) 설계 품질 속성
  1. 1) 가용성
  1. 2) 데이터 중심형 스타일
  1. 2) 서브시스템이 입력 데이터를 받아 처리하고 결과를 다음 서브시스템으로 넘겨주는 과정을 반복한다.
  1. 3) 서브시스템이 입력 데이터를 받아 처리하고 결과를 다른 시스템에 보내는 작업이 반복된다.
  1. 3) 개발 관점
  1. 2) 논리적 관점에서는 계층 구조, 제약 사항, 코드 재사용 등과 같은 시스템 구현을 위한 요건을 보여주는 데 초점을 둔다.
  1. 3) 프레임워크(framework)
반응형
  1. 3) 클라이언트 서버 구조 - 인터넷 쇼핑몰
  1. 3) 애플리케이션과 관련된 데이터 및 데이터 처리에 대한 로직을 가지고 있다 .
  1. 4) 구현의 상세화
  1. 1) logical view
  1. 3) 프로세스 관점
  1. 2) 클래스
  1. 4) 집단화
  1. 3) 일반화 관계
  1. 2) 클래스
  1. 1) 3..6: 3부터 6까지의 모든 숫자를 나타낸다.
반응형
  1. 4) 의존 관계는 하나의 클래스에 있는 멤버 함수의 인자가 변해도 다른 클래스에 영향을 미치지 않는 관 계를 의미한다.
  1. 3) 실체화 관계
  1. 3) 실체화 관계
  1. 4) 리스코프 교체 원칙
  1. 1) 인터페이스 분리 원칙
  1. 3) LSP(Liskov Substitution Principle)
  1. 2) 개방 폐쇄 원칙(Dependency Inversion Principle): 클래스는 확장(extension)에 대해 열려 있어야 하고 변경(change)에 대해서는 닫혀 있어야 한다.
  1. 3) 의존 관계 역전 원칙(Dependency Inversion Principle)
  1. 2) 중복이 최대화된 코드 작성
  1. 2) 단순성
반응형
  1. 복잡하고 규모가 큰 소프트웨어를 개발하려면 전체 구조가 유기적으로 잘 구성되어야 한다. 또한 사용자가 만족할 만한 품질 좋은 소프트웨어를 개발하려면 요구분석과 설계 단계부터 품질 특성을 고려해서 개발해야 한다. 따라서 잘 정의된 구조의 품질 좋은 소프트웨어를 만들려면 소프트웨어 아키텍처가 필요하다. 아키텍처 설계로 소프트웨어가 어떤 구조이고 어떻게 동작할 것인지를 예측할 수 있으며 변경에 유연하게 대처할 수 있다.
    1. 소프트웨어의 골격을 나타내는 추상화된 전체 구조를 제공한다.
    1. 소프트웨어를 이루고 있는 여러 구성 요소(서브시스템, 컴포넌트)를 다룬다.
    1. 인터페이스를 통해 소프트웨어의 구성 요소가 어떻게 상호작용하는지를 정의한다.
    1. 세부 내용보다는 중요 내용(설계자(architect)가 주관적으로 판단하고 결정한 내용)만 다룬다.
    1. 설계에 적용되는 원칙과 지침이 있다
  1. 시스템을 사용할 때 발생할 수 있는 여러 가지 상황을 극복할 수 있도록 이를 반영해 아키텍처 설계를 해야 한다. 예를 들어 시스템의 도움말 기능은 사용자에게 실제 도움을 줄 수 있어야 하고 사용자가 원치 않는 상황에 놓인 경우에도 친숙한 사용자 인터페이스를 제공해 당황하지 않도록 설계해야 한다. 또한, 사 용자의 실수에도 오류의 영향을 최소화하도록 되돌리기(undo)나 취소(cancel) 기능을 제공해야 한다. 이처 럼 아키텍처 설계 시에는 사용자가 시스템을 사용할 때 불편을 느끼지 않도록 사용성이 반영되어야 한다.
  1. MVC 스타일은 사용자 인터페이스에 해당하는 뷰와 데이터 및 데이터 처리 로직에 해당하는 모델을 독립 적으로 분리해 변경에 대한 영향이 덜 미치도록 한 것이 장점이다. 이렇게 하면 사용자 인터페이스가 자 주 변경되더라도 모델에는 영향을 주지 않는다. 이처럼 약한 결합으로 설계하면 서로 영향을 덜 미치기 때문에 구조 변경을 요청할 때 수정하기가 쉽다.
  1. 저녁 식사에 손님을 초대하면 어떤 종류(Style)의 음식을 대접할 것인지 고민한다. • 종류를 결정(한식, 일식, 중식 등) 종류(style)가 결정되면 • 그에 맞는 재료가 결정된다. • 조리 방법이 결정된다. • 음식 담을 그릇이 결정 된다. ∴ architecture style이 결정되면 • SW 특성과 전체 구조를 알 수 있다. • 개발 방법도 알 수 있다.
반응형
  1. method overriding
  1. 2) A inst2 =new B();
    3) B inst3 =new B();

 

728x90
반응형