CS/Software Engineering
-
[Software Engineering] Behavioral Modeling: 시스템의 내부 동작과 객체 협력 이해하기CS/Software Engineering 2025. 10. 27. 18:20
오늘은 Behavioral Modeling, 즉 시스템 내부의 동작과 객체 간 협력 관계를 모델링하는 방법을 살펴본다. 이 모델은 단순히 "무엇을 하는가"가 아니라, 시스템 내부의 객체들이 어떻게 협력하고 변화하는가를 보여주는 데 초점을 맞춘다. IntroductionBehavioral Model은 시스템 내부의 동작을 설명한다. 즉, 외부에서 보이는 기능이 아니라 내부 객체들이 서로 어떻게 협력하고 상태가 변하는지를 보여주는 모델이다.주요 유형Behavioral Model은 크게 두 가지로 나눌 수 있다. 첫째, Interaction Diagram은 Use Case로 식별된 프로세스의 내부 논리를 표현하며, 객체 간 메시지 교환을 보여준다. 둘째, State Machine은 시간의 흐름에 따라 객..
-
[Software Engineering] Structural Modeling: Class Diagram & Object DiagramCS/Software Engineering 2025. 10. 24. 23:34
Functional Modeling vs Structural Modeling 비교소프트웨어 설계는 보통 두 가지 관점에서 시스템을 이해한다.하나는 무엇을 하는가(Functional), 다른 하나는 무엇으로 구성되는가(Structural) 이다.초점(Focus)Functional Modeling- System의 동작(behavior)Structural Modeling- System의 구조(structure)핵심 질문“무엇을 해야 하는가?”“무엇으로 이루어져 있는가?”표현 대상기능(Functions), 프로세스(Process), 흐름(Flow)객체(Object), 클래스(Class), 관계(Relationship)대표 다이어그램Data Flow Diagram, Activity Diagram, State Di..
-
[Software Engineering] Functional Modeling 이해하기: Use Case와 Activity DiagramCS/Software Engineering 2025. 10. 8. 11:51
요구사항을 정의했다고 끝이 아니다. 이제 그 요구사항을 토대로 시스템이 어떻게 동작할지를 시각화해야 한다. 이 단계에서 등장하는 것이 바로 Functional Modeling(기능 모델링)이며, 그 핵심 도구가 Use Case Diagram과 Activity Diagram이다. Buisness Process and Use-case우리는 고객이나 다른 직군에게서 모으고 분석하고 정의된 요구사항(Requirement)을 받게 된다. 근데 텍스트로만 되어 있으면 한계가 명확하기 때문에 시각적 표현을 만들어서 더 이해하기 쉽게 하는 과정이다. 여기서 중요한 개념이 바로 비즈니스 프로세스(Business Process)와 유스케이스(Use-case)이다. 둘이 비슷해 보이지만 스케일이 다르다.Business P..
-
[Software Engineering] SDLC Analysis 단계 핵심: Requirements DeterminationCS/Software Engineering 2025. 10. 7. 12:57
Requirements Determination이 중요한 이유우리가 SDLC(Systems Development Life Cycle)를 따라 개발을 진행할 때, 제일 먼저 하는 단계가 Planning이고 그 다음이 Analysis이다. Requirements Determination(요구사항 도출)은 Analysis 단계의 핵심이다. 왜 이게 그렇게 중요할까? 시스템 실패의 50% 이상이 요구사항 문제에서 비롯된다. 이 단계는 가장 적은 비용으로 변경이 가능한 단계이고 , 여기서 방향을 잘 잡아야 프로젝트가 문제없이 완성될 수 있다. Requirements Determination 우리가 요구사항 도출(Requirements Determination)을 하는 궁극적인 목적은 Planning에서 넘어..
-
[Software Engineering] 시스템 개발 생명주기(SDLC)와 주요 방법론CS/Software Engineering 2025. 10. 6. 16:21
Systems Development Life Cycle (SDLC)SDLC는 모든 시스템 개발 프로젝트가 따르는 기본 프로세스이며 , 방법론은 SDLC를 구현하기 위한 정형화된 접근 방식입니다. SDLC는 일반적으로 4단계로 구성된다. 1. Planning (계획)주요 질문: 이 시스템을 왜 구축해야 하는가? 어떤 가치를 제공하는가? 구축에 얼마나 걸릴 것인가? (실제로 개발할지 결정하는 타당성 검증)주요 활동: 프로젝트 착수 (시스템 요청 개발/수신, feasibility analysis - 타당성 분석 수행), 프로젝트 관리 (작업 계획 개발, 인력 배치, 모니터링 및 통제).2. Analysis (분석)주요 질문: 누가 사용할 것인가? 시스템이 우리를 위해 무엇을 해야 하는가? 언제, 어디서 사용..