원형 패러다임에서 든 의문점 
: 미리 사전에 시스템에 대한 위험 개발을 최소화 할 수는 없을까? == 매 단계 체크해볼 수 없을까?

 그래서 나온게

나선형 패러다임(spiral)

  • 시스템 개발에 따른 위험 관리 최소화 목적
  • 폭포수 모델 장점 + 원형 패러다임 장점 + 위험분석
  • 나선을 돌며 점진적으로 완벽한 시스템 개발

나선형 패러다임의 4단계

  1. 계획 및 정의
  2. 위험 분석(단계마다 위험 분석을 한다)
  3. 개발
  4. 고객 평가

이러한 과정을 계속 반복한다

나선형 패러다임의 장점

  1. 비용과 시간이 오래 걸리는 큰 시스템 구축에 좋음
    : 초고속 정보통신망 개발, 큰 국책 사업, 대형 사업 등
  2. 성과를 보면서 조금씩 투자 :위험 부담을 줄일 수 있다

 

단점

  1. 개발 방법론이 복잡해서 프로젝트 관리가 어려워질 가능성이 높다
  2. 많은 고객을 상대해야 할 상업용 제품에 적용하기 힘들다
  3. 대형 프로젝트 위주라 많이 사용되지 않아 충분한 검증을 거치지 못한다

 

 

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

Agile Methodology(애자일 방법론)  (0) 2022.10.10
4세대 기법  (0) 2022.10.10
원형 패러다임  (0) 2022.10.06
폭포수 모델  (0) 2022.09.06
소프트웨어 공학 패러다임  (0) 2022.09.06

폭포수 모델의 단점을 보완한 패러다임

장점: 쉽고 빠른 시제품 개발(많은 응용 분야에서 사용된다)(규모는 크지 않다)

 

원형 패러다임의 주 내용은 시제품 개발

  1. 이전에 정의되지 않은 사용자의 요구사항을 구체적으로 구명한다
  2. 사용자와 시스템 간의 인터페이스에 초점을 맞춘다
  3. 피드백을 받은 후 시제품을 버리는 경우와 피드백 이후 계속 발전시켜
    완제품을 만드는 경우가 있다

 

시제품 개발을 함으로써 생기는 장점

  • 개발자, 사용자의 오해 규명
  • 새로운 기능과 서비스 발견
  • 모호한 기능의 명료화
  • 고품질의 시스템 요구사항 명세화 기초 제공

시제품을 보며 사용자가 이 부분에 이 내용을 조금 더 추가해주세요”, “이 인터페이스가 더 필요할 것 같습니다
같은 정확한 방향성을 제시할 수 있다

그만큼 기존에 만들어진 제품을 본다는 것은 중요한 것이다(우리로 따지면 포토폴리오)

 

원형 패러다임 진행 과정

  • 요구사항 분석
  • 시제품 설계
  • 시제품 개발
  • 고객의 시제품 평가
  • 시제품 정제
  • 완제품 생산

 

한계점

  • 시제품에서 완제품으로의 많은 변화 예상
  • 시스템의 극한 상황에 대한 어려운 성능 평가
  • 다른 시스템과의 쉽지 않은 교류

 

미리 사전에 시스템에 대한 위험 개발을 최소화 할 수는 없을까?

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

4세대 기법  (0) 2022.10.10
나선형 패러다임(sprial)  (0) 2022.10.09
폭포수 모델  (0) 2022.09.06
소프트웨어 공학 패러다임  (0) 2022.09.06
소프트웨어 공학 정의  (0) 2022.09.06

폭포수 모델이란?

  • 가장 오래되고 널리 사용되는 패러다임
  • 다른 공학에서도 많이 사용됨
  • 요구사항 분석, 설계, 구현, 시험, 유지보수 순서로 개발이 이루어짐
  • 개념 정립에서 구현까지 하향식 접근 방법을 사용해 높은 추상화 단계에서 낮은 추상화단계로 옮겨가는 모델
    (각 단계가 끝날 때 마다 과정의 끝을 알리고, 그 다음 단계로 진행)

