튜토리얼에도 고난과 역경이 있다.

소프트웨어 공학) CH01 소프트웨어의 이해 본문

나의 공부/Computer Science

소프트웨어 공학) CH01 소프트웨어의 이해

내가 Nega 2021. 3. 31. 21:43
728x90

Section 01 소프트웨어 공학 개요

프로그램

  • 원시코드(Source code)

소프트웨어

  • 원시코드 (Source code)
  • 모든 산출물(자료구조, DB구조, 테스트 결과 등)
  • 각 단계마다 생산되는 문서
  • 사용자 메뉴얼
  • 즉, 프로그램 뿐만 아니라 그 이상의 것도 포함하는 매우 포괄적인 개념

소프트웨어 분류

  • 관리 소프트웨어
    • 자료를 받아들여 가공한 후 정보를 제공하는소프트웨어
    • 인터넷 뱅킹 시스템, 대학의 종합 정보 시스템 등
  • 제어 소프트웨어
    • 각종 센서를 이용하거나 기기들의 동작을 제어하는 소프트웨어
    • 교통 신호 제어, 의료기기 제어 등
  • 임베디드 소프트웨어
    • 장비나 기기에 내장된 형태의 소프트웨어
    • 가전제품 내의 소프트웨어 등

소프트웨어의 특징

  • 제조가 아닌 개발
  • 소모가 아닌 품질 저하

H/W 실패 곡선

  • 욕조 곡선이라고도 함. ![Alt](.\Ch01 소프트웨어의 이해 15-35-30.png)

S/W 실패 곡선

  • 이상적인 S/W 실패 곡선 ![Alt](.\Ch01 소프트웨어의 이해 15-35-55.png)
  • 실제 소프트웨어 실패 곡선 ![Alt](.\Ch01 소프트웨어의 이해 15-36-15.png)

소프트웨어 당면 과제

1장 21pg 이후~

Section 02 공학과 소프트웨어 공학의 이해

공학이란?

  • SKIP

소프트웨어 개발 과정

  • 소프트웨어 개발 생명 주기 (SDLC : Software Development Life Cycle)
    • 계획 -> 분석 -> 설계 -> 구현 -> 테스트 -> 유지보수

Section 03 소프트웨어 개발 단계의 소개

소프트에어 개발 단계

  • 소프트웨어 개발 프로세스
    • 계획 -> 요구분석 -> 설계 -> 구현 -> 테스트 -> 유지보수
  • 종류
    • 주먹구구식 개발 모델
    • 선형 순차적 모델(폭포수 모델)
    • V모델
    • 진화적 프로세스 모델(프로토타입 모델)
    • 나선형 모델
    • 단계적 개발 모델
    • 통합 프로세스 모델
    • 애자일 프로세스 모델

계획/요구분석 단계

1단계 : 계획(3장)

  • 개발 비용 산정
    • COCOMO 모델, 기능점수(FP)모델 사용
  • 일정 계획
    • 작업 분할 구조도 (WBS), CPM 사용
  • 위험 관리

2단계 : 요구분석 (4장)

  • 기존 시스템의 문제점 파악 -> 새로운 요구사항 도출 -> 다이어그램 작성
  • 개발 방법론에 따른 표현 도구
    • 구조적 방법론 : DFD(자료 구조도), DD(자료 사전), Mini Spec(소단위 명세서)
    • 정보공학 방법론 : E-R 다이어그램
    • 객체지향 방법론 : UML의 유스케이스 다이어그램
  • 최종 산출물 : `요구 분석 명세서`

3단계 : 설계 (5-6장)

  • 설계 원리
    • 분할과 정복
    • 추상화
    • 단계적 분해
    • 모듈화
    • 정보은닉
  • 소프트웨어 아키텍처, 객체지향 설계
  • 아키텍처 스타일
  • GoF의 디자인 패턴
  • 모듈 평가 기준 : 응집도와 결합도

4단계 : 구현 (7장)

  • 표준 코딩 규칙

5단계 : 테스트 (8장)

  • 테스트의 절차
  • 개발자 또는 사용자 시각에 따른 분류
  • 사용되는 목적에 따른 분류
  • 품질 특성에 따른 분류
    • ISO/IEC 9000 모델
    • ISO/IEC 12207 모델 (System and Software Engineering - Software life cycle processes)
    • CMMI (Capability Maturity Model Integration)
    • ISO/IEC 15504 : SPICE (Software process Improvement and Capability dEtermination)
    • S/W프로세스 품질 인증 제도(SP인증)
  • 소프트웨어 개발 단계에 따른 분류
  • 품질관리
    • ISO/IEC 9126 모델 (Software Engineering - product quality)
    • ISO/IEC 14598 모델 (Information technology - Software product evaluation)
    • ISO/IEC 12119 모델 (Information technology - Software packages - Quality requirements and testing)
    • ISO/IEC 25000 모델 (Product Quality system)

6단계 : 유지보수 (10장)

  • 프로젝트 형상관리
  • 수정 유지보수
  • 적응 유지보수
  • 기능보강 유지보수
  • 예방 유지보수
반응형