3학년 2학기 공부 과정/소프트웨어공학

00. 소프트웨어 공학 소개

환성 2022. 12. 16. 02:30
728x90

 

소프트 웨어의 발달

 

소프트 웨어의 발달의 추이

  • IT 발전(상품에서 소프트웨어가 차지하는 비중 커짐)
  • 웹 환경의 SW 수요 급증(E-commerce, Mobile network)
  • 복잡한 기능을 요구하는 SW
  • 임베디드 SW 수요 증가

 

소프트 웨어 공학이란?

Human based activity, but art, craft X

과학

  • 아카데믹 - 이상적인
  • 원자적인 크기
  • 완벽함에 대해 고민
  • SW 생산에 영향을 주는 현상 연구

 

엔지니어링

  • 실용적인 - 현실세계
  • 반복적인 일
  • 불완전에 대한 고민
  • 품질 좋은 SW를 효율적이며 경제적으로 개발

 

문제해결에 도움을 주는 요소

  • 방법/기술(Method)
    • 가이드 라인
  • 도구(Tools)
    • 자동화 시스템
  • 절차(Process)
    • 도움을 주는 미리 선택한 방법, 도구

소프트웨어 개발이 어려운 이유

  • 응용문제 자체의 어려움
  • 효과적인 의사교환 필요
  • 개발 과정이 순차적
  • 여러가지 제약 조건
  • 변경이 쉽지 X
  • 요구 품질의 상충

 

품질 좋은 소프트웨어 만들기

  • 도구와 기술을 사용하여 좋은 SW 개발하는 능력 향상(SW studio, Mentoring)
  • SW 엔지니어는 SW가 일정한 품질 수준을 만족한다는 것을 보일 수 있어야함 (Customer satisfaction)
  • SW 품질을 잘 이해하여야 함(Quality Assurance, Software Process)

 

소프트웨어 공학의 핵심

  • 대규모 프로그래밍을 다룸(Programming-in-large)
  • 문제와 솔루션이 복잡하여 팀 개발(Maturity Level)
  • 복잡도 다루기(Control Complexity)
  • 계속되는 진화
  • 개발 프로세스의 효율
  • 직, 간접 사용자를 효과적으로 지원

 

물리적 공학과 소프트웨어공학

  • 제품 생산의 비용이 주로 개발 과정에 소요
    • 한 번 개발하면 쉽게 대량 생산
  • SW는 물리적 부품 X
    • 제품 신뢰도 ⇒ 설계 과정에 의해 결정
    • 결함을 발견해 내는 테스트도 설계 과정에 집중
  • 가시성이 낮음
    • 제품 구조가 쉽게 드러나지 X
  • 설계와 구현이 연쇄적 X
    • 작은 오류 ⇒ 심각한 영향

 

'3학년 2학기 공부 과정 > 소프트웨어공학' 카테고리의 다른 글

05. 요구 모델링  (0) 2022.12.21
04. 요구 분석  (2) 2022.12.19
03. 프로젝트 계획과 관리  (0) 2022.12.19
02. 프로세스와 방법론  (0) 2022.12.19
01. 소프트웨어 공학 개요  (0) 2022.12.16