Notice
Recent Posts
Recent Comments
Link
«   2025/04   »
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
Tags
more
Archives
Today
Total
관리 메뉴

josolha

요구사항 확인 본문

정보처리기사

요구사항 확인

josolha 2023. 3. 1. 06:41

(1)소프트웨어 생명 주기( Software Life Cycle)

  • 소프트웨어를 개발하기 위한 설계 운용 유지보수 등 과정을 각 단계별로 나눈 것.
  • 소프트웨어 개발 단계와 각 단계별 주요 활동, 그리고 활동의 결과에 대한 산출물로 표현.
  • 대표적인 생명 주기 모형
    • 폭포수 타입
    • 프로토타입 모형
    • 나선형 모형
    • 애자일 모형

폭포수 모형(Waterfall Model)

  • 이전 단계로 돌아갈 수 없다는 전제하 각 단계를 확실히 매듭짓고, 그 결과를 철저하게 검토하여 승인 과정을 검토하여 승인 과정을 거친 후에 다음 단계로 진행하는 개발 방법론
  • 가장 오래되고 가장 폭넓게 사용된 전통적인 소프트웨어 생명 주기 모형.
  • 고전적 생명 주기 모형이라고도 함.
  • 각 단계가 끝난 후에는 다음 단계를 수행하기 위한 결과물이 명확하게 산출되어야함

프로토 타입 모형(Prototype Model, 원형 모델)

  • 사용자의 요구사항 파악하기 위해 _실제 개발될 소프트웨어에 대한 견본품을 만들어 최종 결과물을 예측하는 모형
  • 견본품은 사용자와 시스템 사이의 인터페이스에 중점을 두어 개발한다.

나선형 모형(Spiral Model, 점진적 모형)

  • 나선을 따라 돌듯이 _여러 번의 소프트웨어 개발 과정을 거쳐 점진적으로 완벽한 최종 소프트웨어를 개발하는 모형
  • 보헴이 제안함.
  • 폭포수 모형과 프로토 타입 모형의 장점에 _위험 분석 기능을_ 추가한 모형
  • 누락 or 추가된 요구사항을 첨가 불가능, 유지보수 과정 필요 X
    • 4 가지 주요 활용 (암기  : 계 위 개 고)

나선형 모델 주요 활동

애자일 모형(Agile Model)

  • 고객의 요구사항 변화에 유연하게 대응할 수 있도록 일정한 주기를 반복하면서 개발하는 모형
  • 어느 특정 개발 방법론을 말하는게 아님, 고객과의 소통에 초점을 맞춘 방법론을 통칭함.
  • 폭포수와 대조적이다.(주기마다 생성되는 결과물에 대해 고객 평가와 요구를 적극적 수용해서)
  • 대표적인 개발 모형
    • (암기 : (기)(스)내는게 속상하면 (X)(L) (칸)에 주차해)
      스크럼(Scrum)
      XP(eXtreme Programing)
      칸반(Kanban)
      Lean
      기능 중심 개발(FDD; Feature Driven Develpoment)
  • 애자일 개발 4가지 핵심 가치( < 가 더 중요하다)
    -프로세스와 도구 < 개인과 상호 작용  
    -방대한 문서 < 실행되는 SW
    -계약협상 < 고객과 협업
    -계획<변화에 대응

 

  • 스크럼(Scrum)
    •  팀이 중심이 되어 개발의 효율성을 높이는 기법
    •  팀원 스스로가 팀을 구성, 개발 작업에 대한 모든 것을 스스로 해결

스크럼 팀
스크럼 개발 프로세스

  • 스크럼 개발 프로세스 (암기 : (계)는 (스)읍관 적으로 (일)일이 (검)사를 (회))
    • 스프린트 계획 회의 : 제품 백로그 중 이번 스트린트에서 수행할 작업을 대상 단기 일정 수립 회의
    • 스프린트 : 실제 개발 2~4주
    • 일일 스크럽 회의: 매일 15분 동안 점검 회의, 소멸 차트에 남은 작업 시간 표시
    • 스트린트 검토 회의 : 요구사항에 부합하는지 테스트
    • 스트린트 회고 : 규칙 준수 여부 및 개선할 점 확인, 기록

XP(eXtreme Programing)

  • 고객 요구사항에 유연하게 대응하기 위해 고객의 참여와 개발 과정의 반복을 극대화, 생산성 향상
  • 릴리즈(버전)의_ 기간을 짧게 반복하면서 고객 요구사항 반영에 대한 가시성을 높임
  • XP의 5가지 핵심 가치 (암기 : (피)(존)(의) (용기)는 (단)순)
    • 의사소통 (Communication)
    • 단순성 (Simplicity)
    • 용기 (Courage)
    • 존중 (Respect)
    • 피드백 (FeedBack)

XP 개발 프로세스
XP의 주요 실천 방법


(2) 현행 시스템 파악   (암기 : (구)(기)(인)에게 부탁 했더니 (아)(라)소 (하)(네))