장점

  • 프로젝트 진행 과정 세분화하여 관리가 용이

단점

  • 순환이 발생해 순차적인 흐름에 따라 개발 관리가 어렵다
  • 초기 요구사항에 대해 구체적 기술 어려움
  • 시스템이 작동되는지 후반부에 확인 할 수 있다 ==> 중요 문제점이 후반에 발견된다

 

해설

각 단계별로 테스팅을 한 후, 문제가 발생이 되면 요구내용을 다시 분석 후 재설계하는 과정으로 진행되야 함 
하지만, 폭포수의 경우 과정이 종료되면 바로 다음 과정으로 넘어가는 방식으로 진행
그로 인해 전단계에서 발생될 수 있던 요구문제가 해결이 되지 않은 상태로 넘어갈 수 있다는 단점이 있다

 

최종적으로는 가장 중요한 문제들이 후반에 발견되는 경우가 있기도 하다

 

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

나선형 패러다임(sprial)  (0) 2022.10.09
원형 패러다임  (0) 2022.10.06
소프트웨어 공학 패러다임  (0) 2022.09.06
소프트웨어 공학 정의  (0) 2022.09.06
소프트웨어 개발 6가지 공정 과정(2)  (0) 2022.09.05

소프트웨어 공학 패러다임이란?

  • 개발 방법, 개발 환경, 개발 관리 등이 포함된 것
  • 소프트웨어 공학 패러다임을 통해서 소프트웨어가 개발되고 있다

소프트웨어 공학 패러다임에 의해서 만들어진 개발 방법론 중 제일 대표적인 방법론 (4가지 패러다임)

  1. 폭포수 모델
  2. 원형 패러다임
  3. 나선형 모델
  4. 4세대 기법

 

결론
소프트웨어 시스템 개발 패러다임이란?

  • 높은 품질의 소프트웨어 시스템을 체계적으로 만들기 위해 필요한 방법, 개발 환경 및 관리에 대한 틀을 설정한다
 

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

원형 패러다임  (0) 2022.10.06
폭포수 모델  (0) 2022.09.06
소프트웨어 공학 정의  (0) 2022.09.06
소프트웨어 개발 6가지 공정 과정(2)  (0) 2022.09.05
소프트웨어 개발 6가지 공정 과정(1)  (0) 2022.09.05

소프트웨어공학이란?

소프트웨어 시스템의 개발, 운용, 관리에 적용되는 체계적인 접근 방법

 

소프트웨어 위기의 해결책

  • 문제에 대한 정확한 인식과 목표 필요
  • 문제 해결을 위한 방법과 과정 공유 필요

 

요약

1. 소프트웨어공학이란 체계적인 공법을 적용하여, 최적의 비용으로 고품질의 소프트웨어시스템을 개발하는 것

 

2. 소프트웨어 공학의 단일 목표는 높음 품질의 제품을 만드는 것

 

3. 사용자, 관리자, 개발자들이 가지는 오해가 많이 있다

 

4. 소프트웨어 개발은 기술적인 측면뿐만 아니라, 관리적인 측면에서 조직적으로 문제를 극복하고 품질을 향상시키려는 노력이 요구된다

 

5. 프로젝트에 참여한 모든 사람들이 문제점에 대한 정확한 인식과 목표를 가져야함

 

6. 관리자와 엔지니어들이 함께 체계적인 공법 과정을 이해하고 실천해야 함

 

구현 = 프로그래밍 = 코딩

프로그래밍 결과 : 컴퓨터 프로그래밍

(분석 및 설계에 비해 상대적으로 단순하고 기계적인 과정)

 

시험(Testing)

: 좋은 프로그램인지 확인하는 방법 

 

테스트 유형

  • 단위 테스트 
  • 통합 테스트
  • 시스템 테스트
  • 인수 테스트

 

유지보수

: 사용중 발생하는 변경사항의 적응과 변화에 대비

 

