Software Architect (25) 썸네일형 리스트형 [Software Architecture] RUP RUP (Rational Unified Process) 개요 RUP - 객체지향 개발 방법론 (2003년 IBM에 합병) Use Case를 기반으로 사용자의 요구사항을 기본으로 반복적이고 점진적인 개발 프로세스를 통해 시스템을 개발하는 UP(Unified Process) 프로세스 기반으로 Rational에서 만든 SW 개발 프로세스 모델 객체지향 프로젝트 수행에 맞도록 개발된 UML 기반의 객체지향 개발 방법론 RUP 특징 통합된 프로세스 Grady Booch의 OOAD (디자인에 강함) - 객체지향 분석과 설계를 위한 방법론 James Rumbaugh의 OMT (분석에 강함) - UML은 모델링 언어/ OMT는 객체 모델링 기법의 약자 -> UML의 전신으로 간주 Ivar Jacobson의 OOSE 방.. [Software Architecture] TOGAF TOGAF Model (The Open Group Architecture Framework) 엔터프라이즈 소프트웨어 개발을 위한 고급 프레임워크를 제공하는 엔터프라이즈 아키텍처 방식 참조 : https://www.ciokorea.com/news/37133 "세계 50대 기업 80%가 사용"··· TOGAF 관리 방법론을 아시나요? - CIO Korea TOGAF(The Open Group Architecture Framework)란 엔터프라이즈 소프트웨어 개발을 위한 고급 프레임워크를 제공하는 엔터프라이즈 아키텍처 방식이다. TOGAF는 체계적인 방식을 통해 개발 과정을 정리하는 www.ciokorea.com 개요 The Open Group에서 1995년 개발하여 사용 중 목적 전원이 합심할 수 있도록 .. [Software Architecture] SA 개요 - 추가 추가 고려해야할 사항 개요를 잘 작성해야 함 Business Context를 알아야 한다 IT가 Business를 leading하는 형태로 변모됨 (IT 기획 -> Business 기획으로 확대 됨) 요구사항은 사용자가 작성해야 함 (해외의 경우는..) 남의 일 처럼 개발자가 작성하고 요청받아서 다시 수정하고 ? 목적을 잘 파악해야 함 -> 이해당사자 파악을 통해서 파악 가능 변화 방향성 (요구사항 정리) 큰 Agenda를 잡고, 개별로 정리 예) 보고서의 Framework Mega process = AS-IS, Pre-Investment, Investment Execution, Post-Investment To-Be Directions (미래 방향성) Process (Structure + Operati.. [Sofrware Architecture] SA 개요 SW World Software가 Physical World에 존재하는 산업의 Value Chain을 먹고 있다 더보기 Amazon (1994.07.05) Netflix (1997.08.29) Google (1998.09.04) Tesla (2003.07.01) Facebook (2004.02.04) NAVER (1997.02월) Yanolja (2005년) Kakao (2006.12월) 배달의 민족 (2011.03.10) 토스 (2013.08월) 마켓컬리 (2015년) NVIDIA CEO Jensen Huang (2019.08) AI에 의한 코딩 자동화, AI가 웹사이트를 만든다 (MIT Technology Review) Software is eating the world, but AI is going.. [Software Architecture] SW 공학 SW 위기 SW 위기 = F.L.바우어 1968년 SW 공학 학회에서 사용 / 독일 가미시 규모의 대규모화, 복잡화 -> 개발비용 증대 HW 비용에 대한 SW 가격 상승폭 증가 유지보수 어려움 및 개발정체 현상 발생 신기술에 대한 교육 및 훈련 부족 -> 프로젝트의 성공 확률이 높지 않은 편임 - Success = be completed on-time & on-budget - Challenged = be completed and operational but over-budget, over the time estimate, and offers fewer features and function than originally specified -> 대형 프로젝트 일수록 성공보다 실패의 확률이 높게 나타남 SW .. [Design Pattern] Command / Strategy / State Pattern Command Pattern 개요 요청을 객체의 형태로 캡슐화하여 사용자가 보낸 요청을 나중에 이용할 수 있도록 매서드 이름, 매개변수 등 요청에 필요한 정보를 저장 또는 로깅, 취소할 수 있게 하는 패턴 커맨드를 수행할 수 있도록 하는 패턴 구현 방법 public class main { public static void show(Box box) { for (int i = 0; i < 10; i++) { if (box.getX() == i) System.out.print("#"); else System.out.print("_"); } } public static void main(String[] args) { Scanner sc = new Scanner(System.in); Box box = new Bo.. [Design Pattern] Flyweight pattern Flyweight Pattern 개요 동일/유사한 객체들 사이에 가능한 많은 데이터를 서로 공유하여 사용하도록 하여 메모리 사용량을 최소화 하는 패턴 [참고] 메모리를 절약하는 방법 1. 생성 시 자주 사용하는 부분을 떼어내어 공용 객체로 생성 2. 한번 생성한 객체는 다시 사용하지 않도록 저장 후 활용하는 방법 -> Flyweight Pattern 구현 방법 import java.util.HashMap; public class Main { public static void main(String[] args) { Factory fac = new Factory(); Tree[] trees = new Tree[100]; for (int i = 0; i < trees.length; i++) { // [1] t.. [Design Pattern] Observer Pattern Observer Pattern 개요 옵저버 또는 리스너라 불리는 하나 이상의 객체를 관찰 대상이 되는 객체에 등록 -> 관찰 대상 객체가 발생시키는 이벤트를 받아 처리 이벤트가 발생하면 각 옵저버는 Callback을 받음 활용사례 > 이벤트 기반 프로그래밍 코드 구현 import java.util.ArrayList; public class main { public static void main(String[] args) { Subject center = new Subject(); Observer ob1 = new ObserverA(); // [1] Observer ob2 = new ObserverB(); center.registerObservers(ob1); // [2] center.registerObs.. 이전 1 2 3 4 다음