
이 시리즈는 홍익대학교 소프트웨어공학 강의를 바탕으로 개인 학습을 위해 정리한 내용입니다. Chap 01에서는 소프트웨어의 정의, 특징, 그리고 분류에 대해 살펴봅니다

소프트웨어 프로세스의 개념과 필요성, 그리고 대표적인 프로세스 모델을 정리한 글입니다. 프로세스가 소프트웨어 개발에서 왜 중요한지 이해할 수 있습니다.

소프트웨어 프로젝트 관리와 계획 수립의 중요성, 개발 비용 산정 기법(COCOMO 81)을 중심으로 핵심 내용을 정리했습니다.

소프트웨어 요구 분석의 개념과 목적, 요구사항 추출·분석·확인 과정을 중심으로 핵심 내용을 정리했습니다.
요구 모델링이란? 고객과 개발자가 무엇이 개발되고 있는지에 동의하는 것을 주된 목적으로 요구 명세를 생성 시스템에 대한 형식적/준형식적 설명을 제공 작업결과인 명세는 고객과 개발자가 같은 의미로 이해되어야 한다. 요구 분석과 모델링의 차이 요구 모델링은 고객과 개발자가 무엇을 개발할 것인지를 같이 이해하고 동의하는 요구 명세를 생성하는 것이 목적이다....

소프트웨어 설계의 개념과 목적, 기본 구조 설계와 상세 설계, 그리고 주요 설계 원리를 중심으로 핵심 내용을 정리했습니다.
6장의 SOLID 개념관련 부록

6장에 추가 부록입니다.

소프트웨어 아키텍처의 개념과 역할, 주요 아키텍처 스타일 및 대표적인 디자인 패턴을 중심으로 핵심 내용을 정리했습니다.
교재외의 부록입니다.

소프트웨어 품질의 개념과 품질 특성, 품질 보증 및 품질 향상을 위한 핵심 내용을 정리했습니다.

사용자 중심의 UI 설계 원칙과 사용자 경험(UX), 인터페이스 설계 방법 및 주요 UI 설계 기법을 중심으로 핵심 내용을 정리했습니다.

소프트웨어 구현 단계에서의 코딩 원칙과 프로그래밍 스타일, 코드 품질 향상을 위한 핵심 내용을 정리했습니다.

소프트웨어 위기의 원인과 해결 방안, AI 코딩이 소프트웨어 개발에 미치는 영향과 소프트웨어공학의 역할을 정리했습니다.

Saga 패턴의 개념과 동작 방식, 분산 트랜잭션 처리 방법을 정리했습니다.

동시성의 개념과 다양한 동시성 모델, 병렬 처리 방식 및 동시성 제어 기법의 핵심 내용을 정리했습니다.

소프트웨어 유지보수의 개념과 종류, 유지보수 과정 및 효율적인 유지보수를 위한 핵심 내용을 정리했습니다.

애자일 개발 방법론과 DevOps의 개념, 개발 문화 및 지속적인 개발·배포를 위한 핵심 내용을 정리했습니다.

소프트웨어 테스트의 목적과 중요성, 테스트 단계 및 다양한 테스트 기법을 중심으로 핵심 내용을 정리했습니다.

JUnit을 활용한 단위 테스트 작성 방법과 테스트 자동화의 기본 개념 및 실습 과정을 정리했습니다.

Jenkins를 활용한 CI 환경 구축과 자동 빌드·테스트를 위한 기본 설정 및 실습 과정을 정리했습니다.

nGrinder를 활용한 성능 테스트 환경 구성과 부하 테스트 수행, 결과 분석 과정을 정리했습니다.

OpenClaw를 활용하여 나만의 LLM 에이전트를 구축하고, AI와 상호작용하는 프로세스를 구현하는 실습 내용을 정리했습니다.