본문 바로가기

전체 글

(105)
OOAD 구체화 보호되어 있는 글입니다.
OOPT 정리 보호되어 있는 글입니다.
CS) OOAD와 UML 개발 방식 1. OOAD(Object-Oriented Analysis and Design) 개요 • 객체지향 분석 및 설계는 소프트웨어를 객체 단위로 분석하고 설계하는 과정으로, 현실 세계의 개체(Entity)와 행위를 모델링하여 유지보수성과 확장성을 높인다.   1. OOA (Object-Oriented Analysis, 객체지향 분석) 개념요구사항을 분석하여 객체 모델을 도출하는 과정소프트웨어 개발의 초기 단계에서 문제 영역(Domain)을 분석하고, 사용자가 필요로 하는 기능과 객체 간의 관계를 정의한다.비즈니스 로직과 사용자의 요구사항을 명확히 모델링하는 것이 핵심 주요 특징Use-Case 중심 분석사용자의 요구사항을유스케이스 다이어그램으로 정리액터(Actor)와 유스케이스(Use-Case) 간의 관계 정의..
졸업프로젝트 보호되어 있는 글입니다.
CS) CASE, 럼바우 기법, 요구사항 모델링 1. CASE (Computer-Aided Software Engineering, 컴퓨터 지원 소프트웨어 공학) 소프트웨어 개발을 지원하는 자동화 도구분석, 설계, 구현, 테스트 등 소프트웨어 개발 과정을 지원요구사항 수집부터 유지보수까지 전체 소프트웨어 개발 라이프사이클(SDLC)에 걸쳐 사용됨  CASE 도구의 주요 기능시스템 모델링 (UML, 다이어그램 생성)코드 자동 생성 및 문서화프로젝트 관리 지원형상 관리(Configuration Management) 기능 제공  CASE 도구의 예시UML 모델링 도구: StarUML, Visual Paradigm형상 관리 도구: Git, SVN테스트 자동화 도구: Selenium, JUnit  2. 럼바우 기법 (Rumbaugh Method, OMT: Obj..
CS) 객체지향 설계 원칙과 OOAD 1. 객체지향 설계 원칙 ( SOLID ) 객체지향 프로그래밍 ( OOP )에서 유지보수성과 확장성을 고려한 설계 원칙으로 SOLID 원칙이 있다.S ( Single Responsibility Principle, 단일 책임 원칙 )한 클래스는 하나의 책임만 가져야 한다.책임이 많아질 경우 클래스를 분리하여 변경이 용이하도록 설계한다.O ( Open/Closed Principle, 개방-폐쇄 원칙 )기존 코드를 수정하지 않고 기능을 확장할 수 있어야 한다.인터페이스 또는 추상 클래스를 활용하여 다형성을 적용한다.L ( Liskov Substitution Principle, 리스코프 치환 원칙 )자식 클래스는 부모 클래스의 기능을 대체할 수 있어야 한다.상속 관계에서 부모의 동작을 보장하도록 설계한다.I (..
CS) 응집도 ( Cohesion ) 1. 응집도 ( Cohesion )란?응집도란 모듈 ( 클래스, 함수, 컴포넌트 등 ) 내부의 요소들이 서로 관련되어 있는 정도를 의미합니다.높은 응집도: 모듈이 하나의 명확한 목적을 가짐 → 유지보수성과 재사용성이 높아짐낮은 응집도: 여러 목적이 섞여 있어 유지보수와 재사용이 어려움 2. 응집도의 유형응집도는 낮은 수준 → 높은 수준으로 여러 가지 유형이 있습니다.유형설명우연적 응집 ( Coincidental Cohesion )관련 없는 기능들이 한 모듈에 우연히 포함됨논리적 응집 ( Logical Cohesion )비슷한 작업(예: 여러 포맷으로 출력)이 한 모듈에 포함됨시간적 응집 ( Temporal Cohesion )특정 시점(예: 초기화 과정)에서 실행되는 기능들이 포함됨절차적 응집 ( Proc..
CS) 데이터베이스 관계대수, 관계 함수, 정규화 1. 관계대수 ( Relational Algebra )관계대수는 관계형 데이터베이스에서 데이터를 조작하고 검색하는 수학적 연산 집합이다. 이를 통해 원하는 데이터를 효과적으로 추출할 수 있다.  1. 관계대수 연산순수 관계 연산 ( 기본 연산 )SELECT ( σ, 시그마 연산 ) : 조건을 만족하는 튜플 ( 행 )만 선택PROJECT ( π, 파이 연산 ) : 특정 속성( 열 )만 선택JOIN ( ⋈, 조인 연산 ) : 두 개의 릴레이션을 특정 조건으로 결합DIVISION ( ÷, 디비전 연산 ) : 특정 속성을 포함하는 부분집합을 찾는 연산일반 집합 연산합집합 ( ∪, UNION ) : 두 릴레이션을 합침 ( 중복 제거 )교집합 ( ∩, INTERSECT ) : 공통된 튜플만 선택차집합 ( -, DI..