목록🍚전공이 밥 먹여준다믄 (35)
코드 위의 하루 (A Day on the Code)
소프트웨어 공학 수업 8장 요약by 박시연💡 구현이란?소프트웨어 구현은 설계한 내용을 바탕으로 실제 동작하는 프로그램을 만드는 작업이에요. 쉽게 말해, 설계도를 보고 건물을 짓는 단계라고 보면 돼요!1. 🧬 프로그래밍 언어의 역사주요 언어 요약언어특징포트란 (FORTRAN)최초의 고급 언어. 과학, 공학용으로 사용베이직 (BASIC)쉬운 문법으로 교육용에 적합C하드웨어와 가장 가까운 언어, OS 개발에도 많이 사용C++C 언어에 객체지향 개념 추가C#마이크로소프트의 객체지향 언어JavaJVM을 통해 어디서든 실행 가능! 플랫폼 독립적 2. ⚠️ 표준 코딩 규칙의 필요성왜 필요할까?가독성 향상: 코드를 더 쉽게 읽고 이해할 수 있어요유지보수 편리: 다른 사람이 만든 코드도 수정하기 쉬워요개발 시간 단축..
소프트웨어 공학 수업 7장 요약by 박시연✨ 디자인 패턴이란?디자인 패턴은 소프트웨어를 설계할 때 자주 등장하는 문제들을 쉽고 재사용 가능하게 해결할 수 있는 방법이에요!왜 필요할까?"비슷한 문제를 매번 처음부터 고민하지 않기 위해!"경험 많은 개발자들의 노하우를 모아놓은 설계 레시피라고 보면 돼요.누가 만들었을까?**GoF(Gang of Four)**라는 4명의 개발자가 정리했어요.종류는 크게 3가지!행위 패턴: 객체들의 상호작용과 책임 분산구조 패턴: 클래스와 객체를 조합해서 더 큰 구조 만들기생성 패턴: 객체를 어떻게 만들지 정하는 방식⚙️ 행위 패턴 (Behavioral Pattern)1. Strategy 패턴"기능이 자주 바뀐다면, 클래스로 분리하라!"상황 예시: 포켓몬 공격 기술이 자주 바뀌면..
1. 스택이란? 🍽️스택(Stack) 은 접시 쌓기처럼 나중에 들어온 데이터가 먼저 나가는 구조예요!정의: LIFO (Last In First Out)예시:웹 브라우저 뒤로가기 ⬅️편집기의 되돌리기 (Undo) ↩️함수 호출 스택 ⛓️가장 최근에 쌓인 게 먼저 나간다!2. 스택 구조와 연산 ⚙️✅ 주요 연산연산설명push(e)요소 e를 스택에 추가pop()스택의 맨 위 요소를 꺼냄peek()삭제 없이 맨 위 확인is_empty()스택이 비었는지 확인is_full()스택이 꽉 찼는지 확인 (배열 스택인 경우) 🧱 구조 그림[ ] ← 바닥 [ 30 ] [ 20 ] [ 10 ] ← top (가장 최근)3. 스택 구현 예제 (Python) 🐍class Stack: def __init__(self..
📌 과목 개요과목명: 컴퓨터 네트워크교재: 『컴퓨터 네트워크: 하향식 접근 (8판)』 - Kurose & Ross시험 범위: Chapter 1 전체 ~ Chapter 2.3절 + 리눅스 실습시험 스타일: 개념 정의, 프로토콜 흐름, 계층 구조, HTTP 동작 설명, 실습 결과 해석1장: 컴퓨터 네트워크와 인터넷의 개요✅ 인터넷이란?수많은 **호스트(종단 시스템)**가 서로 연결된 네트워크의 네트워크통신은 **패킷(packet)**이라는 데이터 단위로 이루어짐✅ 네트워크의 핵심 구성요소종단 시스템 (End System): 사용자의 컴퓨터, 스마트폰 등통신 링크 (Link): 유선/무선 회선라우터 (Router): 패킷을 목적지까지 전달하는 중간 장비프로토콜 (Protocol): 통신 규약 (ex: TCP..

📌 과목 개요과목명: 소프트웨어공학교재: 『쉽게 배우는 소프트웨어공학 2판』 - 김치수 저중간고사 범위: Chapter 1 ~ Chapter 6시험 스타일: 테스트 종류 구분, 검증 vs 확인 설명, 디버깅과의 차이 분석📚 Chapter 6 핵심 개념 요약1. 소프트웨어 테스트란?개발된 소프트웨어가 정상적으로 동작하는지 확인하고,오류나 결함을 찾아내는 과정품질 향상의 핵심 활동잘못된 동작을 찾는 것이 주 목적 (오류가 없음을 증명하려는 게 아님!)2. 테스트의 목적소프트웨어의 기능이 요구사항을 만족하는지 확인오류를 조기에 발견하고 수정제품의 신뢰성, 안정성 확보3. 테스트의 종류 (범위 기준)🔹 단위 테스트(Unit Test)개별 모듈/함수 단위 테스트보통 개발자가 직접 작성🔹 통합 테스트(Int..

📌 과목 개요과목명: 소프트웨어공학교재: 『쉽게 배우는 소프트웨어공학 2판』 - 김치수 저중간고사 범위: Chapter 1 ~ Chapter 6시험 스타일: 형상관리 정의, 변경관리 절차, 버전 관리 개념, 용어 비교 문제📚 Chapter 5 핵심 개념 요약1. 형상관리(SCM: Software Configuration Management)란?소프트웨어 개발 과정에서 **산출물(코드, 문서 등)**의 변경을 체계적으로 관리하는 활동→ 누가, 언제, 무엇을, 왜 바꿨는지 추적 가능하게 만드는 것이 핵심 목적 2. 형상관리의 주요 목적개발 산출물의 무결성 유지동시 작업 시 충돌 방지변경 내용 이력 관리 (버전 관리)개발 전반의 일관성 유지3. 형상관리 대상 (형상 항목)소스코드, 실행파일, 설계서, 요구..
📌 과목 개요과목명: 소프트웨어공학교재: 『쉽게 배우는 소프트웨어공학 2판』 - 김치수 저중간고사 범위: Chapter 1 ~ Chapter 6시험 스타일: 프로젝트 관리의 목적, WBS/간트 차트 작성 및 해석 문제📚 Chapter 4 핵심 개념 요약1. 프로젝트 관리(Project Management)란?프로젝트 목표 달성을 위해 작업을 계획·조직·통제하는 활동→ 일정, 비용, 인력 등 자원을 최적화하여 성공적으로 완료하는 게 목적 2.프로젝트 관리의 핵심 요소범위(Scope): 무엇을 할 것인가일정(Schedule): 언제 할 것인가비용(Cost): 얼마의 예산이 드는가품질(Quality): 얼마나 잘 만들어야 하는가→ 이 네 가지 요소는 서로 영향을 주고받음 (예: 일정이 늘면 비용도 늘어남)..
📌 과목 개요과목명: 소프트웨어공학교재: 『쉽게 배우는 소프트웨어공학 2판』 - 김치수 저중간고사 범위: Chapter 1 ~ Chapter 6시험 스타일: 요구사항 분류, 유스케이스 다이어그램 해석, 액터 관계 분석 문제📚 Chapter 3 핵심 개념 요약1. 요구사항 공학(Requirements Engineering)이란?사용자가 필요로 하는 기능과 조건을 명확하게 정의하고 문서화하는 과정→ 프로젝트 성공을 위해 가장 중요한 단계 중 하나 2. 요구사항의 분류🔹 기능 요구사항 (Functional Requirements)시스템이 무엇을 해야 하는지에 대한 설명예: 회원가입 기능, 결제 처리, 게시글 작성 등🔹 비기능 요구사항 (Non-functional Requirements)시스템이 어떻게 ..