소프트웨어는 프로그램+문서자료 이다.
💎소프트웨어의 특징
1) 손에 잡히지 않고 무형적이다.
2) 복제 및 대량생산을 하는데 돈이 들지 않는다.
3) 노동집약적이다. - 자동화의 어려움
4) S/W는 쉽게 변경 가능하다.
5) 잘 훈련 받지 않으면 S/W 제작이 어렵다.
6) S/W는 닳아 없어지지 않는다.
💎소프트웨어의 공급방식에 따른 구분
💎소프트웨어의 자료 처리 방식에 따른 구분
💎소프트웨어 공학이란??
구조나 기계, 시스템들을 생산하는 데 체계적인 방법을 적용하는 것 : 공학
이러한 공학적 원리를 소프트웨어 개발에 적용하는 것 : 소프트웨어 공학
💎(고객의 문제를 해결)해주기 위하여 💎(대규모의 품질 좋은 소프트웨어 시스템)을 (정해진 시간과 비용)으로
개발하거나 발전시키는 💎(체계적인 프로세스)
💎소프트웨어 공학의 목표 : 생산성과 품질
💎소프트웨어 공학의 주제 : 방법, 도구, 프로세스, 패러다임
💎시스템공학
1)임베디드시스템 - 소프트웨어는 단독으로 개발되지 않고 다른 요소에 탑재 되기 위해 개발되는 경우가 많음
2)소프트웨어시스템 - 소프트웨어만으로 구성된 시스템
3)시스템공학의절차
💎소프트웨어 품질은 무엇이고 이 품질을 결정하는 요소는 무엇인가?
품질이란 고객이 원하는 제품의 기능성
품질특성 - 서로상충 하기도함 하나를 올리면 하나가 내려감 조율필요
1) 사용용이성
2) 효율성
3) 신뢰성
4) 유지보수성
5) 재사용성
💎프로젝트는 무슨 유형이 있고, 중요한 작업은 무엇이 있다
유형
1) 새로운 시스템 개발
2) 진화유형
3) 컴포넌트 기반
💎소프트웨어 프로젝트에는 어떤 작업들이 있다
1) 요구분석
2) 설계
3) 모델링
4) 프로그래밍
5) 테스트
6) 품질보증
7) 프로젝트관리
💎객체지향 방식의 소프트웨어 개발방법과 다른 방법들의 차이는 무엇인가?
1) 객체와 객체 사이의 상호작용을 중시
2) 객체 지향 모델링과 설계언어
-Use Case Modeling
-UML
3) 객체지향 개발 프로세스
-반복적, 점증적 개발
-잦은 변경과 빠른 기술 발전
4) 객체 지향 방법론
-각 단계 작업 방법
💎소프트웨어공학의 핵심기술
1) 추상화
2) 프로토타이핑
3) 재사용
4) 측정
5) 도구와 통합환경