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