소프트웨어 설계4 [소프트웨어 설계] Object-oriented programming 객체지향 (Object-oriented programming) 1️⃣객체지향 분석 비지니스를 객체, 속성 등의 개별 요소로 추상화 하는 기법 현실 세계의 대상체인 개체를 속성과 메소드로 결합하여 객체로 표현 개발 대상을 기능이 아닌 개체를 대상으로 하며 개체 간의 상호 관계를 모델링하는 방식 2️⃣객체지향 기법 집단화 is a part of 클래스 간의 구조적인 집약 관계 클래스 A는 클래스 B와 클래스 C로 구성된다 일반화 is a 클래스 간의 개념적인 포함 관계 자식 클래스 A는 부모 클래스 B의 일종이다 캡슐화 속성과 메소드는 하나로 묶여서 객체로 구성된다 추상화 공통 성질을 추출하여 슈퍼클래스로 구성한다 객체 중심의 안정된 모델을 구축 할 수 있으며 현실 세계를 자연스럽게 표현 2️⃣객체지향 개념.. 👩💻Programming 2022. 7. 29. [소프트웨어 설계] eXtreme Programming, XP 익스트림 프로그래밍 (eXtreme Programming, XP) 1️⃣익스트림 프로그래밍 사용자의 요구사항은 언제든지 변할 수 있음 고객과 직접 대면하며 요구사항을 이야기하기 위해 사용자스토리(User Story)를 활용할 수 있음 기존의 방법론에 비해 실용성(pragmatism)을 강조한 것이라고 볼 수 있음 소규모 개발 조직이 불확실하고 변경이 많은 요구를 접하였을 때 적절함 익스트림 프로그래밍을 구동시키는 원리는 상식적인 원리와 경험을 최대한 끌어 올리는 것 구체적인 실천 방법을 정의하고 있으며, 개발 무선 보다는 소스코드에 중점을 둠 XP 개발 과정에서의 사용자 스토리 고객의 요구사항을 간단하게 시나리오로 작성한 것 👩💻Programming 2022. 7. 29. [소프트웨어 설계] CASE (Computer Aided Software Engineering) CASE (Computer Aided Software Engineering) 소프트웨어 개발의 자동화 1️⃣ 원천 기술 구조적 기법 프로토타이핑 기술 자동프로그래밍 기술 정보 저장소 기술 분산 처리 기술 2️⃣ 주요 기능 소프트웨어 생명 주기 전 단계의 연결 모델 사이의 모순 검사 오류검증 자료 흐름도 등 다이어그램 작성 다양한 소프트웨어 개발 모형 지원 시스템 문서화 및 명세화를 위한 그래픽 지원 👩💻Programming 2022. 7. 29. [소프트웨어 설계] UML (Unified Modeling Language) UML (Unified Modeling Language) 1️⃣ 기본 구성 요소 사물(Things), 관계(Relationship), 다이어그램(Diagram) 2️⃣ 모델 1. 기능적 모델: 사용자 관점에서 시스템 기능을 표현하는 UML Use Case Diagram 사용 2. 정적 모델: 객체, 속성, 연관관계, 오퍼레이션의 시스템 구조를 표현하는 UML Class Diagram 사용 3. 동적 모델: 시스템 내부 동작을 표현하는 UML Sequence Diagram, State Diagram, Activity Diagram 사용 3️⃣ 관계 1. 연관 관계 Association: 한 사물의 객체가 다른 사물의 객체와 연결되는 has-a 관계 2. 의존 관계 Dependency: 한 사물의 명세서가 .. 👩💻Programming 2022. 7. 29. 이전 1 다음