Notice
Recent Posts
Recent Comments
코드 위의 하루 (A Day on the Code)
Chapter 1 정리 - 소프트웨어란 무엇인가? 본문
📌 과목 개요
- 과목명: 소프트웨어공학
- 교재: 『쉽게 배우는 소프트웨어공학 2판』 - 김치수 저
- 중간고사 범위: Chapter 1 ~ Chapter 6
- 시험 스타일: 서술형 위주, 개념 정의와 비교 설명, 다이어그램 이해 문제 등
📚 Chapter 1 핵심 개념 요약
1. 소프트웨어란?
- 하드웨어를 동작시키기 위한 명령어들의 집합
- 컴퓨터가 처리할 수 있도록 작성된 프로그램 + 데이터 + 문서를 포함
2. 소프트웨어의 종류
- 시스템 소프트웨어: 운영체제, 컴파일러, 디바이스 드라이버 등
- 응용 소프트웨어: 워드, 게임, 브라우저 등
- 임베디드 소프트웨어: 디지털 카메라, 전자레인지 등에 내장된 SW
3. 소프트웨어의 특징
- 무형성(Intangibility): 눈에 보이지 않음
- 복잡성(Complexity): 작은 오류도 큰 문제 발생
- 변화성(Volatility): 요구사항에 따라 자주 변경됨
- 개발과 유지보수 비용이 큼
4. 소프트웨어 공학이란?
제한된 자원(시간, 비용) 내에서 신뢰할 수 있고 유지보수 가능한 소프트웨어를 체계적이고 공학적인 방법으로 개발하는 학문
5. 소프트웨어 위기(Software Crisis)
-
-
- 1960년대 이후 소프트웨어가 점점 복잡해지면서
예산 초과, 일정 지연, 결함 발생 등의 문제가 심각해짐 - 해결 방안 → 소프트웨어공학의 등장
- 1960년대 이후 소프트웨어가 점점 복잡해지면서
-
💡 자주 나오는 시험 유형
- “소프트웨어 공학의 정의를 서술하시오”
- “소프트웨어의 특징 3가지 이상을 쓰고 설명하시오”
- “소프트웨어 위기의 의미와 해결 방안을 설명하시오”
🎯 교수님이 강조한 포인트
- "소프트웨어는 유지보수 비용이 크다는 점"
- "단순한 코딩이 아니라 체계적인 접근이 필요한 이유"
- "소프트웨어 위기와 그것이 공학의 필요성을 만든 배경"
📌 내 오답노트 & 복습 포인트
- 소프트웨어 정의에 “데이터”나 “문서”를 빼먹음
- “복잡성”과 “무형성”의 개념이 헷갈렸음
- 시스템 소프트웨어 vs 응용 소프트웨어 예시 혼동
📝 마무리 요약
- 소프트웨어는 눈에 보이지 않지만, 사회 모든 시스템을 움직이는 핵심
- 단순히 코드를 짜는 게 아닌, 복잡한 시스템을 관리하는 공학적인 사고방식이 중요
- 소프트웨어공학은 실패하지 않는 소프트웨어를 만들기 위한 체계적인 학문
📘 다음 편 예고
《전공이 밥 먹여준다믄 - 소프트웨어공학 Chapter 2 정리》
소프트웨어 생명주기와 개발 단계의 이해
'🍚전공이 밥 먹여준다믄 > 📕 소프트웨어공학' 카테고리의 다른 글
Chapter 6 정리 - 테스트와 디버깅, 소프트웨어 품질의 완성 (0) | 2025.05.12 |
---|---|
Chapter 5 정리 - 형상관리와 변경관리의 모든 것 (0) | 2025.05.12 |
Chapter 4 정리 - 프로젝트 관리, WBS, 간트 차트 쉽게 정리하기 (0) | 2025.05.12 |
Chapter 3 정리 - 요구사항과 유스케이스 다이어그램 쉽게 정리하기 (0) | 2025.05.12 |
Chapter 2 정리 - 소프트웨어 생명주기 완전 정복 (0) | 2025.05.12 |