전체 글
-
[OOP/UML] UP - Elaboration 단계 / OOILearn/OOP&UML 2022. 9. 21. 23:57
OOA와 OOD에서 만든 Domain Model, Design Model을 바탕으로 Implementation하는 단계 # Designing for Visibility 다른 객체에게 보여지거나 레퍼런스를 가지는 것을 Visibility라고 한다. 아래와 같이 A가 B에게 메시지를 보내려면 B는 반드시 A에게 visible해야 한다. Visibility는 Class Diagram을 그리거나 구현을 통해 확보할 수 있다. ## Visibility를 확보하는 4가지 방법 1. Attribute visibility B는 A의 attribute 아래와 같이 catalog를 가지고 있으면 된다. 2. Parameter visibility B는 method A의 parameter return으로 operator가 끝..
-
[OOP/UML] UP - Elaboration 단계 / OODLearn/OOP&UML 2022. 9. 21. 00:24
Elaboration 단계 중 앞 OOA 단계에서 Domain Model 및 Use-Case Model을 작성하였다. 그 다음은 OOD 단계로 Design Model을 작성하는데 Sequence Diagram을 그리고 Class Diagram을 그린다. OOA에서 OOD로 넘어갈때는 아키텍쳐가 확정되어 있어야 한다. # Logical Architecture Logical architecture란, 소프트웨어 클래스를 package, subsystem, layer로 묶어놓은 것을 뜻한다. UML Package Diagram으로 그린다. ## Layered Architecture 보통 아래와 같이 구성된다. 1. User Interface layer 흔히 아는 UI 레이어 External User가 여기로 ..
-
[OOP/UML] UP - Elaboration 단계 / OOALearn/OOP&UML 2022. 9. 18. 23:12
# 개요 중요하고 리스크있는 아키텍쳐를 구현하고 테스트하는 단계 요구사항이 수정될 수는 있지만 이 단계가 끝날때는 확정되어야 한다. 아키텍쳐/클라이언트 관점에서 리스크를 줄여나간다. # Artifacts Iteration마다 리스크 관점에서 중요한 Use-case를 선택하여 아래와 같은 작업들을 한다. OOA에서는 Domain Model을 작성하는데, 그 전에 Use-case Model 작성이 필요하다. Inception 단계에서는 Brieft 레벨이였다면 Elaboration에서는 Casual, Fully dressed up 레벨로 작성한다. OOD에서는 Design Model을 작성한다. Sequence Diagram을 그리고 그것을 바탕으로 Class Diagram을 그린다. # Domain Mod..
-
외장재 참고 - STO 리니어일상 끄적/집짓기 기록 2022. 9. 18. 15:37
애몰 6211이라는 건축가분께서 직접 지으신 본인의 집이다. 도심에 있는 주택이다보니 우리 집과는 사정이 좀 다르지만 참고할 만한 포인트가 몇 가지 보인다. 외관으로만 봐도 집에 곡선이 보이는데 글을 읽어보면 쉽지 않은 것 같다. 우리집은 쉽게 가자. 이 사진에서 두 가지가 마음에 드는데 하나는 외장재이다. "STO 리니어" 라고 되어있는데 찾아보니 대충 스타코와 비슷한데 독일의 다른 회사에서 만든 것이고 두께가 더 두꺼워서 외단열의 효과가 더 높은 것 같다. 다만 비용은 스타코보다는 더 비싼 것 같다. 마음에 드는 다른 한 가지는 쇼윈도인데 여기는 1층을 사무실로 써서 저렇게 하신 것 같다. 사무실이 아니라도 환기는 못하지만 채광과 풍광을 위해 저렇게 쇼윈도를 구성하는 것도 좋아보인다. 단독주택에서는 ..
-
내/외장재 참고 - 스타코, 마이크로 시멘트 토핑일상 끄적/집짓기 기록 2022. 9. 18. 15:00
프롬나드 제주 (PROMENADE JEJU)라는 곳인데 참고할 만한게 많이 보인다. 단독주택은 왜 스테이같은 곳이 잘 안보일까? 외부마감재는 "스터코 그래뉼"이라고 되어있는데 흔히 쓰는 스타코의 종류가 아닐까 싶다. 스타코가 벽돌, 석재, 세라믹 사이딩 등의 자재보다 싸다보니 우리나라에서는 "가성비" 소재로 인식되고 있다. 아이보리색이 국룰인데 흰색도 많이 볼 수 있다. 흔한 한국 스타일 단독주택에서 보던 스타코와는 느낌이 확실히 다르다. 지붕까지 스타코로 덮은 것 같은데 이게 가능한 줄 몰랐다. 물론 평지붕은 노노.. 징크지붕이 가성비가 좋은건 아는데 개인적으로 모양이 별로였는데 이런식으로 처리하니 예뻐보인다. 인테리어 디테일은 내 취향은 아니지만 벽의 질감이 마음에 든다. 벽체와 바닥 모두 "마이크로..
-
[OOP/UML] UP - Inception 단계Learn/OOP&UML 2022. 9. 18. 00:23
# 개요 보통 1주간 진행되는 짧은 단계로 아래의 질문들에 대해 생각해본다. What is the vision and business case for this project? Feasible? Buy and/or build? Rough unreliable range of cost: Is it $10K-100K or in the millions? Should we proceed or stop? 대부분 Brief format (3줄 정도) 수준으로 작성한다. # Artifacts 그렇게 많은 UML을 그리지 않는다. 필요한 만큼만 그린다. # Requirements 시스템을 만족하기 위한 Capabilities와 Conditions를 뜻한다. Requirement를 찾는 것을 Requirement analy..
-
[OOP/UML] OOAD, UP 기본 개념Learn/OOP&UML 2022. 9. 17. 22:55
# OOAD Object-Oriented Analysis (OOA)와 Object-Oriented Design(OOD)으로 구성 OOA: 요구사항을 도메인 모델(오브젝트)로 만드는 것 (usecase diagram) OOD: 소프트웨어 오브젝트를 정의하고(class diagram) 어떻게 커뮤니케이션을 할지 정의하는 것(sequence diagram) 모든 usecase에 대해서 sequence diagram을 그리고 그 후 class diagram을 그리는 것을 반복 # UML 3가지 레벨로 사용될 수 있음 Sketch: 13가지 uml을 아무거나 쓸 수 있고 조금 틀려도 커뮤니케이션만 잘 되면 오케이 (OOA) Blueprint: syntax, sementic이 정확해야 함. 틀리면 안됨. 디자인 단..
-
[Design Pattern] Adapter PatternLearn/Architecture 2022. 9. 4. 00:00
# 개요 서로 다른 인터페이스를 가진 클래스들이 같이 일할 수 있게 하기 위한 패턴 클라이언트는 자신의 요청이 어떤 adaptee로 가는지 알 필요가 없음 예시 adapter는 클라이언트의 요청이 들어오면 adaptee를 변환하여 처리해준다. public class TurkeyAdapter implements Duck { // adaptee Turkey turkey; public TurkeyAdapter (Turkey turkey) { this.turkey = turkey; } public void quack () { turkey.gobble (); } public void fly () { for (int i= 0; i < 5; i++) turkey.fly (); } } 아래와 같이 Adapter를 통해..