(3) 개발 기술 환경 파악

  • 개발하고자 하는 소프웨어와 관련된 운영체제, 데이터 베이스 관리시스템, 미들웨어 등을
  • 선정할 때 고려해야 할 사항 기술, 오픈 소스를 사용할 때 주의해야 할 내용 제시
    • 운영체제
      • 컴퓨터 시스템의 자원을 효율적으로 관리, 사용자가 편리하고 효율적으로 사용 환경 제공하는 소프트웨어
      • 사용자와 하드웨어 간의 인터페이스로서 동작하는 시스템 (소프트웨어의 일종)
      • 운영체제 관련 요구사항 식별 시 고려 사항
        -가용성 , 성능, 기술 지원, 주변기기, 구축 비용
    • 데이터 베이스 관리 시스템( DBMS)
      • 사용자와의 데이터 베이스 사이에서 정보를 생성, 데이터 베이스 관리해주는 소프트웨어
      • 데이터의 종속성과 중복성의 문제를 해결하기 위해 제안된 시스템
      • DBMS 관련 요구사항 식별 시 고려 사항
        -가용성, 성능,기술지원,상호 호환성,구축비용
    • 웹 애플리케이션 서버(WAS)
      • 동적인 콘텐츠를 처리하기 위해 사용되는 미들웨어
      • 데이터 접근, 세션관리, 트랜젝션 관리 등을 위한 라이브러리를 제공
      • 주로 데이터 베이스 서버와 연동해서 사용함
      • 웹 애플리케이션 서버 관련 요구사항 식별 시 고려 사항
        -가용성, 성능,기술 지원, 구축비용
    • 오픈소스
      • 누구나 제한 없이 사용할 수 있도록 소스 코드를 공개한 소프트웨어
      • 오픈 소스 관련 요구사항 식별 시 고려 사항
        -라이선스 종류, 사용자 수, 기술의 지속 가능성 

(4) 요구사항

  • 소프트웨어가 어떤 문제를 해결하기 위해 제공하는 서비스에 대한 설명과 운영되는데 필요한 제약조건
  • 요구사항의 유형
    • 기능 요구사항 (Functional requirements)
      • 기능이나 수행과 관련된 요구 사항
      • 시스템의 입력이나 출력으로 무엇이 포함되어야 하는지 대한 사항
    • 비기능 요구사항 (Non-functional requirements)
      • 품질이나 제약사항과 관련된 요구 사항
    • 사용자 요구사항 (User requirements)
      • 사용자 관점에서 본 시스템이 제공해야 할 요구사항
    • 시스템 요구사항 (System requirements)
      • 개발자 관점에서 본 시스템 전체가 사용자와 다른 시스템에 제공해야 할 요구사항

(5) 요구사항 개발 프로세스

  • 개발 대상에 대한 요구사항을 체계적으로 도출하고 분석한 후 명세서에 정리한 다음 확인 및 검증하는 일련의 구조화된 활동
  • 요구사항 개발 프로세스가 진행되기 전에 타당성(평가) 조사가 선행 되야함. 
  • 요구사항 개발은 요구공학의 한 요소이다
    (암기 : 출 석 명 확 하게 해)

  • 요구 사항 도출(Requirement Eliciation)
    • 시스템 개발에 관련된 사람들이 서로 의견을 교환하여 요구사항을 어떻게 수집할 것인지를 식별하고 이해하는 과정 
  • 요구 사항 분석(Requirement Analysis)
    • 요구사항 중 명확하지 않거나 모호하여 이해되지 않는 부분을 발견하고 이를 걸러내기 위한 과정
    • 대표적인 도구
      1. 자료흐름도(DFD)
      2. 자료사전(DD)
  • 요구사항 명세(Requirement Specification)
    • 분석된 요구사항 바탕으로 모델을 작성하고 문서화하는 것을 의미함.
    • 기능 요구사항을 빠짐 없이 기술함
    • 비기능 요구사항은 필요한 것만 기술함.
    • 구체적인 명세를 위해 소단위 명세서(Mini-Spec)가 사용될 수 있다
    •  요구사항 명세 기법
구분 정형 명세 기법 비정형 명세 기법
기법 수학적 원리 기반, 모델 기반 상태/기능/객체 중심
작성기법 수학적 기호, 정형화된 표기법 일반 명사, 동사 등의 자연어를 기반으로 서술 또는 다이어그램으로 작성
특징 - 요구사항을 정확하고 간결하게 표현 가능
- 요구사항에 대한 결과가 작성자에 관계없이 일관성이 있으므로 완전성 검증이 가능함
- 표기법이 어려워 사용자가 이해하기 어려움
- 자연어의 사용으로 인해 요구사항에 대한 결과가 작성자에 따라 다를 수 있어 일관성이 떨어지고, 해석이 달라질 수 있음
- 내용의 이해가 쉬어 의사소통이 용이함
종류 VDM, Z, Petri-net, CSP 등 FSM, Decision Table, ER 모델링, State Chart(SADT) 등

 

  • 요구사항 확인(Requirement Validation)
    • 요구사항 명세서가 정확하고 완전하게 작성되었는지 검토하는 활동
    • 요구사항 관리 도구를 이용하여 요구사항 정의 문서들에 대해 형상관리(SCM)를 수행한다.
  • 요구공학(Requirement Engineering)
    • 요구공학은 무엇을 개발해야하는지 요구사항을 정의하고, 분석 및 관리하는 프로세스를 연구하는 학문