Notice
Recent Posts
Recent Comments
Link
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
Archives
Today
Total
관리 메뉴

dongdorodongdong

Software Engineering 본문

Software Engineering

Software Engineering

d5ngs 2019. 4. 13. 20:12
Software
  • 정의
    H/W를 동작시켜 사용자가 작업을 편리하게 수행하도록 하는 프로그램과 자료구조 등을 총칭
    - 프로그램의 개발, 운용 및 유지보수에 관련된 모든 문서와 정보

  • 특징
    - 상품성
    - 견고성
    - 복잡성
    - 순응성
    - 비가시성
    - 비마모성
    - 비제조성
    - 비과학성


Software Engineering

  • 정의
    - 가장 경제적, 신뢰도 높은 S/W를 만들기 위한 방법
    도구와 절차들을 체계화 한 학문
    코딩이 아니라 프로그램을 잘 만드는 방법을 연구
    S/W의 제작부터 운영까지 생산성을 높이기 위해 기술적, 인간적인 요소에 대한 방법론을 제공
    - S/W의 개발, 운용, 유지보수, 폐기 처분에 대한 체계적인 접근 방안
    - 과학 지식을 S/W 설계와 제작에 응용하는 것이며 이를 개발, 운용, 유지보수하는 데 필요한 문서 작성 과정

  • 목표
    - 투자 대비 성능 우수


S/W 개발 절차
  1. 요구 분석
    - 분석 도구를 통해 어떻게 만들어 줄지 고민

  2. 설계
    - 설계 기법을 통해 구체적인 기능과 구조를 체계화

  3. 구현
    - 프로그램 언어를 선정하고 코딩

  4. 테스트
    - 테스트 기법을 통해 요구사항에 맞게 작동하는지 테스트

  5. 유지보수
    - 버전 업데이트 및 새로운 기능 추가



위기 현상

  • 정의
    - SW에 대한 다양한 요구, 납기 등을 개발 생산성이 따라가지 못 하는 현상
    - SW개발속도 < HW개발속도
    - Software Engineering이 나타나게 된 배경

  • 원인
    - SW 특성에 대한 이해 부족
    - SW 관리 부재
    - 프로그래밍에만 치중
    - SW 개발 기술에 대한 교육 부족

  • 결과
    - 개발 인력의 부족
    - 개발기간 지연 및 비용 증가
    - 성능 및 신뢰성 부족
    - 품질 저하
    - 유지보수의 어려움
    - 신기술에 대한 교육과 훈련의 부족


좋은 S/W의 조건
  • 알아보기 쉬어야 함
  • 경제적, 문서화가 잘 되어 있어야 함
  • 독창적X


기본 원칙
  • 현대적인 프로그래밍 기술 적용
  • 지속적인 검증 시행
  • 결과에 대한 명확한 기록 유지
  • 충분한 인력 투입은 X



시스템

  • 정의
    - 목적, 목표 달성을 위해 여러 가지 상호 관련된 요소들을 유기적으로 결합한 것

  • 구성요소
    - Input
    - Output
    - Control
    "자료를 입력하여 출력될 때까지의 처리 과정이 올바르게 진행되는지 감독"
    Feedback
    "출력된 결과가 예정된 목표를 만족시키지 못할 경우 목표 달성을 위해 반복 처리"