요지보수를 위한 체계적인 관리 필요

: 시스템 변경에 의한 요구분석, 재설계, 재시험, 관련된 문서의 수정, (유지보수도 무료는 아니다)

 

유지보수를 할 때 발생할 수도 있는 일

  • 사용자의 요구사항이 많아 모형구조가 전혀 다른 구조로 바뀔 수도 있다.
  • 이를 대비해기 위해 계약서 작성

결국 문서가 제일 중요하다

 

결론

SDLC(소프트웨어 개발 생명주기), 소프트웨어 개발 프로세스는

  1. 계획
  2. 요구사항
  3. 설계
  4. 구현
  5. 테스트
  6. 유지보수

6단계로 이루어져있다

 

이걸 다시 크게 3단계로 구분하면

  1. 정의
  2. 개발
  3. 유지보수 단계

로 구분할 수 있다

 

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

폭포수 모델  (0) 2022.09.06
소프트웨어 공학 패러다임  (0) 2022.09.06
소프트웨어 공학 정의  (0) 2022.09.06
소프트웨어 개발 6가지 공정 과정(1)  (0) 2022.09.05
시스템 공학  (0) 2022.09.05

소프트웨어 개발 6가지 공정 과정

계획 --> 요구사항 분석 --> 설계 --> 구현(프로그래밍) --> 시험(테스트) --> 유지보수

 

계획

: 프로젝트 계획, 문서 기술서 또는 제안서 작성

 

뭘 하든 문서가 있어야한다. (법적인 효력, 문서를 바탕으로 계약이 이루어진다)

(고객 : 제안요청서, 개발회사 : 제안서)

 

요구사항 분석

: 기능, 성능, 인터페이스 등의 요구사항

 

분석과정을 행하는 이유

: 저비용, 생산성 및 서비스 향상

 

분석을 안하고 요구사항대로 할 시 발생하는 일

: 기능이 많아진다 --> 기능이 많아진다 = 시간이 오래걸린다 = 공정과정이 길어진다 = 개발시간이 길어진다

==

비용이 더 들지 않기 위해서 분석을 하고, 그러기 위해 제안서를 작성하고, 제안서를 바탕으로 계약이 이루어진다

 

이러한 요구사항을 정리한 문서 = 요구사항 명세서(RP) = 요구사항 분석단계에서 만들어지는 산출물

자세한 기술을 요구할 필요는 없다. 무슨 기능을 수행할 것이냐 정도만 작성하면 된다

 

설계

: 자세하게 지술적으로 설명하는 분야

설계에서의 산출물 : 설계문서

 

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

폭포수 모델  (0) 2022.09.06
소프트웨어 공학 패러다임  (0) 2022.09.06
소프트웨어 공학 정의  (0) 2022.09.06
소프트웨어 개발 6가지 공정 과정(2)  (0) 2022.09.05
시스템 공학  (0) 2022.09.05

자연과학이란?

1. 자연의 법칙을 탐구

2. 근본적인 지식을 탐구

 

공학이란?

자연과학이 발견한 자연의 법칙을 응용하여 인류의 편익을 생산

 

과학지식의 응용 : 더 나은 삶을 추구

 

서로 상호보완&의존적인 관계 두 개를 합해서 과학기술이라고 부른다

 

과학 : 가장 근본적인 기초 분야

기술 : 인류를 위한 기술

 

시스템 공학

시스템이란?

인간의 욕구와 사회적 필요성에 의한 목적과 기능을 수행

특정한 요소들의 집합

예시 ) 사람, 컴퓨터 시스템 등

 

평가기준

1. 시스템의 목적에 근거

      1) 사용자가 요구하는 목표 정의

 

      2) 시스템의 제약 조건 정의

          성능 제약

          설계 제약

          인터페이스 제약

          정보 구조 제약

 

      3) 가치 평가기준

         성능, 시간, 비용, 신뢰성, 보전성, 안정성 등

 

      4) 평가요소

         기술적 측면 + 관리적 측면

 

+ Recent posts