안녕하세요 강정호입니다. 오늘은 책임 있는 객체 디자인에 대해서 공부 해보겠습니다. GRASP의 약자G : GeneralR : ResponsibilityA : AssignmentS : SoftwareP : Principles Object DesignWhat are inputs to Object DesignProcess Inputs2일간의 요구사항 분석 워크샵 20개 중에서 3개의 유즈케이스프로그래밍 경험다음 Elaboration iteration을 위한 계획large-scale과 논리적인 설계Artifacts to Object design유즈케이스 텍스트시스템 시퀀스 다이어그램오퍼레이션 컨트랙트 Object Design을 위한 활동은 무엇이 있는가?- 디자인 모델에서의 특정 유즈케이스가 어떻게 구현되는지..
안녕하세요 강정호입니다. 오늘은 소프트웨어 공학에서 말하는 Pattern에 대해 공부해 볼게요 What are patterns?1. 원칙과 솔루션이 구조화된 형식으로 문제를 해결할 수 있는 방법 2. 새로운 컨텍스트에서 적용할 수 있는 명명된 문제/ 솔루션의 페어. 3. 새로운 상황에 적용할 수 있는 방법 디자인 패턴을 사용하는 이유는 간단하다.객체지향적 코드를 재사용하기 위해서 좋은 패턴의 특징1. 문제를 해결해 준다. 2. 증명된 컨셉이다. 3. 해결책이 분명하지 않다. 4. 관계에 대해서 묘사한다. 5. 패턴은 중요한 인간적인 컴포넌트를 가진다. 패턴의 타입1. Architectural Patterns: 소프트웨어 시스템의 근본적인 구조를 표현한다 2. Design Patterns: 소프트웨어의 서..
안녕하세요 강정호입니다. 오늘은 UML에 대해서 공부해 볼게요 객체를 설계하는 동안 생각해야 할 것(UML Object를 그리면서)1. Object의 책임은 무엇인가? - 어떤 책임을 Object에게 할당해야 하는가를 생각해야 한다. 2. 이 Object와 협력하는 것은 무엇인가?- 해당 Object와 관계를 맺고 있는 다른 Object들은 무엇이 있는가? 3. 어떤 디자인 패턴을 적용해야 하는가? UML 블록을 구성하는 3가지 요소1. Things 객체2. Relationship 관계3. Diagrame 다이어그램 UML이 가져야 하는 것들1. Structural things : 구조적인 것들이 필요하다.2. Behavioral things : 어떤 행동에 대해서 표현해야 함.3. Grouping th..
안녕하세요 강정호입니다. 오늘은 객체지향적 분석 설계에서 "레이어를 사용한 논리적 아키텍쳐"에 대해서 공부해볼게요 소프트웨어 아키텍쳐란?성능, 수정 가능성 및 보안 등과 같은 시스템 품질의 중요 요소아키텍쳐는 소프트웨어 시스템을 구성하는 중요한 결정들의 모음 또는 구성요소이다.시스템을 구성하고 있는 구조요소와 그것들의 인터페이스 논리적 아키텍쳐란?논리적 구조는 소프트웨어 클래스를 패키지, 서브 시스템 및 레이어(정적보기)로 대규모 조직화 한 것이러한 요소가 서로 다른 물리적 플랫폼 간에 배포되는 방법에 대한 결정이 없기 때문에 논리적 아키텍쳐라고 한다. 레이어 아키텍쳐란?시스템의 주요 관점에서 응집력 있는 responsibility를 갖는 클래스, 패키지 및 서브시스템을 큰 크기로 묶어 놓은 것. 계층은..
안녕하세요 강정호입니다. 오늘은 도메인 분석설계에서 요구사항 분석에 대해 공부해 볼게요. 요구사항 분석 System Sequence Diagram이란?- Use case의 특정 시나리오에 대해 외부 Actor가 생성하는 이벤트, 순서 및 시스템 간 이벤트를 보여주는 그림 왜 SSD를 그려야 하는가?- 어떤 이벤트가 시스템에서 발생하는지 식별, 예측하기 위해서- 시스템 동작을 블랙 박스로서 정의하기 위해서. 즉 어떤 input이 들어오면 어떤 output이 나가는지 판단하기 위해서.- 외부 액터가 시스템에 요청을 했을 때, 시스템의 동작을 묘사하기 위해서. SSD의 역할은 무엇인가?1. 시스템과 액터의 역할 설명 : 소프트웨어 시스템과 시스템 외부의 액터가 어떻게 상호작용하는 가를 설명 2. 이벤트 핸들링..
안녕하세요 강정호입니다. 오늘은 도메인 모델의 연관관계를 추가하는 것에 대해 알아보겠습니다. 도메인 모델 연관관계1. 연관관계(Association)- 정의 : 클래스와 클래스 사이의 의미 있는 연결.- 기억할 필요가 있는 연관관계 : 일정 기간동안 연관관계가 보존되어야할 필요가 있는 것들이 있다.(뭔 솔?) 예제- Sales인스턴스들과 관계를 맺고 있는 SalesLineItem 인스턴스들을 기억할 필요가 있는가?- 현재 Sale과 매니저의 관계에 대한 메모리를 확보해야 하는가? UML Notation 1. 네이밍 방법- ClassName - 동사구 - ClassName format- 예시1 : Sale Paid-by Cash Payment- 예시2 : Player IsOn Square- 예시3 : Re..
안녕하세요 강정호입니다. 오늘은 도메인 분석 설계에서 Domain Model의 역할에 대해서 알아보겠습니다. 도메인 모델링을 하는 이유 Domain Model : 컨셉의 시각화(Visualizing Concept) 1. 도메인 모델은 소프트웨어 구성요소(Software Component)가 아니다- 개념적 클래스(즉 도메인)은 아이디어와 객체로 구성.- 현실 세계의 객체를 시각화 한 것이다.- 다음 구성요소들은 도메인 모델의 구성요소로서 적합하지 않다.1) 윈도우, 데이터베이스와 같은 소프트웨어2) 메서드- 도메인 모델과 디자인 모델의 표현상의 갭을 줄이기 위한 목적으로 사용1) Lower representational gap(LRG) : Use case 모델만으로는 바로 설계하기가 어렵다. 왜냐하면 U..
Elaboration 단계 오늘은 Inception 다음 단계인 Elaboration 단계에 대해서 알아볼게요 Elaboration 단계의 목표- 리스크가 있고 코어가 되는 기능들이 구현되고 테스트 된다.- 주요 요구사항들이 안정화 된다.- 주요 리스크가 식별되고 없어진다. Elaboration 단계를 한마디로 요약하면"코어 아키텍쳐를 빌드 후 리스크가 높은 요소들을 해결하고 대부분의 요구사항을 정의한다.그리고 전반적인 스케쥴과 필요한 자원에 대해 견적을 낸다"** 시험 문제 나올 가능성 : 해당 지문을 주고 무슨 단계인지 맞혀보라 리스크와 이슈의 차이- 리스크 : 리스크는 아직 발생하지 않은 일. 발생할 가능성을 가진다. - 이슈 : 이미 발생한 문제이다. 도메인 모델이란 무엇인가? 도메인의 정의- 개..
[Inception 인셉션] 인셉션이란 무엇인가?딱 듣고 생각하는 디카프리오 주연의 인셉션이 아닙니다 ㅋㅋㅋㅋ 도메인 분석 설계에서 말하는 Inception의 정의는 다음과 같아요. Inception 요약- 제품의 범위, 비전, 비즈니스 케이스를 시각화 한것.- 제품의 비전에 대해 이해관계자들의 기본적인 동의를 얻는 것- 프로젝트에 들어가는 비용을 추청하는 것 인셉션 단계의 산출물 **시험문제 : Inception 단계에 해당하는 업무가 아닌 것은?1) 비전과 비즈니스 케이스2) 유즈케이스 모델- 모든 유즈케이스의 이름들이 정의 되어야함.- 10%의 유즈케이스들이 분석 되어야함. 3) Supplement Specification(보충 사항)4) Glossary(용어 정리)5) Risk list(리스크 목..
[소프트웨어 개발 모델]1. 폭포수 모델 한 단계를 완벽하게 끝내고 그 다음 단계를 진행하는 방식. 이전 단계로 돌아갈 수 없다는 리스크가 있다. - 특징 : 순차적으로 진행되는 것이 Waterfall 방식이다. 각 단계를 완벽하게 해야 한다. - 한계점 : 일이 진행되기 어렵다. 수정사항이 많을 때 변동이 불가능하다.- Waterfall 방식은 왜 실패하는가?1) 큰 프로젝트의 경우 25~30%가 수정이 된다.2) 계획만 하다가 프로젝트가 끝난다. 2. 반복, 점진 모델(Iterative and Incremental Process) 우선순위가 높은 것(리스크가 큰것)을 먼저 개발하며 동시에 요구사항을 분석, 설계한다. 도중에 수정사항이 요구되면 아직 구현되지 않은 것은 쉽게 수정하고, 구현 되었다면 많..
오늘은 소프트웨어 공학에서 말하는 분석(Analysis)와 디자인의 차이를 공부해보겠습니다. [분석과 설계] 분석(Analysis)- 분석은 What에 관한 것이다. 즉 어떤 것을 만들어야 하는가?에 대한 질문.- Do the Right Thing : 어떤 것을 만드는 게 맞는 것인가? 디자인(Design)- 디자인은 How에 관한 것이다. 분석 이후에 어떻게 설계를 해야하는가?에 대한 질문- Do the thing Right : 옳은 방식으로 설계 방향을 가져야 합니다. 요구분석(Analysis) --> 요구사항 명세서 --> 설계(Design) --> 구현 위의 순서로 분석, 설계가 이루어집니다. 객체지향적 분석이란? 객체지향적 분석(Object-Oriented Analysis) : 요구사항에서 Ob..
- Total
- Today
- Yesterday
- 바
- front
- 깃
- 유즈케이스
- 깃허브
- 개발자 회고
- 월부닷컴
- push_back
- Use case
- 도커
- 부동산공부
- 폭포수
- 열반스쿨기초반
- 내년은 빡세게!!
- pop_back
- 재테크공부
- 파라메터
- 월급쟁이부자들
- GIT
- docker
- resize
- ```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````
- 회고
- 관계대수
- 2023년
- Spring boot
- github
- Inception
- 작성 방법
- 인셉션
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |