본문 바로가기

소프트웨어공학

처음 실행하는 작은 프로그램에서 검증과 릴리스까지, 한 프로젝트로 배우는 소프트웨어공학

이 교재는 프로그램을 처음 실행하는 사람도 왜 이 규칙을 만들었고 어떻게 규칙이 맞는지 확인하는지를 설명하도록 돕습니다. 독서 모임 신청이라는 작은 프로젝트에서 중복·정원·취소·마감을 결정하고 코드와 테스트, 저장과 복구까지 연결합니다.

JavaScript 문법과 실행 환경은 첫 문서에서 준비합니다. 웹 프레임워크나 PEIM 교재를 먼저 학습하도록 요구하지 않습니다. PEIM의 시험 준비와 별도로, 이 교재는 직접 읽고 실행하고 문제를 풀어 보는 CS 자습을 목적으로 합니다.

배우는 순서

학습 영역시작 문서직접 남기는 결과
준비와 개발의 대상1장실행한 작은 신청 프로그램·정책 메모
문제와 요구2장범위·수락 조건·변경 추적 표
사용자·상태 모델3장흐름·상태·화면 판단
모듈과 코드4장책임·인터페이스·검토 근거
테스트5장독립 오라클·경계·회귀 증거
개발 방식6장반복 목표·완료 조건·피드백
아키텍처와 패턴7장관점·대안·저장 경계 실험
계획과 위험8장작업 분해·추정 가정·위험 대응
품질과 유지보수9장품질 질문·측정·동작 보존 근거
변경과 전달10장기준선·로컬 복구·재구조화 기록

혼자 공부하는 방법

각 문서에서 실행 전에 결과를 예상하고 확인합니다. 문제는 예제의 숫자만 바꾼 반복이 아니라 새로운 정책·실패·제약을 판단하도록 구성했습니다. 먼저 자기 답을 적고 접힌 힌트와 해설을 열어 비교합니다. 틀렸을 때는 어떤 전제나 규칙을 놓쳤는지 설명합니다.

예제 묶음은 저장소의 dev-note/scripts/software-engineering-lab/에 있습니다. 직접 만드는 파일 경로는 실습 준비, 전체 core.mjs는 기능 요구에서 제공합니다. Node.js 24 계열과 내장 모듈을 사용하며 외부 패키지 설치가 필요하지 않습니다.

모임 데이터는 가상의 ID이며 예제는 한 프로세스와 작은 로컬 자료를 다룹니다. 인증·결제·동시 서버·실제 운영 배포는 범위를 넓힐 때 별도로 검증해야 합니다. 본문에서 관찰한 실행, 가상 계산, 아직 미검증인 환경을 구분해 읽습니다.

10장·32본문의 학습 순서는 원자료의 강의 횟수를 그대로 분할하지 않고 학습 목표와 프로젝트의 의존 관계에 맞추었습니다.

심화 연결: 동시 저장·복구 계약은 async 선수와 버전 충돌을, 기능점수의 기준과 계산은 사용자 경계·자료/거래 복잡도와 UFP를 다룹니다. 기능 규모, 코드 정확성, 저장 내구성을 서로 다른 근거로 읽습니다.

이 페이지 목차

이 페이지 목차