소프트웨어 공학 Orientation

Alpha, Orderly·2023년 3월 3일
0

소프트웨어 공학

목록 보기
1/9

소프트웨어

- 프로그램과 이의 개발, 운용, 수정, 기능확장을 위한 모든 정보

- 프로그램의 동적인 의미

프로그램 : 형식언어(Formal Language)로 표현된 지적 구축물


특징

  1. 비가시성
  • 구조가 외부에 보이지 않고 코드에 내재되어 있다.
  1. 복잡성
  • 개발과정이 복잡하다.
  1. 순응성
  • 사용자 요구나 환경변화에 적절히 변형 가능하다.
  1. 복제 가능성
  • 적은 비용으로 복제가 가능하다.
  1. 테스팅 어려움
  • 사용되는 경우의 수가 너무 많다.
  1. 변경 가능성
  • 기능이 변경될수 있음을 유념해야 한다.

소프트웨어 개발과정의 문제

  1. 예산 초과
  2. 개발 일정 지연
  3. 성능 불충분
  4. 품질 신뢰 어려움
  5. 유지 보수 어려움
  6. 유지 보수 비용 비쌈

소프트웨어 위기

  • 소프트웨어 수요는 급증하였으나 생산성과 생산기술은 이에 미치지 못함

소프트웨어 공학

  • 품질 좋은 소프트웨어를 최소의 비용으로 계획된 일정에 맞추어 개발하기 위해,
    여러 공학적 원리와 방법을 체계적으로 적용하는 것

Planning >> Analyze >> Design >> Implementation


여러가지 소프트웨어 개발 프로세스들

Waterfall

  • 1년 이상 시간 소요
  • 연구기관, 방위산업체

Parallel

  • Waterfall의 단점 보완
  • 여러 팀이 필요하다.

Phased Development-based

  • 우선순위에 따라 단계발 개발, 이후 리팩터링 필요함.
  • 처음 개발 방향과 달라질수 있음
  • 스타트업

Protoyping / Throwaway

  • 요구사항이 구체적이지 않거나 없을때 시제품을 만들어가며 보완
  • 시제품이 완료되면 그제서야 개발 시작
  • 스타트업
profile
만능 컴덕후 겸 번지 팬

0개의 댓글