목록🍚전공이 밥 먹여준다믄/📕 소프트웨어공학 (10)
코드 위의 하루 (A Day on the Code)
소프트웨어 공학 수업 13장 요약by 박시연🧠 "코딩"이란?코딩은 설계된 소프트웨어를 실제 동작하도록 만드는 일이에요!쉽게 말하면, 머릿속 아이디어와 종이 위 설계를 키보드로 옮기는 작업이에요.1. 🗂 프로그래밍 언어 유형언어 종류는 몇 개일까?700개 이상! 그 중에서 우리가 자주 쓰는 건 약 10~20개 정도예요.주요 언어들언어특징C / C++하드웨어 가까움, 속도 빠름Java플랫폼 독립적, 기업에서 많이 사용Python문법 간단, AI와 데이터 분야 인기JavaScript웹 개발의 핵심Go, R, Swift 등점점 활용도 상승 중! 2. ✅ 좋은 코드의 6가지 공통점① 가독성 (Readability)“한눈에 읽히는 코드가 좋은 코드!”변수명은 의미 있게들여쓰기와 줄 간격 잘 지키기너무 많은 내용..
소프트웨어 공학 수업 9장 요약by 박시연🧪 테스트란?**테스트(Test)**란?소프트웨어가 "제대로 동작하는지" 확인하는 과정이에요.테스트는 단순히 오류를 찾는 게 아니라, **"기능이 요구대로 잘 동작하는지 검증"**하는 단계예요!1. ✔️ 테스트의 목적정확성 검증: 올바른 결과를 내는지 확인신뢰성 확보: 시스템이 얼마나 안정적으로 작동하는지 확인오류 발견: 코드 속 숨어있는 버그를 미리 제거유지보수 용이성: 향후 수정해도 기존 기능이 잘 유지되도록!2. 🔎 테스트 종류테스트 구분설명단위 테스트(Unit Test)하나의 모듈 또는 함수 단위로 테스트통합 테스트(Integration Test)여러 모듈이 잘 연결되는지 확인시스템 테스트(System Test)전체 시스템을 대상으로 수행인수 테스트(A..
소프트웨어 공학 수업 8장 요약by 박시연💡 구현이란?소프트웨어 구현은 설계한 내용을 바탕으로 실제 동작하는 프로그램을 만드는 작업이에요. 쉽게 말해, 설계도를 보고 건물을 짓는 단계라고 보면 돼요!1. 🧬 프로그래밍 언어의 역사주요 언어 요약언어특징포트란 (FORTRAN)최초의 고급 언어. 과학, 공학용으로 사용베이직 (BASIC)쉬운 문법으로 교육용에 적합C하드웨어와 가장 가까운 언어, OS 개발에도 많이 사용C++C 언어에 객체지향 개념 추가C#마이크로소프트의 객체지향 언어JavaJVM을 통해 어디서든 실행 가능! 플랫폼 독립적 2. ⚠️ 표준 코딩 규칙의 필요성왜 필요할까?가독성 향상: 코드를 더 쉽게 읽고 이해할 수 있어요유지보수 편리: 다른 사람이 만든 코드도 수정하기 쉬워요개발 시간 단축..
소프트웨어 공학 수업 7장 요약by 박시연✨ 디자인 패턴이란?디자인 패턴은 소프트웨어를 설계할 때 자주 등장하는 문제들을 쉽고 재사용 가능하게 해결할 수 있는 방법이에요!왜 필요할까?"비슷한 문제를 매번 처음부터 고민하지 않기 위해!"경험 많은 개발자들의 노하우를 모아놓은 설계 레시피라고 보면 돼요.누가 만들었을까?**GoF(Gang of Four)**라는 4명의 개발자가 정리했어요.종류는 크게 3가지!행위 패턴: 객체들의 상호작용과 책임 분산구조 패턴: 클래스와 객체를 조합해서 더 큰 구조 만들기생성 패턴: 객체를 어떻게 만들지 정하는 방식⚙️ 행위 패턴 (Behavioral Pattern)1. Strategy 패턴"기능이 자주 바뀐다면, 클래스로 분리하라!"상황 예시: 포켓몬 공격 기술이 자주 바뀌면..

📌 과목 개요과목명: 소프트웨어공학교재: 『쉽게 배우는 소프트웨어공학 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)시스템이 어떻게 ..