소프트웨어 공학

소프트웨어 공학 - 4

momo0503 2021. 7. 22. 14:42

품질 평가 기준 항목

  • 정확성 : 사용자의 요구 기능을 충족시키는 정도
  • 신뢰성 : 요구된 기능을 오류없이 수행하는 정도
  • 효율성 : 요구된 기능을 수행하기 위한 시스템 능력, 필요한 자원의 소요 정도
  • 무결성 : 허용되지 않는 사용이나 자료의 변경을 제어하는 정도
  • 사용 용이성 : 쉽게 사용할 수 있는 정도
  • 유연성 : 새로운 요구사항에 맞게 얼마만큼 쉽게 수정할 수 있는가 하는 정도
  • 이식성 : 다양한 하드웨어 환경에서도 운용 가능하도록 쉽게 수정할 수 있는 정도
  • 재사용성 : 이미 만들어진 프로그램을 다른 목적으로 사용할 수 있는가 하는 정도
  • 상호 운용성 : 다른 소프트웨어와 정보를 교환할 수 있는 정도 

(최적화 X, 중복성 X, 간결성 X, 종속성 X, 복잡성 X)

 

 

품질 보증

소프트웨어 개발 결과가 요구 사항과 일치하는가를 확인하는 계획적이고 체계적인 방법.

 

정형 기술 검토 FTR(Formal Technical Review)

SW기술자들이 수행하는 대표적인 소프트웨어 품질보증활동

 

목적

  • 해당 요구사항과 일치하는지를 검증함.
  • 기능과 로직에 오류가 있는지를 확인함
  • 소프트웨어가 균일한 방식으로 개발되도록 함
  • 용이하게 관리하도록 함

지침사항 

  • 제품의 검토에만 집중하라
  • 논쟁과 반박을 제한하라
  • 문제영역. 의제를 명확히 표현하라
  • 참가자수를 제한하라 
  • 사전 준비를 강요하라
  • 각 제품에 대한 체크 리스트를 개발하라
  • 자원과 시간 일정을 할당하라 
  • 검토의 과정과 결과를 재검토하라 

(정적한 인력의 투입 확인은 X)

 

위험 관리

프로젝트 추진 과정에서 예상되는 각종 돌발 상황(위험)을 미리 예상하고 이에 대한 적절한 대책을 수립하는 일련의 활동 

 

위험 요소

  • 인력 부족 
  • 예산 관리
  • 일정 관리
  • 사용자 요구 변경
  • 유지보수 X 

위험은 불확실성과 손실을 내재 

 

 

형상 관리

소프트웨어 개발 과정에서 소프트웨어 생산물을 확인하고 소프트웨어 통제, 변경 상태 기록하고 보관하는 일련의 관리 작업

뭔가 버전 관리보다 포괄적인? 개념이랄까..?

 

  • 소프트웨어 변경의 원인을 알아내고 제어
  • 유지보수 단계에서 수행
  • 소프트웨어 개발의 전체 비용을 줄이고, 방해 요인을 최소화 하는것을 목적으로 한다.
  • 형상관리에서 중요한 기술 중의 하나는 버전 제어 기술

 

소프트웨어 형상 항목 

  • 정의 단계의 문서
  • 개발 단계의 문서와 프로그램
  • 프로그램 내의 자료 구조
  • 유지보수 단계의 변경사항 등

(소프트웨어 개발 비용 X, 소프트웨어 개발 인력 X)

 

 

 

 

요구 분석

사용자와의 면담이나 설문 조사, 각종 문서 검토 등을 통하여 사용자의 요구사항을 찾아냄

개발자와 사용자간의 지식이나 표현의 차이가 커서 상호 이해가 쉽지 않다.

(사용자의 요구는 예외가 없이 작업이 용이하다 X)

 

 

분석

자료 흐름도 Data FLow Diagram( DFD) 

  • 자료의 흐름을 기술하는 방법으로 버블 차트라고도한다.
  • 제어의 순서 흐름은 알 수 있지만 제어에 대한 정보는 알 수 없음.
  • 각각의 프로세스에 대하여 개별적인 상세화 및 계층화가 가능하다 
  • 구조적 분석 기법에 이용된다.

표기법

프로세스 process O 

자료의 흐름 Data Flow ->

자료 저장소 Data Store =

단말 terminator ㅁ

 

 

자료 사전 

표기법

  • 정의 =
  • 연결 +
  • 생략 ()
  • 선택 []
  • 반복 {}
  • 설명 * *

 

 

HIPO(Hierarchical Input Process Output)

하향식 소프트웨어 개발을 위한 문서화 도구 HIPO의 종류 

  • 가시적 도표 : 전체적인 기능과 흐름을 보여줌
  • 총체적 도표 : 입력, 처리, 출력에 대한 전반적인 정보를 제공
  • 세부적 도표 : 총체적 도표에 표시된 기능을 구성하는 기본 요소 상세히 기술

 

설계

요구사항 분석 단계에서 산출된 요구사항 명세서의 기능을 실현하기위한 알고리즘과 자료구조 등등을 문서화 하는단계

 

구조적 설계의 추상화 

기능 추상화, 제어 추상화, 자료 추상화

 

Fan in : 어떤 모듈을 제어하는 상위 모듈 수 , 한 노드로 들어오는 화살표 수

 

Fan out : 한 노드로 부터 나가는 화살표 수 

 

 

바람직한 설계

  • 독립적인 특성을 가진 모듈로 구성(통합 X)
  • 자료와 프로시저에 대한 분명한 표현과 분리되는 구조
  • 계층적 자료 조직이 제시, 내부 구조를 기술