Software 공학4 Architecture Styles Batch Sequential Style 정의 데이터 흐름 아키텍처 스타일 시스템은 데이터 셋을 조작하고 순차적으로 실행되는 독립 컴포넌트로 구성됨 한 컴포넌트는 이전 컴포넌트가 완료되어야 다음이 시작됨 데이터는 컴포넌트 간에 whole batch로 전송됨 동기 여러 단계에서 데이터 셋을 조작해야 할 때 하나의 컴포넌트로 전체 기능을 처리하기 어려울 때 (컴포넌트들의 시퀀스에 대한 수요) 시스템을 재구성해야 할 때 컴포넌트를 쉽게 삽입, 제거 또는 재 정렬해야 할 때 Applicable Situation 독립적인 데이터 조작 컴포넌트로 구성된 시스템(즉, 데이터 조작 집약적인 시스템) 컴포넌트는 데이터 흐름의 순서에 따라 순차적으로 연결됨 (병렬 처리는 지원하지 않음) 전체 배치에서 컴포넌트에서 다음 컴.. 2022. 8. 1. Principles of SW Design SOLID Single-Responsibility Principle (SRP) : 단일 책임 원칙 정의 : 작성된 클래스는 하나의 기능만 가지며 클래스가 제공하는 모든 서비스는 그 하나의 책임을 수행하는데 집중되어야 한다는 원칙 장점 : 책임을 적절히 분배함으로써 코드의 가독성 향상, 유지보수 용이, 응집도는 높아지고 결합도는 낮아짐 단점 : 하나의 책임이라는 게 모호할 수 있음 Open-Closed Principle (OCP) : 개방 폐쇄 원칙 정의 : 소프트웨어의 구성요소(컴포넌트, 클래스, 모듈, 함수)는 확장에는 열려있고, 변경에는 닫혀있어야 한다는 원리 장점 : 기존 구성요소를 쉽게 확장하여 재사용 가능, OCP를 가능케 하는 중요 메커니즘은 추상화와 다형성, 객체지향의 장점을 극대화하는 가장.. 2022. 7. 28. OO Analysis & Design OOA - 문제 영역에서 객체나 개념들을 찾아서 기술하는데 중점 Use Case 정의, Domain Model (개념, 속성, 관계등을 식별) OOD - 소프트웨어 객체를 정의한다. - 요구 사항을 만족시키기 위해 어떻게 협동하는지에 중점을 둔다. - 협동은 메소드 호출을 통해서 이루어진다. - 어떤 객체들이 어떤 동작을 할 것인지, 클래스에게 어떤 책임을 할당할 것인가를 다룸 - 객체들이 어떻게 상호작용하는지, 메소드의 호출 순서와 방법 Sequence Diagram, Class Diagram 정의 구현을 위해 "요구사항"들을 "어떻게 구체화할 것인가"를 서로 연결하는 작업 OOA/D에서 가장 중요한 능력은 객체지향 분석 및 설계기술 - UML(Unified Modeling Language) 적용 - .. 2022. 7. 27. OOP Concepts Procedural Programing vs Object Oriented Programming Procedural Programing 프로시저 호출의 개념을 바탕으로 하고 있는 프로그래밍 패러다임으로 프로그램이 프로시저를 이용해서 위에서 아래로 순서대로 수행되는 개발 방법입니다. 대표적으로 C언어가 있습니다. 절차지향언어의 장점 1. 실행 속도가 빠르다. (컴퓨터의 처리방식과 유사) 절차지향언어의 단점 1. 유지보수가 어렵고 시간이 많이 소모된다. 2. 실행 순서가 정해져 있으므로 코드의 순서가 바뀌면 동일한 결과를 보장하기 어렵다. Object Oriented Programing 객체지향이란 실제 세계를 모델링하여 소프트웨어를 개발하는 방법입니다. 객체지향 프로그래밍은 기능과 논리보다는 데이터 또는 객.. 2022. 7. 26. 이전 1 다음 300x250